diff options
Diffstat (limited to 'dom/events/test/test_wheel_zoom_on_form_controls.html')
-rw-r--r-- | dom/events/test/test_wheel_zoom_on_form_controls.html | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/dom/events/test/test_wheel_zoom_on_form_controls.html b/dom/events/test/test_wheel_zoom_on_form_controls.html new file mode 100644 index 0000000000..73fc13558c --- /dev/null +++ b/dom/events/test/test_wheel_zoom_on_form_controls.html @@ -0,0 +1,69 @@ +<!DOCTYPE HTML> +<html> +<head> + <meta charset="utf-8"> + <title>Zoom using wheel should work on form controls</title> + <script src="/tests/SimpleTest/SimpleTest.js"></script> + <script src="/tests/SimpleTest/EventUtils.js"></script> + <link rel="stylesheet" href="/tests/SimpleTest/test.css"/> +</head> +<body> +<p id="display"></p> +<div id="content" style="display: none"></div> +<pre id="test"></pre> +<button id="button" style="width:10px;height:10px;"></button><br> +<input id="input" style="border: 10px solid green;"><br> +<textarea id="textarea" style="border: 10px solid green;"></textarea><br> +<select id="select"><option></option></select> +<select id="list" size=4> + <option>XXXXXXXXXX</option> + <option>XXXXXXXXXX</option> + <option>XXXXXXXXXX</option> + <option>XXXXXXXXXX</option> + <option>XXXXXXXXXX</option> + <option>XXXXXXXXXX</option> +</select> +<script> + + async function testControl(id) { + var initialZoom = SpecialPowers.getFullZoom(window); + var element = document.getElementById(id); + + const zoomHasHappened = SimpleTest.promiseWaitForCondition(() => { + const zoom = SpecialPowers.getFullZoom(window); + return (zoom != initialZoom); + }, id + ": wheel event changed the zoom."); + + let event = { + deltaMode: WheelEvent.DOM_DELTA_LINE, + deltaY: 3, + ctrlKey: true + }; + synthesizeWheel(element, 5, 5, event); + + await zoomHasHappened; + isnot(SpecialPowers.getFullZoom(window), initialZoom, id + ": should have zoomed"); + SpecialPowers.setFullZoom(window, initialZoom); + } + + async function test() { + await testControl("button"); + await testControl("input"); + await testControl("textarea"); + await testControl("select"); + await testControl("list"); + SimpleTest.finish(); + } + + SimpleTest.waitForExplicitFinish(); + SimpleTest.waitForFocus(() => { + SpecialPowers.pushPrefEnv({ + "set":[ + ["mousewheel.with_control.action", 3], // Scroll on Ctrl + mousewheel + ["test.events.async.enabled", true], + ] + }, test) + }); +</script> +</body> +</html> |