Tue, 06 Jan 2015 21:39:09 +0100
Conditionally force memory storage according to privacy.thirdparty.isolate;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2 <html>
3 <head>
4 <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
5 <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
6 <title>http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLCollection04</title>
7 <link type="text/css" rel="stylesheet" href="/tests/SimpleTest/test.css">
8 <script src="/tests/SimpleTest/SimpleTest.js" type="text/javascript"></script>
9 <script src="DOMTestCase.js" type="text/javascript"></script>
10 <script type="text/javascript">
11 // expose test function names
12 function exposeTestFunctionNames()
13 {
14 return ['HTMLCollection04'];
15 }
17 var docsLoaded = -1000000;
18 var builder = null;
20 //
21 // This function is called by the testing framework before
22 // running the test suite.
23 //
24 // If there are no configuration exceptions, asynchronous
25 // document loading is started. Otherwise, the status
26 // is set to complete and the exception is immediately
27 // raised when entering the body of the test.
28 //
29 function setUpPage() {
30 setUpPageStatus = 'running';
31 try {
32 //
33 // creates test document builder, may throw exception
34 //
35 builder = createConfiguredBuilder();
37 docsLoaded = 0;
39 var docRef = null;
40 if (typeof(this.doc) != 'undefined') {
41 docRef = this.doc;
42 }
43 docsLoaded += preload(docRef, "doc", "collection");
45 if (docsLoaded == 1) {
46 setUpPage = 'complete';
47 }
48 } catch(ex) {
49 catchInitializationError(builder, ex);
50 setUpPage = 'complete';
51 }
52 }
56 //
57 // This method is called on the completion of
58 // each asychronous load started in setUpTests.
59 //
60 // When every synchronous loaded document has completed,
61 // the page status is changed which allows the
62 // body of the test to be executed.
63 function loadComplete() {
64 if (++docsLoaded == 1) {
65 setUpPageStatus = 'complete';
66 runJSUnitTests();
67 SimpleTest.finish();
68 }
69 }
72 /**
73 *
74 HTMLCollections are live, they are automatically updated when the
75 underlying document is changed.
77 Create a HTMLCollection object by invoking the rows attribute of the
78 first TABLE element and examine its length, then add a new row and
79 re-examine the length.
81 * @author NIST
82 * @author Rick Rivello
83 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-40057551
84 */
85 function HTMLCollection04() {
86 var success;
87 if(checkInitialization(builder, "HTMLCollection04") != null) return;
88 var nodeList;
89 var testNode;
90 var rowLength1;
91 var rowLength2;
92 var rowsnodeList;
93 var newRow;
94 var vrowindex;
95 var doc;
96 var result = new Array();
98 expectedResult = new Array();
99 expectedResult[0] = 4;
100 expectedResult[1] = 5;
103 var docRef = null;
104 if (typeof(this.doc) != 'undefined') {
105 docRef = this.doc;
106 }
107 doc = load(docRef, "doc", "collection");
108 nodeList = doc.getElementsByTagName("table");
109 assertSize("Asize",1,nodeList);
110 testNode = nodeList.item(0);
111 rowsnodeList = testNode.rows;
113 rowLength1 = rowsnodeList.length;
115 result[result.length] = rowLength1;
116 newRow = testNode.insertRow(4);
117 rowLength2 = rowsnodeList.length;
119 result[result.length] = rowLength2;
120 assertEqualsList("rowIndexLink",expectedResult,result);
122 }
124 </script>
125 </head>
126 <body>
127 <h2>Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLCollection04</h2>
128 <p><test name='HTMLCollection04' schemaLocation='http://www.w3.org/2001/DOM-Test-Suite/Level-1 dom1.xsd'><br> <metadata><br> <title>HTMLCollection04</title>
129 <br> <creator>NIST</creator>
130 <br> <description>
131 HTMLCollections are live, they are automatically updated when the
132 underlying document is changed.
134 Create a HTMLCollection object by invoking the rows attribute of the
135 first TABLE element and examine its length, then add a new row and
136 re-examine the length.
137 </description>
138 <br> <contributor>Rick Rivello</contributor>
139 <br> <date qualifier='created'>2002-05-01</date>
140 <br> <subject resource='<a href="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-40057551">http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-40057551</a>'/>
141 <br></metadata><br> <var name='nodeList' type='NodeList'/><br> <var name='testNode' type='Node'/><br> <var name='rowLength1' type='int'/><br> <var name='rowLength2' type='int'/><br> <var name='rowsnodeList' type='HTMLCollection'/><br> <var name='newRow' type='HTMLElement'/><br> <var name='vrowindex' type='int'/><br> <var name='doc' type='Document'/><br> <var name='result' type='List'/><br> <var name='expectedResult' type='List'><br> <member/><br> <member/><br> </var><br> <load var='doc' href='collection' willBeModified='true'/><br> <getElementsByTagName interface='Document' obj='doc' var='nodeList' tagname='"table"'/><br> <assertSize collection='nodeList' size='1' <a id="Asize">id='Asize'</a>/><br> <item interface='NodeList' obj='nodeList' var='testNode' index='0'/><br> <rows interface='HTMLTableElement' obj='testNode' var='rowsnodeList'/><br> <length interface='HTMLCollection' obj='rowsnodeList' var='rowLength1'/><br> <append collection='result' item='rowLength1'/><br> <insertRow interface='HTMLTableElement' obj='testNode' var='newRow' index='4'/><br> <length interface='HTMLCollection' obj='rowsnodeList' var='rowLength2'/><br> <append collection='result' item='rowLength2'/><br> <assertEquals actual='result' expected='expectedResult' <a id="rowIndexLink">id='rowIndexLink'</a> ignoreCase='false'/><br></test><br>
142 </p>
143 <p>
144 Copyright (c) 2001-2004 World Wide Web Consortium,
145 (Massachusetts Institute of Technology, Institut National de
146 Recherche en Informatique et en Automatique, Keio University). All
147 Rights Reserved. This program is distributed under the W3C's Software
148 Intellectual Property License. This program is distributed in the
149 hope that it will be useful, but WITHOUT ANY WARRANTY; without even
150 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
151 PURPOSE.
152 </p>
153 <p>See W3C License <a href="http://www.w3.org/Consortium/Legal/">http://www.w3.org/Consortium/Legal/</a>
154 for more details.</p>
155 <iframe name="doc" src="files/collection.html"></iframe>
156 <br>
157 </body>
158 </html>