5 <title>Zoom using wheel should work on form controls
</title>
6 <script src=
"/tests/SimpleTest/SimpleTest.js"></script>
7 <script src=
"/tests/SimpleTest/EventUtils.js"></script>
8 <link rel=
"stylesheet" href=
"/tests/SimpleTest/test.css"/>
12 <div id=
"content" style=
"display: none"></div>
14 <button id=
"button" style=
"width:10px;height:10px;"></button><br>
15 <input id=
"input" style=
"border: 10px solid green;"><br>
16 <textarea id=
"textarea" style=
"border: 10px solid green;"></textarea><br>
17 <select id=
"select"><option></option></select>
18 <select id=
"list" size=
4>
19 <option>XXXXXXXXXX
</option>
20 <option>XXXXXXXXXX
</option>
21 <option>XXXXXXXXXX
</option>
22 <option>XXXXXXXXXX
</option>
23 <option>XXXXXXXXXX
</option>
24 <option>XXXXXXXXXX
</option>
28 async
function testControl(id
) {
29 var initialZoom
= SpecialPowers
.getFullZoom(window
);
30 var element
= document
.getElementById(id
);
32 const zoomHasHappened
= SimpleTest
.promiseWaitForCondition(() => {
33 const zoom
= SpecialPowers
.getFullZoom(window
);
34 return (zoom
!= initialZoom
);
35 }, id
+ ": wheel event changed the zoom.");
38 deltaMode
: WheelEvent
.DOM_DELTA_LINE
,
42 synthesizeWheel(element
, 5, 5, event
);
44 await zoomHasHappened
;
45 isnot(SpecialPowers
.getFullZoom(window
), initialZoom
, id
+ ": should have zoomed");
46 SpecialPowers
.setFullZoom(window
, initialZoom
);
49 async
function test() {
50 await
testControl("button");
51 await
testControl("input");
52 await
testControl("textarea");
53 await
testControl("select");
54 await
testControl("list");
58 SimpleTest
.waitForExplicitFinish();
59 SimpleTest
.waitForFocus(() => {
60 SpecialPowers
.pushPrefEnv({
62 ["mousewheel.with_control.action", 3], // Scroll on Ctrl + mousewheel
63 ["test.events.async.enabled", true],