test_deltaMode_lines_always_enabled.html (1461B)
1 <!DOCTYPE html> 2 <meta charset="utf-8"> 3 <title>Test for always-enabling lines deltaMode</title> 4 <script src="/tests/SimpleTest/SimpleTest.js"></script> 5 <script src="/tests/SimpleTest/EventUtils.js"></script> 6 <link rel="stylesheet" href="/tests/SimpleTest/test.css"/> 7 <p id="display"></p> 8 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1684001">Mozilla Bug 1684001</a> 9 <div id="overflow" style="height: 300vh"></div> 10 <pre id="test"></pre> 11 <script> 12 SimpleTest.waitForExplicitFinish(); 13 14 const HACK_PREF = "dom.event.wheel-deltaMode-lines.always-enabled"; 15 16 (async function() { 17 await SimpleTest.promiseFocus(window); 18 await SpecialPowers.pushPrefEnv({ 19 set: [ 20 [HACK_PREF, document.domain], 21 ["test.events.async.enabled", true], 22 ], 23 }); 24 // FYI: Cannot use scrollingElement because it's center may be outside of the viewport. 25 await promiseElementReadyForUserInput(document.querySelector("a[href]")); 26 await SpecialPowers.pushPrefEnv({ 27 clear: [ 28 ["test.events.async.enabled"], 29 ], 30 }); 31 32 document.addEventListener("wheel", e => { 33 e.deltaY; /* access the delta unchecked */ 34 is(e.deltaMode, WheelEvent.DOM_DELTA_LINE, "Accessing wheel event data should return lines even if unchecked, if the pref is enabled for that domain"); 35 SimpleTest.finish(); 36 }, { once: true }); 37 38 synthesizeWheel(document.scrollingElement, 10, 10, { deltaY: 3.0, deltaMode: WheelEvent.DOM_DELTA_LINE }); 39 }()); 40 </script>