Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(214)

Side by Side Diff: third_party/WebKit/LayoutTests/fast/events/wheel/wheelevent-ctrl.html

Issue 2928793003: Re-target wheel events only when a new scroll sequence has started. (Closed)
Patch Set: review comments addressed. Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <html> 2 <html>
3 <head> 3 <head>
4 <link rel="help" href="http://www.w3.org/TR/DOM-Level-3-Events/#events-WheelEven t"> 4 <link rel="help" href="http://www.w3.org/TR/DOM-Level-3-Events/#events-WheelEven t">
5 <script src="../../../resources/js-test.js"></script> 5 <script src="../../../resources/js-test.js"></script>
6 <script> 6 <script>
7 var deltaY = 0; 7 var deltaY = 0;
8 var scrollAmount = -2; 8 var scrollAmount = -2;
9 var expectedDeltaY = scrollAmount * -40; 9 var expectedDeltaY = scrollAmount * -40;
10 10
11 var testDiv; 11 var testDiv;
12 function runTest() { 12 function runTest() {
13 13
14 testDiv = document.getElementById('target'); 14 testDiv = document.getElementById('target');
15 document.addEventListener('wheel', wheelHandler); 15 document.addEventListener('wheel', wheelHandler);
16 if (!window.eventSender) { 16 if (!window.eventSender) {
17 debug("FAIL: This test requires window.eventSender."); 17 debug("FAIL: This test requires window.eventSender.");
18 return; 18 return;
19 } 19 }
20 20
21 debug('Test mousewheel events over scrollable div'); 21 debug('Test mousewheel events over scrollable div');
22 22
23 debug('With ctrl modifier set and canScroll set to be false'); 23 debug('With ctrl modifier set and canScroll set to be false');
24 wheelEventCount = 0; 24 wheelEventCount = 0;
25 eventSender.mouseMoveTo(testDiv.offsetLeft + 5, testDiv.offsetTop + 5); 25 eventSender.mouseMoveTo(testDiv.offsetLeft + 5, testDiv.offsetTop + 5);
26 eventSender.mouseScrollBy(0, scrollAmount, false, true, "ctrlKey", false); 26 eventSender.mouseScrollBy(0, scrollAmount, false, true, "ctrlKey", false , " phaseBegan");
27 shouldBe("wheelEventCount", "1"); 27 shouldBe("wheelEventCount", "1");
28 shouldEvaluateTo("deltaY", expectedDeltaY); 28 shouldEvaluateTo("deltaY", expectedDeltaY);
29 shouldBeTrue("ctrlKey"); 29 shouldBeTrue("ctrlKey");
30 shouldBe("testDiv.scrollTop", "0"); 30 shouldBe("testDiv.scrollTop", "0");
31 31
32 debug('Without ctrl and canScroll set to be default true'); 32 debug('Without ctrl and canScroll set to be default true');
33 wheelEventCount = 0; 33 wheelEventCount = 0;
34 eventSender.mouseMoveTo(testDiv.offsetLeft + 5, testDiv.offsetTop + 5); 34 eventSender.mouseMoveTo(testDiv.offsetLeft + 5, testDiv.offsetTop + 5);
35 eventSender.mouseScrollBy(0, scrollAmount, false, true); 35 eventSender.mouseScrollBy(0, scrollAmount, false, true, 0, true, "phaseChang ed");
36 shouldBe("wheelEventCount", "1"); 36 shouldBe("wheelEventCount", "1");
37 shouldEvaluateTo("deltaY", expectedDeltaY); 37 shouldEvaluateTo("deltaY", expectedDeltaY);
38 shouldBeFalse("ctrlKey"); 38 shouldBeFalse("ctrlKey");
39 shouldBe("testDiv.scrollTop", "deltaY"); 39 shouldBe("testDiv.scrollTop", "deltaY");
40 40
41 debug(''); 41 debug('');
42 debug('Test mousewheel events over the document'); 42 debug('Test mousewheel events over the document');
43 testDiv = document.getElementById('target2'); 43 testDiv = document.getElementById('target2');
44 44
45 debug('With ctrl modifier set and canScroll set to be false'); 45 debug('With ctrl modifier set and canScroll set to be false');
46 wheelEventCount = 0; 46 wheelEventCount = 0;
47 eventSender.mouseMoveTo(testDiv.offsetLeft + 5, testDiv.offsetTop + 5); 47 eventSender.mouseMoveTo(testDiv.offsetLeft + 5, testDiv.offsetTop + 5);
48 eventSender.mouseScrollBy(0, scrollAmount, false, true, "ctrlKey", false); 48 eventSender.mouseScrollBy(0, scrollAmount, false, true, "ctrlKey", false, "p haseChanged");
49 shouldBe("wheelEventCount", "1"); 49 shouldBe("wheelEventCount", "1");
50 shouldEvaluateTo("deltaY", expectedDeltaY); 50 shouldEvaluateTo("deltaY", expectedDeltaY);
51 shouldBeTrue("ctrlKey"); 51 shouldBeTrue("ctrlKey");
52 shouldBe("window.scrollY", "0"); 52 shouldBe("window.scrollY", "0");
53 53
54 debug('With ctrl modifier set and canScroll set to be true'); 54 debug('With ctrl modifier set and canScroll set to be true');
55 wheelEventCount = 0; 55 wheelEventCount = 0;
56 eventSender.mouseMoveTo(testDiv.offsetLeft + 5, testDiv.offsetTop + 5); 56 eventSender.mouseMoveTo(testDiv.offsetLeft + 5, testDiv.offsetTop + 5);
57 eventSender.mouseScrollBy(0, scrollAmount, false, true, "ctrlKey", true); 57 eventSender.mouseScrollBy(0, scrollAmount, false, true, "ctrlKey", true, "ph aseChanged");
58 shouldBe("wheelEventCount", "1"); 58 shouldBe("wheelEventCount", "1");
59 shouldEvaluateTo("deltaY", expectedDeltaY); 59 shouldEvaluateTo("deltaY", expectedDeltaY);
60 shouldBeTrue("ctrlKey"); 60 shouldBeTrue("ctrlKey");
61 shouldBe("window.scrollY", "deltaY"); 61 shouldBe("window.scrollY", "deltaY");
62 62
63 debug('Now without ctrl and canScroll set to be default true'); 63 debug('Now without ctrl and canScroll set to be default true');
64 wheelEventCount = 0; 64 wheelEventCount = 0;
65 eventSender.mouseMoveTo(testDiv.offsetLeft + 5, testDiv.offsetTop + 5); 65 eventSender.mouseMoveTo(testDiv.offsetLeft + 5, testDiv.offsetTop + 5);
66 eventSender.mouseScrollBy(0, scrollAmount, false, true); 66 eventSender.mouseScrollBy(0, scrollAmount, false, true, 0, true, "phaseChang ed");
67 shouldBe("wheelEventCount", "1"); 67 shouldBe("wheelEventCount", "1");
68 shouldEvaluateTo("deltaY", expectedDeltaY); 68 shouldEvaluateTo("deltaY", expectedDeltaY);
69 shouldBeFalse("ctrlKey"); 69 shouldBeFalse("ctrlKey");
70 shouldEvaluateTo("window.scrollY", 2 * expectedDeltaY); 70 shouldEvaluateTo("window.scrollY", 2 * expectedDeltaY);
71 } 71 }
72 72
73 var wheelEventCount = 0; 73 var wheelEventCount = 0;
74 var ctrlKey = false; 74 var ctrlKey = false;
75 function wheelHandler(e) { 75 function wheelHandler(e) {
76 wheelEventCount++; 76 wheelEventCount++;
(...skipping 16 matching lines...) Expand all
93 <div style="height: 2000px;"></div> 93 <div style="height: 2000px;"></div>
94 </span> 94 </span>
95 <div id="console"></div> 95 <div id="console"></div>
96 <script> 96 <script>
97 description("Tests that wheel events with the ctrl modifier are handled properly "); 97 description("Tests that wheel events with the ctrl modifier are handled properly ");
98 98
99 runTest(); 99 runTest();
100 </script> 100 </script>
101 </body> 101 </body>
102 </html> 102 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698