WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
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
Details
Formatted Diff
Diff
Patch
(3.49 KB, patch)
2012-11-20 11:21 PST
,
yusufo
no flags
Details
Formatted Diff
Diff
Patch
(3.27 KB, patch)
2012-11-26 14:33 PST
,
yusufo
no flags
Details
Formatted Diff
Diff
Show Obsolete
(2)
View All
Add attachment
proposed patch, testcase, etc.
yusufo
Comment 1
2012-11-16 11:14:48 PST
Created
attachment 174724
[details]
Patch
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
Created
attachment 175250
[details]
Patch
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
Created
attachment 176069
[details]
Patch
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.
Top of Page
Format For Printing
XML
Clone This Bug