test_scroll_inactive_flattened_frame.html (1783B)
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 </head> 11 <body> 12 <div id="container" style="height: 300px; width: 600px; overflow: auto; background: yellow"> 13 <div id="outer" style="height: 400px; width: 500px; overflow: auto; background: black"> 14 <div id="inner" style="mix-blend-mode: screen; height: 800px; overflow: auto; background: purple"> 15 </div> 16 </div> 17 </div> 18 <script class="testbody" type="text/javascript"> 19 async function test() { 20 var container = document.getElementById("container"); 21 var outer = document.getElementById("outer"); 22 var inner = document.getElementById("inner"); 23 var outerScrollTop = outer.scrollTop; 24 var containerScrollTop = container.scrollTop; 25 var event = { 26 deltaMode: WheelEvent.DOM_DELTA_LINE, 27 deltaX: 0, 28 deltaY: 10, 29 lineOrPageDeltaX: 0, 30 lineOrPageDeltaY: 10, 31 }; 32 await new Promise(resolve => { 33 sendWheelAndPaint(inner, 20, 30, event, resolve); 34 }); 35 ok(container.scrollTop == containerScrollTop, "container scrollframe should not have scrolled"); 36 ok(outer.scrollTop > outerScrollTop, "nested scrollframe should have scrolled"); 37 } 38 39 SimpleTest.waitForExplicitFinish(); 40 41 pushPrefs([["general.smoothScroll", false], 42 ["mousewheel.transaction.timeout", 1000000], 43 ["test.events.async.enabled", true]]) 44 .then(waitUntilApzStable) 45 .then(test) 46 .then(SimpleTest.finish, SimpleTest.finishWithFailure); 47 48 </script> 49 </body> 50 </html>