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

Unified 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: Use == instead of strcmp() 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « components/test_runner/event_sender.cc ('k') | third_party/WebKit/Source/core/input/EventHandler.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/WebKit/LayoutTests/fast/events/mouse-wheel-main-frame-event.html
diff --git a/third_party/WebKit/LayoutTests/fast/events/mouse-wheel-main-frame-event.html b/third_party/WebKit/LayoutTests/fast/events/mouse-wheel-main-frame-event.html
new file mode 100644
index 0000000000000000000000000000000000000000..29d5efbd8e56e1f3e3e6bf831e86c42deb17f9b6
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/fast/events/mouse-wheel-main-frame-event.html
@@ -0,0 +1,60 @@
+<!DOCTYPE html>
+<title>MouseWheel: Scroll shouldn't fire extra events for certain phase</title>
+<script src="../../resources/testharness.js"></script>
+<script src="../../resources/testharnessreport.js"></script>
+<script>
+function mouseScrollByPixel(x, y, phase) {
+ if (!window.eventSender)
+ return;
+ const isMac = navigator.platform.indexOf('Mac') != -1;
+ if (!isMac) {
+ // Other platforms don't have Phase info yet.
+ if (phase == 'phaseEnded' || phase == 'phaseCancelled' || phase == 'phaseMayBegin')
+ return;
+ phase = 'phaseNone';
+ }
+ eventSender.continuousMouseScrollBy(x, y, false, true, 0, false, phase);
+}
+
+test(function() {
+ if (!window.eventSender) {
+ document.write('This test requires eventSender');
+ return;
+ }
+
+ var event_log = '';
+ document.addEventListener('wheel', function(event) {
+ event_log += `(${event.deltaX},${event.deltaY},${event.deltaZ})`;
+ });
+
+ eventSender.mouseMoveTo(50, 50);
+ mouseScrollByPixel(0, 0, 'phaseMayBegin');
+ mouseScrollByPixel(0, -1, 'phaseBegan');
+ mouseScrollByPixel(0, -2, 'phaseChanged');
+ mouseScrollByPixel(0, -3, 'phaseChanged');
+ mouseScrollByPixel(0, -4, 'phaseStationary');
+ mouseScrollByPixel(0, -5, 'phaseChanged');
+ mouseScrollByPixel(0, 0, 'phaseEnded');
+
+ assert_equals(event_log, '(0,1,0)(0,2,0)(0,3,0)(0,4,0)(0,5,0)');
+}, 'Simulate track-pad two finger scroll');
+
+test(function() {
+ if (!window.eventSender) {
+ document.write('This test requires eventSender');
+ return;
+ }
+
+ var event_log = '';
+ document.addEventListener('wheel', function(event) {
+ event_log += `(${event.deltaX},${event.deltaY},${event.deltaZ})`;
+ });
+
+ eventSender.mouseMoveTo(50, 50);
+ mouseScrollByPixel(0, 0, 'phaseMayBegin');
+ mouseScrollByPixel(0, 0, 'phaseCancelled');
+
+ assert_equals(event_log, '');
+}, 'Simulate track-pad two finger touch and release');
+</script>
+
« no previous file with comments | « components/test_runner/event_sender.cc ('k') | third_party/WebKit/Source/core/input/EventHandler.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698