content/html/content/test/test_bug375003-1.html

Thu, 15 Jan 2015 15:59:08 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 15 Jan 2015 15:59:08 +0100
branch
TOR_BUG_9701
changeset 10
ac0c01689b40
permissions
-rw-r--r--

Implement a real Private Browsing Mode condition by changing the API/ABI;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.

     1 <!DOCTYPE HTML>
     2 <html id="html">
     3 <!--
     4 https://bugzilla.mozilla.org/show_bug.cgi?id=375003
     5 -->
     6 <head>
     7     <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
     8     <title>Test 1 for bug 375003</title>
    10     <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
    11     <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
    13     <style type="text/css">
    15         html,body {
    16             color:black; background-color:white; font-size:16px; padding:0; margin:0;
    17         }
    19         .s { display:block; width:20px; height:20px; background-color:lime; }
    20         table  { background:pink; }
    21         #td5,#td6 { border:7px solid blue;}
    22     </style>
    24 <script>
    25 var x = [ 'Left','Top','Width','Height' ];
    26 function test(id,s,expected) {
    27   var el = document.getElementById(id);
    28   for(var i = 0; i < x.length; ++i) {
    29     var actual = eval('el.'+s+x[i]);
    30     if (expected[i] != -1 && s+x[i]!='scrollHeight')
    31       is(actual, expected[i], id+"."+s+x[i]);
    32   }
    33 }
    34 function t3(id,c,o,s,pid) {
    35   test(id,'client',c);
    36   test(id,'offset',o);
    37   test(id,'scroll',s);
    38   var p = document.getElementById(id).offsetParent; 
    39   is(p.id, pid, id+".offsetParent");
    40 }
    42 function run_test() {
    43    t3('span1',[0,0,20,20],[12,12,20,20],[0,0,20,20],'td1');
    44    t3('td1'  ,[1,1,69,44],[16,16,71,46],[0,0,69,46],'table1');
    45    t3('tr1'  ,[0,0,71,46],[16,16,71,46],[0,0,71,44],'table1');
    46    t3('span2',[10,0,20,20],[27,12,30,20],[0,0,20,20],'td2');
    47    t3('table1',[9,9,85,113],[10,10,103,131],[0,0,85,50],'body');
    48    t3('div1',[10,10,-1,131],[0,0,-1,151],[0,0,-1,85],'body');
    50    t3('span2b',[10,0,20,20],[25,-1,30,20],[0,0,20,20],'body');
    51    // XXX not sure how to make reliable cross-platform tests for replaced-inline, inline
    52    // t3('span2c',[10,2,18,2],[25,-1,30,6],[0,0,30,20],'body');
    53    // t3('span2d',[0,0,0,0],[25,-1,10,19],[0,0,10,20],'body');
    55    t3('span3' ,[0,0,20,20],[15,0,20,20],[0,0,20,20],'td3');
    56    t3('td3'   ,[0,0,35,20],[0,0,35,20],[0,0,35,20],'table3');
    57    t3('tr3'  ,[0,0,35,20],[0,0,35,20],[0,0,35,22],'table3');
    58    t3('span4' ,[0,0,20,20],[0,0,20,20],[0,0,20,20],'td4');
    59    t3('table3',[0,0,35,40],[0,0,35,40],[0,0,35,50],'div3');
    60    t3('div3',[10,10,-1,40],[0,151,-1,60],[0,0,-1,70],'body');
    62    t3('span5' ,[0,0,20,20],[1,1,20,20],[0,0,20,20],'td5');
    63    t3('td5'   ,[7,7,22,22],[2,2,36,36],[0,0,22,36],'table5');
    64    t3('tr5'  ,[0,0,36,36],[2,2,36,36],[0,0,36,22],'table5');
    65    t3('span6' ,[0,0,20,20],[20,58,20,20],[0,0,20,20],'div5');
    66    t3('table5',[0,0,40,78],[0,0,40,78],[0,0,40,78],'div5');
    67    t3('div5',[10,10,-1,78],[0,211,-1,98],[0,0,-1,70],'body');
    69    t3('span7' ,[0,0,20,20],[1,1,20,20],[0,0,20,20],'td7');
    70    t3('td7'   ,[1,1,37,22],[9,9,39,24],[0,0,37,22],'table7');
    71    t3('tr7'  ,[0,0,39,24],[9,9,39,24],[0,0,39,22],'table7');
    72    t3('span8' ,[0,0,20,20],[26,37,20,20],[0,0,20,20],'table7');
    73    t3('table7',[7,7,43,54],[10,319,57,68],[0,0,43,50],'body');
    74    t3('div7',[10,10,-1,68],[0,309,-1,88],[0,0,-1,70],'body');
    76    t3('span9' ,[0,0,20,20],[1,1,20,20],[0,0,20,20],'td9');
    77    t3('td9'   ,[1,1,22,22],[15,15,24,24],[0,0,22,24],'table9');
    78    t3('tr9'  ,[0,0,24,24],[15,15,24,24],[0,0,24,22],'table9');
    79    t3('span10' ,[0,0,20,20],[17,43,20,20],[0,0,20,20],'table9');
    80    t3('table9',[13,13,28,34],[10,407,54,60],[0,0,28,50],'body');
    81    t3('div9',[10,10,-1,0],[0,397,-1,20],[0,0,-1,70],'body');
    83    t3('span11' ,[0,0,20,20],[1,1,20,20],[0,0,20,20],'td11');
    84    t3('td11'   ,[0,0,22,22],[2,2,22,22],[0,0,22,22],'table11');
    85    t3('tr11'  ,[0,0,22,22],[2,2,22,22],[0,0,22,22],'table11');
    86    t3('span12' ,[0,0,20,20],[28,454,20,20],[0,0,20,20],'body');
    87    t3('table11',[0,0,26,30],[10,427,26,30],[0,0,26,50],'body');
    88    t3('div11',[10,10,-1,30],[0,417,-1,50],[0,0,-1,70],'body');
    89 }
    90 </script>
    91 </head>
    92 <body id="body">
    94 <div id="content">
    95 <div id="div1" style="border:10px solid black">
    96 <table id="table1" cellspacing="7" cellpadding="12" border="9">
    97   <tbody id="tbody1"><tr id="tr1"><td id="td1"><div class="s" id="span1"></div></td></tr></tbody>
    98   <tbody id="tbody2"><tr id="tr2"><td id="td2"><div class="s" id="span2" style="margin-left:15px; border-left:10px solid blue;"></div></td></tr></tbody>
    99 </table>
   100 </div>
   102 <div id="div3" style="border:10px solid black; position:relative">
   103 <table id="table3"  cellpadding="0" cellspacing="0" border="0">
   104   <tbody id="tbody3"><tr id="tr3"><td id="td3"><div class="s" id="span3" style="margin-left:15px"></div></td></tr></tbody>
   105   <tbody id="tbody4"><tr id="tr4"><td id="td4"><div class="s" id="span4"></div></td></tr></tbody>
   106 </table>
   107 </div>
   109 <div id="div5" style="border:10px solid black; position:relative">
   110 <table id="table5">
   111   <tbody id="tbody5"><tr id="tr5"><td id="td5"><div class="s" id="span5"></div></td></tr></tbody>
   112   <tbody id="tbody6"><tr id="tr6"><td id="td6"><div class="s" id="span6" style="left:10px; top:10px; position:relative"></div></td></tr></tbody>
   113 </table>
   114 </div>
   116 <div id="div7" style="border:10px solid black;">
   117 <table id="table7" style="position:relative" border=7>
   118   <tbody id="tbody7"><tr id="tr7"><td id="td7"><div class="s" id="span7"></div></td></tr></tbody>
   119   <tbody id="tbody8"><tr id="tr8"><td id="td8"><div class="s" id="span8" style="position:relative; margin-left:15px"></div></td></tr></tbody>
   120 </table>
   121 </div>
   123 <div id="div9" style="border:10px solid black;">
   124 <table id="table9" style="position:absolute" border="13">
   125   <tbody id="tbody9"><tr id="tr9"><td id="td9"><div class="s" id="span9"></div></td></tr></tbody>
   126   <tbody id="tbody10"><tr id="tr10"><td id="td10"><div class="s" id="span10" style="position:absolute"></div></td></tr></tbody>
   127 </table>
   128 </div>
   130 <div id="div11" style="border:10px solid black; ">
   131 <table id="table11">
   132   <tbody id="tbody11"><tr id="tr11"><td id="td11"><div class="s" id="span11"></div></td></tr></tbody>
   133   <tbody id="tbody12"><tr id="tr12"><td id="td12"><div class="s" id="span12" style="position:absolute;margin-left:15px"></div></td></tr></tbody>
   134 </table>
   135 </div>
   137 <div style="border:10px solid black">
   138 <div class="s" id="span2b" style="margin-left:15px; border-left:10px solid blue;"></div></div>
   140 <div style="border:10px solid black">
   141 <button id="span2c" style="margin-left:15px; border-left:10px solid blue;"></button></div>
   143 <div style="border:10px solid black">
   144 <span id="span2d" style="margin-left:15px; border-left:10px solid blue;"></span></div>
   145 </div>
   147 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=375003">Mozilla Bug 375003</a>
   149 <pre id="test">
   150 <script class="testbody" type="text/javascript">
   151 run_test();
   152 </script>
   153 </pre>
   155 </body>
   156 </html>

mercurial