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

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

Issue 212913002: Prevent ctrl+wheel from scrolling in more places (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Fixes Created 6 years, 9 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | LayoutTests/fast/events/wheelevent-ctrl-expected.txt » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 testDiv.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 // Verify that wheel with ctrl modifier is fired property but doesn't scroll . 21 debug('Test mousewheel events over scrollable div');
22
23 debug('With ctrl modifier set');
24 wheelEventCount = 0;
22 eventSender.mouseMoveTo(testDiv.offsetLeft + 5, testDiv.offsetTop + 5); 25 eventSender.mouseMoveTo(testDiv.offsetLeft + 5, testDiv.offsetTop + 5);
23 eventSender.mouseScrollBy(0, scrollAmount, false, true, "ctrlKey"); 26 eventSender.mouseScrollBy(0, scrollAmount, false, true, "ctrlKey");
24 shouldBe("wheelEventCount", "1"); 27 shouldBe("wheelEventCount", "1");
25 shouldEvaluateTo("deltaY", expectedDeltaY); 28 shouldEvaluateTo("deltaY", expectedDeltaY);
26 shouldBeTrue("ctrlKey"); 29 shouldBeTrue("ctrlKey");
27 shouldBe("testDiv.scrollTop", "0"); 30 shouldBe("testDiv.scrollTop", "0");
28 31
29 // Verify that without the ctrl modifier we scroll as normal. 32 debug('Without ctrl');
33 wheelEventCount = 0;
30 eventSender.mouseMoveTo(testDiv.offsetLeft + 5, testDiv.offsetTop + 5); 34 eventSender.mouseMoveTo(testDiv.offsetLeft + 5, testDiv.offsetTop + 5);
31 eventSender.mouseScrollBy(0, scrollAmount, false, true); 35 eventSender.mouseScrollBy(0, scrollAmount, false, true);
32 shouldBe("wheelEventCount", "2"); 36 shouldBe("wheelEventCount", "1");
33 shouldEvaluateTo("deltaY", expectedDeltaY); 37 shouldEvaluateTo("deltaY", expectedDeltaY);
34 shouldBeFalse("ctrlKey"); 38 shouldBeFalse("ctrlKey");
35 shouldBe("testDiv.scrollTop", "deltaY"); 39 shouldBe("testDiv.scrollTop", "deltaY");
40
41 debug('');
42 debug('Test mousewheel events over the document');
43 testDiv = document.getElementById('target2');
44
45 debug('With ctrl modifier set');
46 wheelEventCount = 0;
47 eventSender.mouseMoveTo(testDiv.offsetLeft + 5, testDiv.offsetTop + 5);
48 eventSender.mouseScrollBy(0, scrollAmount, false, true, "ctrlKey");
49 shouldBe("wheelEventCount", "1");
50 shouldEvaluateTo("deltaY", expectedDeltaY);
51 shouldBeTrue("ctrlKey");
52 shouldBe("document.body.scrollTop", "0");
53
54 debug('Now without ctrl');
55 wheelEventCount = 0;
56 eventSender.mouseMoveTo(testDiv.offsetLeft + 5, testDiv.offsetTop + 5);
57 eventSender.mouseScrollBy(0, scrollAmount, false, true);
58 shouldBe("wheelEventCount", "1");
59 shouldEvaluateTo("deltaY", expectedDeltaY);
60 shouldBeFalse("ctrlKey");
61 shouldBe("window.scrollY", "deltaY");
36 } 62 }
37 63
38 var wheelEventCount = 0; 64 var wheelEventCount = 0;
39 var ctrlKey = false; 65 var ctrlKey = false;
40 function wheelHandler(e) { 66 function wheelHandler(e) {
41 wheelEventCount++; 67 wheelEventCount++;
42 deltaY = e.deltaY; 68 deltaY = e.deltaY;
43 ctrlKey = e.ctrlKey; 69 ctrlKey = e.ctrlKey;
44 } 70 }
45 71
46 </script> 72 </script>
47 </head> 73 </head>
48 <body> 74 <body>
49 <span id="parent"> 75 <span id="parent">
50 <div id="target" style="border:solid 1px green; width:220px; height:70px; ov erflow:scroll; white-space:nowrap;"> 76 <div id="target" style="border:solid 1px green; width:220px; height:70px; ov erflow:scroll; white-space:nowrap;">
51 TOP<br/><br/><br/><br/> 77 TOP<br/><br/><br/><br/>
52 Scroll mouse wheel over here<br/><br/><br/><br/> 78 Scroll mouse wheel over here<br/><br/><br/><br/>
53 END 79 END
54 </div> 80 </div>
81 <div id="target2" style="border:solid 1px blue;">
82 And scroll the document here
83 </div>
84 <div style="height: 2000px;"></div>
55 </span> 85 </span>
56 <div id="console"></div> 86 <div id="console"></div>
57 <script> 87 <script>
58 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 ");
59 89
60 runTest(); 90 runTest();
61 </script> 91 </script>
62 </body> 92 </body>
63 </html> 93 </html>
OLDNEW
« no previous file with comments | « no previous file | LayoutTests/fast/events/wheelevent-ctrl-expected.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698