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

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

Issue 768443002: Honor the wheel event canScroll bit instead of trying to infer it from the ctrl modifier (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years 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');
tdresser 2014/11/27 15:06:09 Can we write a test which has different expectatio
Rick Byers 2014/11/27 18:05:54 Layout tests really test only blink (at least in t
lanwei 2014/12/02 15:48:10 Done.
22 22
23 debug('With ctrl modifier set'); 23 debug('With ctrl modifier set and suppressScroll set to be true');
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"); 26 eventSender.mouseScrollBy(0, scrollAmount, false, true, "ctrlKey", true);
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'); 32 debug('Without ctrl and suppressScroll set to be default false');
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);
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'); 45 debug('With ctrl modifier set and suppressScroll set to be true');
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"); 48 eventSender.mouseScrollBy(0, scrollAmount, false, true, "ctrlKey", true);
49 shouldBe("wheelEventCount", "1"); 49 shouldBe("wheelEventCount", "1");
50 shouldEvaluateTo("deltaY", expectedDeltaY); 50 shouldEvaluateTo("deltaY", expectedDeltaY);
51 shouldBeTrue("ctrlKey"); 51 shouldBeTrue("ctrlKey");
52 shouldBe("document.body.scrollTop", "0"); 52 shouldBe("window.scrollY", "0");
53 53
54 debug('Now without ctrl'); 54 debug('Now without ctrl and suppressScroll set to be default false');
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); 57 eventSender.mouseScrollBy(0, scrollAmount, false, true);
58 shouldBe("wheelEventCount", "1"); 58 shouldBe("wheelEventCount", "1");
59 shouldEvaluateTo("deltaY", expectedDeltaY); 59 shouldEvaluateTo("deltaY", expectedDeltaY);
60 shouldBeFalse("ctrlKey"); 60 shouldBeFalse("ctrlKey");
61 shouldBe("window.scrollY", "deltaY"); 61 shouldBe("window.scrollY", "deltaY");
62 } 62 }
63 63
64 var wheelEventCount = 0; 64 var wheelEventCount = 0;
(...skipping 19 matching lines...) Expand all
84 <div style="height: 2000px;"></div> 84 <div style="height: 2000px;"></div>
85 </span> 85 </span>
86 <div id="console"></div> 86 <div id="console"></div>
87 <script> 87 <script>
88 description("Tests that wheel events with the ctrl modifier are handled properly "); 88 description("Tests that wheel events with the ctrl modifier are handled properly ");
89 89
90 runTest(); 90 runTest();
91 </script> 91 </script>
92 </body> 92 </body>
93 </html> 93 </html>
OLDNEW
« no previous file with comments | « no previous file | LayoutTests/fast/events/wheelevent-ctrl-expected.txt » ('j') | Source/core/page/EventHandler.cpp » ('J')

Powered by Google App Engine
This is Rietveld 408576698