<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width; initial-scale=1.0"> <title>Sanity panning test for scrollable div</title> <script type="application/javascript" src="apz_test_native_event_utils.js"></script> <script type="application/javascript" src="apz_test_utils.js"></script> <script type="application/javascript" src="/tests/SimpleTest/paint_listener.js"></script> <script type="application/javascript"> function scrollOuter() { var transformEnd = function() { SpecialPowers.Services.obs.removeObserver(transformEnd, "APZ:TransformEnd", false); dump("Transform complete; flushing repaints...\n"); flushApzRepaints(checkScroll); }; SpecialPowers.Services.obs.addObserver(transformEnd, "APZ:TransformEnd", false); synthesizeNativeTouchDrag(document.getElementById('outer'), 10, 100, 0, -(50 + TOUCH_SLOP)); dump("Finished native drag, waiting for transform-end observer...\n"); } function checkScroll() { var outerScroll = document.getElementById('outer').scrollTop; is(outerScroll, 50, "check that the div scrolled"); subtestDone(); } waitUntilApzStable().then(scrollOuter); </script> </head> <body> <div id="outer" style="height: 250px; border: solid 1px black; overflow:scroll"> <div style="height: 5000px; background-color: lightblue"> This div makes the |outer| div scrollable. </div> </div> <div style="height: 5000px; background-color: lightgreen;"> This div makes the top-level page scrollable. </div> </body> </html>