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

Side by Side Diff: third_party/WebKit/LayoutTests/fast/events/mouse-wheel-main-frame-event.html

Issue 2049323002: [Mac] Don't dispatch wheel events for PhaseMayBegin|Cancelled|Ended (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add filter and LayoutTests Created 4 years, 5 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
(Empty)
1 <!DOCTYPE html>
2 <title>MouseWheel: Scroll shouldn't fire extra events for certain phase</title>
3 <script src="../../resources/testharness.js"></script>
4 <script src="../../resources/testharnessreport.js"></script>
5 <script>
6 // See WebMouseWheelEvent::Phase.
7 const PhaseNone = 0;
8 const PhaseBegan = 1 << 0;
9 const PhaseStationary = 1 << 1;
10 const PhaseChanged = 1 << 2;
11 const PhaseEnded = 1 << 3;
12 const PhaseCancelled = 1 << 4;
13 const PhaseMayBegin = 1 << 5;
14
15 function mouseScrollByPixel(x, y, phase) {
16 if (!window.eventSender)
17 return;
18 const isMac = navigator.platform.indexOf('Mac') != -1;
19 if (!isMac) {
20 // Other platforms don't have Phase info yet.
21 if (phase == PhaseEnded || phase == PhaseCancelled || phase == PhaseMayB egin)
22 return;
23 phase = PhaseNone;
24 }
25 eventSender.continuousMouseScrollBy(x, y, false, true, 0, false, phase);
26 }
27
28 test(function() {
29 if (!window.eventSender) {
30 document.write('This test requires eventSender');
31 return;
32 }
33
34 var event_log = '';
35 document.addEventListener('wheel', function(event) {
36 event_log += `(${event.deltaX},${event.deltaY},${event.deltaZ})`;
37 });
38
39 eventSender.mouseMoveTo(50, 50);
40 mouseScrollByPixel(0, 0, PhaseMayBegin);
41 mouseScrollByPixel(0, -1, PhaseBegan);
42 mouseScrollByPixel(0, -2, PhaseChanged);
43 mouseScrollByPixel(0, -3, PhaseChanged);
44 mouseScrollByPixel(0, -4, PhaseStationary);
45 mouseScrollByPixel(0, -5, PhaseChanged);
46 mouseScrollByPixel(0, 0, PhaseEnded);
47
48 assert_equals(event_log, '(0,1,0)(0,2,0)(0,3,0)(0,4,0)(0,5,0)');
49 }, 'Simulate track-pad two finger scroll');
50
51 test(function() {
52 if (!window.eventSender) {
53 document.write('This test requires eventSender');
54 return;
55 }
56
57 var event_log = '';
58 document.addEventListener('wheel', function(event) {
59 event_log += `(${event.deltaX},${event.deltaY},${event.deltaZ})`;
60 });
61
62 eventSender.mouseMoveTo(50, 50);
63 mouseScrollByPixel(0, 0, PhaseMayBegin);
64 mouseScrollByPixel(0, 0, PhaseCancelled);
65
66 assert_equals(event_log, '');
67 }, 'Simulate track-pad two finger touch and release');
68 </script>
69
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698