RESOLVED FIXED 102541
Add hasTouchEventhandlersAt to WebWidget API
https://bugs.webkit.org/show_bug.cgi?id=102541
Summary Add hasTouchEventhandlersAt to WebWidget API
yusufo
Reported 2012-11-16 11:13:10 PST
Add WebInputEventAck.h to expose EventDisposition in WebCompositorInputHandlerImpl
Attachments
Patch (7.41 KB, patch)
2012-11-16 11:14 PST, yusufo
no flags
Patch (3.49 KB, patch)
2012-11-20 11:21 PST, yusufo
no flags
Patch (3.27 KB, patch)
2012-11-26 14:33 PST, yusufo
no flags
yusufo
Comment 1 2012-11-16 11:14:48 PST
WebKit Review Bot
Comment 2 2012-11-16 11:18:14 PST
Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.
James Robinson
Comment 3 2012-11-16 12:52:07 PST
Comment on attachment 174724 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=174724&action=review > Source/WebKit/chromium/public/WebInputEventAck.h:36 > +enum EventDisposition { DidHandle, DidNotHandle, DropEvent }; We don't need this. Look at WebCompositorInputHandlerClient - it has didHandleInputEvent() and didNotHandleInputEvent(bool) already
yusufo
Comment 4 2012-11-16 13:31:40 PST
What I meant was exposing the distinction to classes outside WebCompositorInputHandler and Client. The client makes that distinction, but when the ACK IPC is send to render_widget_host, we only have the boolean. My plan was to start sending this enum with the IPC(ViewHostMsg_HandleInputEvent_ACK) instead of a bool, so we can make decisions based on whether the event was not handled or dropped on the browser side. (In reply to comment #3) > (From update of attachment 174724 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=174724&action=review > > > Source/WebKit/chromium/public/WebInputEventAck.h:36 > > +enum EventDisposition { DidHandle, DidNotHandle, DropEvent }; > > We don't need this. Look at WebCompositorInputHandlerClient - it has didHandleInputEvent() and didNotHandleInputEvent(bool) already
James Robinson
Comment 5 2012-11-16 13:36:38 PST
(In reply to comment #4) > What I meant was exposing the distinction to classes outside WebCompositorInputHandler and Client. The client makes that distinction, but when the ACK IPC is send to render_widget_host, we only have the boolean. My plan was to start sending this enum with the IPC(ViewHostMsg_HandleInputEvent_ACK) instead of a bool, so we can make decisions based on whether the event was not handled or dropped on the browser side. > WebCompositorInputHandlerClient is implemented in chromium (specifically in content/renderer/gpu/compositor_thread.cc), so you have access to all the information you need there and can do whatever you like (such as do something different than just sending the ACK). You don't need any changes on the WebKit side.
Alexandre Elias
Comment 6 2012-11-16 18:19:28 PST
I chatted with leviw@ and we agreed that we need to send a didHandle/didNotHandle/dropped tri-state from the WebKit thread as well, to have a fallback for the case where the compositor-thread rects are wrong. So this will need some kind of API change, though maybe instead of exposing a tri-state like this we could add a new WebView method to hit test for touch handler existence: bool hasTouchHandlerAt(const WebPoint&);
yusufo
Comment 7 2012-11-20 11:21:07 PST
yusufo
Comment 8 2012-11-20 11:21:55 PST
Renamed bug, uploaded new patch that adds hasTouchEventHandlersAt to WebView API. PTAL.
James Robinson
Comment 9 2012-11-25 22:01:19 PST
Comment on attachment 175250 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=175250&action=review The interface should move I think, but otherwise looks good. > Source/WebKit/chromium/public/WebView.h:275 > + // Check whether the given point hits any registered touch event handlers. > + virtual bool hasTouchEventHandlersAt(const WebPoint&) = 0; This should be on WebWidget - that's where handleInputEvent() is
yusufo
Comment 10 2012-11-26 14:33:44 PST
yusufo
Comment 11 2012-11-26 14:34:21 PST
Renamed bug to reflect changes and uploaded new patch. PTAL.
WebKit Review Bot
Comment 12 2012-11-26 16:40:40 PST
Comment on attachment 176069 [details] Patch Clearing flags on attachment: 176069 Committed r135787: <http://trac.webkit.org/changeset/135787>
WebKit Review Bot
Comment 13 2012-11-26 16:40:44 PST
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.