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/HTMLTableElement21</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 ['HTMLTableElement21'];
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", "table");
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 The deleteTHead() method deletes the header from the table.
76 The deleteTHead() method will delete the THEAD Element from the
77 second TABLE element. First make sure that the THEAD element exists
78 and then count the number of rows. After the THEAD element is
79 deleted there should be one less row.
81 * @author NIST
82 * @author Rick Rivello
83 * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-38310198
84 */
85 function HTMLTableElement21() {
86 var success;
87 if(checkInitialization(builder, "HTMLTableElement21") != null) return;
88 var nodeList;
89 var rowsnodeList;
90 var testNode;
91 var vsection1;
92 var vsection2;
93 var vrows;
94 var doc;
95 var result = new Array();
97 expectedResult = new Array();
98 expectedResult[0] = 4;
99 expectedResult[1] = 3;
102 var docRef = null;
103 if (typeof(this.doc) != 'undefined') {
104 docRef = this.doc;
105 }
106 doc = load(docRef, "doc", "table");
107 nodeList = doc.getElementsByTagName("table");
108 assertSize("Asize",3,nodeList);
109 testNode = nodeList.item(1);
110 vsection1 = testNode.tHead;
112 assertNotNull("vsection1Id",vsection1);
113 rowsnodeList = testNode.rows;
115 vrows = rowsnodeList.length;
117 result[result.length] = vrows;
118 testNode.deleteTHead();
119 vsection2 = testNode.tHead;
121 rowsnodeList = testNode.rows;
123 vrows = rowsnodeList.length;
125 result[result.length] = vrows;
126 assertEqualsList("rowsLink",expectedResult,result);
128 }
130 </script>
131 </head>
132 <body>
133 <h2>Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement21</h2>
134 <p><test name='HTMLTableElement21' schemaLocation='http://www.w3.org/2001/DOM-Test-Suite/Level-1 dom1.xsd'><br> <metadata><br> <title>HTMLTableElement21</title>
135 <br> <creator>NIST</creator>
136 <br> <description>
137 The deleteTHead() method deletes the header from the table.
139 The deleteTHead() method will delete the THEAD Element from the
140 second TABLE element. First make sure that the THEAD element exists
141 and then count the number of rows. After the THEAD element is
142 deleted there should be one less row.
143 </description>
144 <br> <contributor>Rick Rivello</contributor>
145 <br> <date qualifier='created'>2002-05-02</date>
146 <br> <subject resource='<a href="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-38310198">http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-38310198</a>'/>
147 <br></metadata><br> <var name='nodeList' type='NodeList'/><br> <var name='rowsnodeList' type='HTMLCollection'/><br> <var name='testNode' type='Node'/><br> <var name='vsection1' type='HTMLTableElement'/><br> <var name='vsection2' type='HTMLTableElement'/><br> <var name='vrows' 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='table' willBeModified='true'/><br> <getElementsByTagName interface='Document' obj='doc' var='nodeList' tagname='"table"'/><br> <assertSize collection='nodeList' size='3' <a id="Asize">id='Asize'</a>/><br> <item interface='NodeList' obj='nodeList' var='testNode' index='1'/><br> <tHead interface='HTMLTableElement' obj='testNode' var='vsection1'/><br> <assertNotNull actual='vsection1' <a id="vsection1Id">id='vsection1Id'</a>/><br> <rows interface='HTMLTableElement' obj='testNode' var='rowsnodeList'/><br> <length interface='HTMLCollection' obj='rowsnodeList' var='vrows'/><br> <append collection='result' item='vrows'/><br> <deleteTHead obj='testNode' interface='HTMLTableElement'/><br> <tHead interface='HTMLTableElement' obj='testNode' var='vsection2'/><br> <rows interface='HTMLTableElement' obj='testNode' var='rowsnodeList'/><br> <length interface='HTMLCollection' obj='rowsnodeList' var='vrows'/><br> <append collection='result' item='vrows'/><br> <assertEquals actual='result' expected='expectedResult' <a id="rowsLink">id='rowsLink'</a> ignoreCase='false'/><br></test><br>
148 </p>
149 <p>
150 Copyright (c) 2001-2004 World Wide Web Consortium,
151 (Massachusetts Institute of Technology, Institut National de
152 Recherche en Informatique et en Automatique, Keio University). All
153 Rights Reserved. This program is distributed under the W3C's Software
154 Intellectual Property License. This program is distributed in the
155 hope that it will be useful, but WITHOUT ANY WARRANTY; without even
156 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
157 PURPOSE.
158 </p>
159 <p>See W3C License <a href="http://www.w3.org/Consortium/Legal/">http://www.w3.org/Consortium/Legal/</a>
160 for more details.</p>
161 <iframe name="doc" src="files/table.html"></iframe>
162 <br>
163 </body>
164 </html>