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

Unified Diff: third_party/WebKit/public/web/WebInputEvent.h

Issue 1888163003: Articulate the cancel behavior in the WebTouchEvent. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Adjusted comment Created 4 years, 8 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
Index: third_party/WebKit/public/web/WebInputEvent.h
diff --git a/third_party/WebKit/public/web/WebInputEvent.h b/third_party/WebKit/public/web/WebInputEvent.h
index d2e24f8f1e33fe979d8ea99fdb3fba8873e4faaf..c3a68003214688039a1d2b522e1148a9b6455f6b 100644
--- a/third_party/WebKit/public/web/WebInputEvent.h
+++ b/third_party/WebKit/public/web/WebInputEvent.h
@@ -189,6 +189,19 @@ public:
ScrollLockOn = 1 << 19,
};
+ // These values are direct mappings of the values in PlatformEvent
Rick Byers 2016/04/20 15:30:26 nit: add a comment above this describing briefly t
dtapuska 2016/04/20 19:38:11 Done.
+ // so the values can be cast between the enumerations. static_asserts
+ // checking this are in web/WebInputEventConversion.cpp.
+ enum DispatchType {
+ Blocking,
Rick Byers 2016/04/20 15:30:26 nit: add comment saying "i.e. can be canceled"
dtapuska 2016/04/20 19:38:12 Done.
+ EventNonBlocking,
+ // All listeners are passive.
+ ListenersNonBlockingPassive,
+ // This value represents a state which would have normally blocking
+ // but was forced to be non-blocking.
+ ListenersForcedNonBlockingPassive,
+ };
+
// The rail mode for a wheel event specifies the axis on which scrolling is
// expected to stick. If this axis is set to Free, then scrolling is not
// stuck to any axis.
@@ -602,9 +615,9 @@ public:
// List of all touches, regardless of state.
WebTouchPoint touches[touchesLengthCap];
- // Whether the event can be canceled (with preventDefault). If true then the browser
- // must wait for an ACK for this event. If false then no ACK IPC is expected.
- bool cancelable;
+ // Whether the event is blocking, non-blocking, all event
+ // listeners were passive or was forced to be non-blocking.
+ DispatchType dispatchType;
// For a single touch, this is true after the touch-point has moved beyond
// the platform slop region. For a multitouch, this is true after any
@@ -617,7 +630,7 @@ public:
WebTouchEvent()
: WebInputEvent(sizeof(WebTouchEvent))
, touchesLength(0)
- , cancelable(true)
+ , dispatchType(Blocking)
, movedBeyondSlopRegion(false)
, uniqueTouchEventId(0)
{

Powered by Google App Engine
This is Rietveld 408576698