DescriptionModify gesture event types for WebView-tag scroll bubbling.
This CL:
(1) Adds a field |resendingPluginId|to allow unconsumed
scroll events to be marked as "resent". This will allow
asynchronous processing of scrolls between embedder/guest
for BrowserTag WebView.
(2) Forwards GestureFlingStart to the target node so that a
guest can properly determine the begin and end of a gesture
scroll. Previously the guest might receive two or more
GestureScrollStart events in succession, causing debug-builds
to fail on DCHECKs. GestureFlingStart conversions are updated
to propagate velocities, as receiving a GestureFlingStart
with zero velocity will trigger errors.
In a future CL it may be possible to avoid creating fling
curves in the embedder that target a guest---these flings
will instead be created in the guest. This will decrease IPC
traffic, and presumably decrease jitter in the guest's fling.
(3) Add plumbing so GestureScrollUpdate's |inertial| field be
properly converted between WebGestureEvent, GestureEvent and
PlatformGestureEvent. This is required so the guest can
filter GestureScrollUpdates that are generated by fling
curves, as these are generated outside the GestureScrollBegin
and GestureScrollEnd-GestureFlingStart boundaries.
Note: when WebView-tag transitions to using OOPIF instead of
BrowserPlugin, all of this can be removed (though I would
recommend still allowing plugins to process GestureFlingStart)
This CL must land before
https://codereview.chromium.org/1308273003/
BUG=491940
Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=202448
Patch Set 1 #Patch Set 2 : Fix test compilation. #Patch Set 3 : Forward GestureFlingStart, more event state plumbing. #Patch Set 4 : Rebase to trunk@202051 #Patch Set 5 : Fix test expectation. #
Total comments: 8
Patch Set 6 : Address tdresser@'s comments. #Patch Set 7 : Rename |resendSource| to |resendingPluginId|. #
Total comments: 29
Patch Set 8 : Use -1 instead of 0 for null plugin id. #
Total comments: 2
Patch Set 9 : Cleanup asserts. #
Total comments: 1
Patch Set 10 : Add comment to explain |resendingPluginId|. #
Depends on Patchset: Messages
Total messages: 41 (15 generated)
|