tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

test_scroll_inactive_bug1190112.html (6370B)


      1 <!DOCTYPE HTML>
      2 <html>
      3 <head>
      4  <title>Test scrolling flattened inactive frames</title>
      5  <script src="/tests/SimpleTest/SimpleTest.js"></script>
      6  <script src="/tests/SimpleTest/EventUtils.js"></script>
      7  <script src="/tests/SimpleTest/paint_listener.js"></script>
      8  <script type="application/javascript" src="apz_test_utils.js"></script>
      9  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
     10 <style>
     11 p {
     12  width:200px;
     13  height:200px;
     14  border:solid 1px black;
     15  overflow:auto;
     16 }
     17 </style>
     18 </head>
     19 <body>
     20 <div id="iframe-body" style="overflow: auto; height: 1000px">
     21 <hr>
     22 <hr>
     23 <hr>
     24 <p>
     25 1	<br>
     26 2	<br>
     27 3	<br>
     28 4	<br>
     29 5	<br>
     30 6	<br>
     31 7	<br>
     32 8	<br>
     33 9	<br>
     34 10	<br>
     35 11	<br>
     36 12	<br>
     37 13	<br>
     38 14	<br>
     39 15	<br>
     40 16	<br>
     41 17	<br>
     42 18	<br>
     43 19	<br>
     44 20	<br>
     45 21	<br>
     46 22	<br>
     47 23	<br>
     48 24	<br>
     49 25	<br>
     50 26	<br>
     51 27	<br>
     52 28	<br>
     53 29	<br>
     54 30	<br>
     55 31	<br>
     56 32	<br>
     57 33	<br>
     58 34	<br>
     59 35	<br>
     60 36	<br>
     61 37	<br>
     62 38	<br>
     63 39	<br>
     64 40	<br>
     65 
     66 </p><p id="subframe">
     67 1	<br>
     68 2	<br>
     69 3	<br>
     70 4	<br>
     71 5	<br>
     72 6	<br>
     73 7	<br>
     74 8	<br>
     75 9	<br>
     76 10	<br>
     77 11	<br>
     78 12	<br>
     79 13	<br>
     80 14	<br>
     81 15	<br>
     82 16	<br>
     83 17	<br>
     84 18	<br>
     85 19	<br>
     86 20	<br>
     87 21	<br>
     88 22	<br>
     89 23	<br>
     90 24	<br>
     91 25	<br>
     92 26	<br>
     93 27	<br>
     94 28	<br>
     95 29	<br>
     96 30	<br>
     97 31	<br>
     98 32	<br>
     99 33	<br>
    100 34	<br>
    101 35	<br>
    102 36	<br>
    103 37	<br>
    104 38	<br>
    105 39	<br>
    106 40	<br>
    107 
    108 </p><p>
    109 1	<br>
    110 2	<br>
    111 3	<br>
    112 4	<br>
    113 5	<br>
    114 6	<br>
    115 7	<br>
    116 8	<br>
    117 9	<br>
    118 10	<br>
    119 11	<br>
    120 12	<br>
    121 13	<br>
    122 14	<br>
    123 15	<br>
    124 16	<br>
    125 17	<br>
    126 18	<br>
    127 19	<br>
    128 20	<br>
    129 21	<br>
    130 22	<br>
    131 23	<br>
    132 24	<br>
    133 25	<br>
    134 26	<br>
    135 27	<br>
    136 28	<br>
    137 29	<br>
    138 30	<br>
    139 31	<br>
    140 32	<br>
    141 33	<br>
    142 34	<br>
    143 35	<br>
    144 36	<br>
    145 37	<br>
    146 38	<br>
    147 39	<br>
    148 40	<br>
    149 
    150 </p><p>
    151 1	<br>
    152 2	<br>
    153 3	<br>
    154 4	<br>
    155 5	<br>
    156 6	<br>
    157 7	<br>
    158 8	<br>
    159 9	<br>
    160 10	<br>
    161 11	<br>
    162 12	<br>
    163 13	<br>
    164 14	<br>
    165 15	<br>
    166 16	<br>
    167 17	<br>
    168 18	<br>
    169 19	<br>
    170 20	<br>
    171 21	<br>
    172 22	<br>
    173 23	<br>
    174 24	<br>
    175 25	<br>
    176 26	<br>
    177 27	<br>
    178 28	<br>
    179 29	<br>
    180 30	<br>
    181 31	<br>
    182 32	<br>
    183 33	<br>
    184 34	<br>
    185 35	<br>
    186 36	<br>
    187 37	<br>
    188 38	<br>
    189 39	<br>
    190 40	<br>
    191 
    192 </p><p>
    193 1	<br>
    194 2	<br>
    195 3	<br>
    196 4	<br>
    197 5	<br>
    198 6	<br>
    199 7	<br>
    200 8	<br>
    201 9	<br>
    202 10	<br>
    203 11	<br>
    204 12	<br>
    205 13	<br>
    206 14	<br>
    207 15	<br>
    208 16	<br>
    209 17	<br>
    210 18	<br>
    211 19	<br>
    212 20	<br>
    213 21	<br>
    214 22	<br>
    215 23	<br>
    216 24	<br>
    217 25	<br>
    218 26	<br>
    219 27	<br>
    220 28	<br>
    221 29	<br>
    222 30	<br>
    223 31	<br>
    224 32	<br>
    225 33	<br>
    226 34	<br>
    227 35	<br>
    228 36	<br>
    229 37	<br>
    230 38	<br>
    231 39	<br>
    232 40	<br>
    233 
    234 </p><p>
    235 1	<br>
    236 2	<br>
    237 3	<br>
    238 4	<br>
    239 5	<br>
    240 6	<br>
    241 7	<br>
    242 8	<br>
    243 9	<br>
    244 10	<br>
    245 11	<br>
    246 12	<br>
    247 13	<br>
    248 14	<br>
    249 15	<br>
    250 16	<br>
    251 17	<br>
    252 18	<br>
    253 19	<br>
    254 20	<br>
    255 21	<br>
    256 22	<br>
    257 23	<br>
    258 24	<br>
    259 25	<br>
    260 26	<br>
    261 27	<br>
    262 28	<br>
    263 29	<br>
    264 30	<br>
    265 31	<br>
    266 32	<br>
    267 33	<br>
    268 34	<br>
    269 35	<br>
    270 36	<br>
    271 37	<br>
    272 38	<br>
    273 39	<br>
    274 40	<br>
    275 
    276 </p><p>
    277 1	<br>
    278 2	<br>
    279 3	<br>
    280 4	<br>
    281 5	<br>
    282 6	<br>
    283 7	<br>
    284 8	<br>
    285 9	<br>
    286 10	<br>
    287 11	<br>
    288 12	<br>
    289 13	<br>
    290 14	<br>
    291 15	<br>
    292 16	<br>
    293 17	<br>
    294 18	<br>
    295 19	<br>
    296 20	<br>
    297 21	<br>
    298 22	<br>
    299 23	<br>
    300 24	<br>
    301 25	<br>
    302 26	<br>
    303 27	<br>
    304 28	<br>
    305 29	<br>
    306 30	<br>
    307 31	<br>
    308 32	<br>
    309 33	<br>
    310 34	<br>
    311 35	<br>
    312 36	<br>
    313 37	<br>
    314 38	<br>
    315 39	<br>
    316 40	<br>
    317 
    318 </p><p>
    319 1	<br>
    320 2	<br>
    321 3	<br>
    322 4	<br>
    323 5	<br>
    324 6	<br>
    325 7	<br>
    326 8	<br>
    327 9	<br>
    328 10	<br>
    329 11	<br>
    330 12	<br>
    331 13	<br>
    332 14	<br>
    333 15	<br>
    334 16	<br>
    335 17	<br>
    336 18	<br>
    337 19	<br>
    338 20	<br>
    339 21	<br>
    340 22	<br>
    341 23	<br>
    342 24	<br>
    343 25	<br>
    344 26	<br>
    345 27	<br>
    346 28	<br>
    347 29	<br>
    348 30	<br>
    349 31	<br>
    350 32	<br>
    351 33	<br>
    352 34	<br>
    353 35	<br>
    354 36	<br>
    355 37	<br>
    356 38	<br>
    357 39	<br>
    358 40	<br>
    359 
    360 </p><p>
    361 1	<br>
    362 2	<br>
    363 3	<br>
    364 4	<br>
    365 5	<br>
    366 6	<br>
    367 7	<br>
    368 8	<br>
    369 9	<br>
    370 10	<br>
    371 11	<br>
    372 12	<br>
    373 13	<br>
    374 14	<br>
    375 15	<br>
    376 16	<br>
    377 17	<br>
    378 18	<br>
    379 19	<br>
    380 20	<br>
    381 21	<br>
    382 22	<br>
    383 23	<br>
    384 24	<br>
    385 25	<br>
    386 26	<br>
    387 27	<br>
    388 28	<br>
    389 29	<br>
    390 30	<br>
    391 31	<br>
    392 32	<br>
    393 33	<br>
    394 34	<br>
    395 35	<br>
    396 36	<br>
    397 37	<br>
    398 38	<br>
    399 39	<br>
    400 40	<br>
    401 
    402 </p><p>
    403 1	<br>
    404 2	<br>
    405 3	<br>
    406 4	<br>
    407 5	<br>
    408 6	<br>
    409 7	<br>
    410 8	<br>
    411 9	<br>
    412 10	<br>
    413 11	<br>
    414 12	<br>
    415 13	<br>
    416 14	<br>
    417 15	<br>
    418 16	<br>
    419 17	<br>
    420 18	<br>
    421 19	<br>
    422 20	<br>
    423 21	<br>
    424 22	<br>
    425 23	<br>
    426 24	<br>
    427 25	<br>
    428 26	<br>
    429 27	<br>
    430 28	<br>
    431 29	<br>
    432 30	<br>
    433 31	<br>
    434 32	<br>
    435 33	<br>
    436 34	<br>
    437 35	<br>
    438 36	<br>
    439 37	<br>
    440 38	<br>
    441 39	<br>
    442 40	<br>
    443 
    444 </p><p>
    445 1	<br>
    446 2	<br>
    447 3	<br>
    448 4	<br>
    449 5	<br>
    450 6	<br>
    451 7	<br>
    452 8	<br>
    453 9	<br>
    454 10	<br>
    455 11	<br>
    456 12	<br>
    457 13	<br>
    458 14	<br>
    459 15	<br>
    460 16	<br>
    461 17	<br>
    462 18	<br>
    463 19	<br>
    464 20	<br>
    465 21	<br>
    466 22	<br>
    467 23	<br>
    468 24	<br>
    469 25	<br>
    470 26	<br>
    471 27	<br>
    472 28	<br>
    473 29	<br>
    474 30	<br>
    475 31	<br>
    476 32	<br>
    477 33	<br>
    478 34	<br>
    479 35	<br>
    480 36	<br>
    481 37	<br>
    482 38	<br>
    483 39	<br>
    484 40	<br>
    485 
    486 </p>
    487 </div>
    488 <script clss="testbody" type="text/javascript">
    489 function ScrollTops() {
    490  this.outerScrollTop = document.getElementById("iframe-body").scrollTop;
    491  this.innerScrollTop = document.getElementById("subframe").scrollTop;
    492 }
    493 
    494 var DefaultEvent = {
    495  deltaMode: WheelEvent.DOM_DELTA_LINE,
    496  deltaX: 0, deltaY: 1,
    497  lineOrPageDeltaX: 0, lineOrPageDeltaY: 1,
    498 };
    499 
    500 async function test() {
    501  var subframe = document.getElementById("subframe");
    502  var oldpos = new ScrollTops();
    503  await new Promise(resolve => {
    504    sendWheelAndPaint(subframe, 10, 10, DefaultEvent, resolve);
    505  });
    506 
    507  var newpos = new ScrollTops();
    508  ok(oldpos.outerScrollTop == newpos.outerScrollTop, "viewport should not have scrolled");
    509  ok(oldpos.innerScrollTop != newpos.innerScrollTop, "subframe should have scrolled");
    510  oldpos = newpos;
    511 
    512  // Scroll outer
    513  var outer = document.getElementById("iframe-body");
    514  await new Promise(resolve => {
    515    sendWheelAndPaint(outer, 20, 5, DefaultEvent, resolve);
    516  });
    517 
    518  newpos = new ScrollTops();
    519  ok(oldpos.outerScrollTop != newpos.outerScrollTop, "viewport should have scrolled");
    520  ok(oldpos.innerScrollTop == newpos.innerScrollTop, "subframe should not have scrolled");
    521  oldpos = newpos;
    522 
    523  // Scroll inner again
    524  // Tick the refresh driver once to make sure the compositor has sent the
    525  // updated scroll offset for the outer scroller to WebRender, so that the
    526  // hit-test in sendWheelAndPaint takes it into account.
    527  var dwu = SpecialPowers.getDOMWindowUtils(window);
    528  dwu.advanceTimeAndRefresh(16);
    529  dwu.restoreNormalRefresh();
    530 
    531  await new Promise(resolve => {
    532    sendWheelAndPaint(subframe, 10, 10, DefaultEvent, resolve);
    533  });
    534 
    535  newpos = new ScrollTops();
    536  ok(oldpos.outerScrollTop == newpos.outerScrollTop, "viewport should not have scrolled");
    537  ok(oldpos.innerScrollTop != newpos.innerScrollTop, "subframe should have scrolled");
    538 }
    539 
    540 SimpleTest.waitForExplicitFinish();
    541 
    542 pushPrefs([["general.smoothScroll", false],
    543           ["mousewheel.transaction.timeout", 0],
    544           ["mousewheel.transaction.ignoremovedelay", 0],
    545           ["test.events.async.enabled", true]])
    546 .then(waitUntilApzStable)
    547 .then(test)
    548 .then(SimpleTest.finish, SimpleTest.finishWithFailure);
    549 
    550 </script>
    551 </body>
    552 </html>