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

Issue 2479123003: WIP Add getCoalescedEvents API using vector of WebInputEvents (Closed)

Created:
4 years, 1 month ago by Navid Zolghadr
Modified:
3 years, 11 months ago
CC:
apavlov+blink_chromium.org, blink-reviews, blink-reviews-api_chromium.org, caseq+blink_chromium.org, chromium-apps-reviews_chromium.org, chromium-reviews, creis+watch_chromium.org, darin-cc_chromium.org, dcheng, devtools-reviews_chromium.org, dglazkov+blink, dtapuska+blinkwatch_chromium.org, dtapuska+chromiumwatch_chromium.org, einbinder+watch-test-runner_chromium.org, extensions-reviews_chromium.org, jam, jochen+watch_chromium.org, kinuko+watch, kozyatinskiy+blink_chromium.org, lushnikov+blink_chromium.org, mlamouri+watch-test-runner_chromium.org, mlamouri+watch-blink_chromium.org, mlamouri+watch-content_chromium.org, nasko+codewatch_chromium.org, pfeldman+blink_chromium.org, piman+watch_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Add getCoalescedEvents API using vector of WebInputEvents This CL passes vector of coalesced events down the path of input events. BUG=656781

Patch Set 1 #

Total comments: 1

Patch Set 2 : Creating CoalescedWebInputEvent #

Total comments: 21
Unified diffs Side-by-side diffs Delta from patch set Stats (+828 lines, -415 lines) Patch
M components/plugins/renderer/webview_plugin.h View 1 1 chunk +1 line, -1 line 0 comments Download
M components/plugins/renderer/webview_plugin.cc View 1 3 chunks +9 lines, -8 lines 0 comments Download
M components/test_runner/event_sender.cc View 1 3 chunks +4 lines, -3 lines 0 comments Download
M components/test_runner/test_plugin.h View 1 2 chunks +2 lines, -1 line 0 comments Download
M components/test_runner/test_plugin.cc View 1 2 chunks +5 lines, -3 lines 0 comments Download
M components/test_runner/text_input_controller.cc View 1 2 chunks +2 lines, -2 lines 0 comments Download
M content/browser/renderer_host/input/input_router_impl.cc View 1 1 chunk +3 lines, -2 lines 0 comments Download
M content/common/DEPS View 1 1 chunk +1 line, -0 lines 5 comments Download
M content/common/input/event_with_latency_info.h View 1 2 chunks +8 lines, -7 lines 0 comments Download
M content/common/input/event_with_latency_info.cc View 1 3 chunks +17 lines, -9 lines 0 comments Download
M content/common/input/input_event.h View 1 2 chunks +2 lines, -2 lines 0 comments Download
M content/common/input/input_param_traits.h View 1 1 chunk +4 lines, -3 lines 0 comments Download
M content/common/input/input_param_traits.cc View 1 2 chunks +13 lines, -9 lines 0 comments Download
M content/common/input/web_input_event_queue.h View 1 1 chunk +4 lines, -1 line 0 comments Download
M content/common/input/web_touch_event_traits.h View 1 1 chunk +0 lines, -1 line 0 comments Download
M content/common/input_messages.h View 1 1 chunk +2 lines, -1 line 0 comments Download
M content/public/test/render_view_test.cc View 1 4 chunks +14 lines, -14 lines 0 comments Download
M content/renderer/browser_plugin/browser_plugin.h View 1 2 chunks +5 lines, -1 line 0 comments Download
M content/renderer/browser_plugin/browser_plugin.cc View 1 2 chunks +4 lines, -2 lines 0 comments Download
M content/renderer/gpu/gpu_benchmarking_extension.cc View 1 2 chunks +3 lines, -1 line 0 comments Download
M content/renderer/idle_user_detector.h View 1 2 chunks +4 lines, -2 lines 0 comments Download
M content/renderer/idle_user_detector.cc View 1 2 chunks +2 lines, -1 line 0 comments Download
M content/renderer/input/input_event_filter.h View 1 4 chunks +4 lines, -4 lines 0 comments Download
M content/renderer/input/input_event_filter.cc View 1 4 chunks +15 lines, -12 lines 0 comments Download
M content/renderer/input/input_handler_manager.h View 1 3 chunks +4 lines, -4 lines 0 comments Download
M content/renderer/input/input_handler_manager.cc View 1 3 chunks +4 lines, -4 lines 0 comments Download
M content/renderer/input/input_handler_manager_client.h View 1 2 chunks +2 lines, -3 lines 0 comments Download
M content/renderer/input/input_handler_wrapper.h View 1 1 chunk +1 line, -1 line 0 comments Download
M content/renderer/input/input_handler_wrapper.cc View 1 1 chunk +1 line, -1 line 0 comments Download
M content/renderer/input/main_thread_event_queue.h View 1 4 chunks +7 lines, -6 lines 0 comments Download
M content/renderer/input/main_thread_event_queue.cc View 1 9 chunks +14 lines, -12 lines 0 comments Download
M content/renderer/input/main_thread_event_queue_unittest.cc View 1 1 chunk +9 lines, -6 lines 0 comments Download
M content/renderer/input/render_widget_input_handler.h View 1 2 chunks +5 lines, -4 lines 0 comments Download
M content/renderer/input/render_widget_input_handler.cc View 1 2 chunks +3 lines, -2 lines 0 comments Download
M content/renderer/mus/compositor_mus_connection.h View 1 3 chunks +3 lines, -4 lines 0 comments Download
M content/renderer/mus/compositor_mus_connection.cc View 1 4 chunks +5 lines, -4 lines 0 comments Download
M content/renderer/mus/render_widget_mus_connection.h View 1 1 chunk +1 line, -1 line 0 comments Download
M content/renderer/mus/render_widget_mus_connection.cc View 1 1 chunk +1 line, -1 line 0 comments Download
M content/renderer/pepper/pepper_plugin_instance_impl.cc View 1 1 chunk +1 line, -1 line 0 comments Download
M content/renderer/pepper/pepper_webplugin_impl.h View 1 1 chunk +1 line, -1 line 0 comments Download
M content/renderer/pepper/pepper_webplugin_impl.cc View 1 2 chunks +3 lines, -2 lines 0 comments Download
M content/renderer/render_frame_impl.cc View 1 2 chunks +4 lines, -2 lines 0 comments Download
M content/renderer/render_view_impl.h View 1 1 chunk +5 lines, -3 lines 0 comments Download
M content/renderer/render_view_impl.cc View 1 1 chunk +1 line, -0 lines 0 comments Download
M content/renderer/render_widget.h View 1 1 chunk +5 lines, -3 lines 0 comments Download
M content/renderer/render_widget.cc View 1 1 chunk +7 lines, -4 lines 0 comments Download
M content/renderer/render_widget_fullscreen_pepper.cc View 1 1 chunk +3 lines, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt View 1 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/core/events/PointerEvent.h View 2 chunks +5 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/events/PointerEvent.cpp View 2 chunks +17 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/events/PointerEvent.idl View 1 chunk +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/events/PointerEventFactory.h View 1 1 chunk +4 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/core/events/PointerEventFactory.cpp View 1 7 chunks +115 lines, -48 lines 0 comments Download
M third_party/WebKit/Source/core/events/PointerEventFactoryTest.cpp View 2 chunks +4 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/core/events/PointerEventInit.idl View 1 1 chunk +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/input/EventHandler.h View 5 chunks +10 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/core/input/EventHandler.cpp View 1 11 chunks +30 lines, -17 lines 0 comments Download
M third_party/WebKit/Source/core/input/EventHandlerTest.cpp View 3 chunks +6 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/core/input/MouseEventManager.cpp View 1 1 chunk +3 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/input/PointerEventManager.h View 1 2 chunks +12 lines, -6 lines 0 comments Download
M third_party/WebKit/Source/core/input/PointerEventManager.cpp View 1 7 chunks +27 lines, -34 lines 0 comments Download
M third_party/WebKit/Source/core/inspector/InspectorInputAgent.cpp View 1 1 chunk +6 lines, -1 line 0 comments Download
M third_party/WebKit/Source/platform/BUILD.gn View 1 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/RuntimeEnabledFeatures.in View 1 1 chunk +1 line, -0 lines 0 comments Download
A third_party/WebKit/Source/web/CoalescedWebInputEvent.cpp View 1 1 chunk +132 lines, -0 lines 3 comments Download
M third_party/WebKit/Source/web/ExternalPopupMenu.cpp View 1 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/web/InspectorOverlay.h View 1 2 chunks +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/web/InspectorOverlay.cpp View 1 3 chunks +19 lines, -7 lines 0 comments Download
M third_party/WebKit/Source/web/PageWidgetDelegate.h View 1 4 chunks +9 lines, -5 lines 0 comments Download
M third_party/WebKit/Source/web/PageWidgetDelegate.cpp View 1 5 chunks +17 lines, -9 lines 0 comments Download
M third_party/WebKit/Source/web/WebFrameWidgetImpl.h View 1 2 chunks +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/web/WebFrameWidgetImpl.cpp View 1 3 chunks +4 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/web/WebInputEventConversion.h View 1 1 chunk +7 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/web/WebInputEventConversion.cpp View 1 1 chunk +22 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/web/WebPagePopupImpl.h View 1 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/web/WebPagePopupImpl.cpp View 1 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/web/WebPluginContainerImpl.cpp View 1 7 chunks +15 lines, -6 lines 0 comments Download
M third_party/WebKit/Source/web/WebViewFrameWidget.h View 1 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/web/WebViewFrameWidget.cpp View 1 1 chunk +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/web/WebViewImpl.h View 1 2 chunks +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/web/WebViewImpl.cpp View 1 4 chunks +5 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/web/tests/FakeWebPlugin.h View 1 2 chunks +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/web/tests/LinkSelectionTest.cpp View 1 4 chunks +6 lines, -6 lines 0 comments Download
M third_party/WebKit/Source/web/tests/TouchActionTest.cpp View 1 2 chunks +2 lines, -1 line 0 comments Download
M third_party/WebKit/Source/web/tests/VisualViewportTest.cpp View 1 4 chunks +10 lines, -6 lines 0 comments Download
M third_party/WebKit/Source/web/tests/WebPluginContainerTest.cpp View 1 1 chunk +4 lines, -3 lines 0 comments Download
M third_party/WebKit/public/BUILD.gn View 1 1 chunk +1 line, -0 lines 0 comments Download
A third_party/WebKit/public/platform/CoalescedWebInputEvent.h View 1 1 chunk +73 lines, -0 lines 13 comments Download
M third_party/WebKit/public/web/WebPlugin.h View 1 2 chunks +2 lines, -2 lines 0 comments Download
M third_party/WebKit/public/web/WebWidget.h View 1 2 chunks +2 lines, -2 lines 0 comments Download
M ui/events/blink/BUILD.gn View 1 1 chunk +0 lines, -2 lines 0 comments Download
M ui/events/blink/DEPS View 1 1 chunk +1 line, -0 lines 0 comments Download
M ui/events/blink/input_handler_proxy.h View 1 2 chunks +3 lines, -4 lines 0 comments Download
M ui/events/blink/input_handler_proxy.cc View 1 2 chunks +4 lines, -3 lines 0 comments Download
M ui/events/blink/input_handler_proxy_client.h View 1 2 chunks +1 line, -3 lines 0 comments Download
M ui/events/blink/input_handler_proxy_unittest.cc View 1 1 chunk +1 line, -1 line 0 comments Download
D ui/events/blink/scoped_web_input_event.h View 1 1 chunk +0 lines, -26 lines 0 comments Download
D ui/events/blink/scoped_web_input_event.cc View 1 1 chunk +0 lines, -20 lines 0 comments Download
M ui/events/blink/web_input_event_traits.h View 1 2 chunks +3 lines, -3 lines 0 comments Download
M ui/events/blink/web_input_event_traits.cc View 1 2 chunks +7 lines, -5 lines 0 comments Download

Messages

Total messages: 33 (10 generated)
Navid Zolghadr
Can you have a quick look and let me know if you have an idea ...
4 years, 1 month ago (2016-11-07 16:01:31 UTC) #3
Navid Zolghadr
Mustaq was missed the first time I sent this. Can you have a quick look ...
4 years, 1 month ago (2016-11-07 20:13:34 UTC) #5
Navid Zolghadr
https://codereview.chromium.org/2479123003/diff/20001/content/common/DEPS File content/common/DEPS (right): https://codereview.chromium.org/2479123003/diff/20001/content/common/DEPS#newcode12 content/common/DEPS:12: "+third_party/WebKit/public/platform/CoalescedWebInputEvent.h", Dave, is this okay to include such a ...
4 years, 1 month ago (2016-11-16 17:17:38 UTC) #8
dtapuska
from a quick high level view this seems reasonable. But we probably want a platform ...
4 years, 1 month ago (2016-11-21 18:21:18 UTC) #9
Navid Zolghadr
rbyers@ can you have a look at content/common/DEPS and see whether that is okay to ...
4 years, 1 month ago (2016-11-21 18:26:20 UTC) #11
Rick Byers
On 2016/11/21 18:26:20, Navid Zolghadr wrote: > rbyers@ can you have a look at > ...
4 years, 1 month ago (2016-11-21 19:11:57 UTC) #12
Navid Zolghadr
On 2016/11/21 19:11:57, Rick Byers wrote: > On 2016/11/21 18:26:20, Navid Zolghadr wrote: > > ...
4 years, 1 month ago (2016-11-21 19:16:01 UTC) #13
Navid Zolghadr
Jeremy, I wanted to ask your opinion about the changes in content/common/DEPS and the fact ...
4 years, 1 month ago (2016-11-21 19:34:26 UTC) #15
Rick Byers
On 2016/11/21 19:16:01, Navid Zolghadr wrote: > On 2016/11/21 19:11:57, Rick Byers wrote: > > ...
4 years, 1 month ago (2016-11-22 00:09:23 UTC) #16
Navid Zolghadr
On 2016/11/22 00:09:23, Rick Byers wrote: > On 2016/11/21 19:16:01, Navid Zolghadr wrote: > > ...
4 years, 1 month ago (2016-11-22 01:03:08 UTC) #17
jbroman
https://codereview.chromium.org/2479123003/diff/20001/content/common/DEPS File content/common/DEPS (right): https://codereview.chromium.org/2479123003/diff/20001/content/common/DEPS#newcode12 content/common/DEPS:12: "+third_party/WebKit/public/platform/CoalescedWebInputEvent.h", On 2016/11/16 at 17:17:38, Navid Zolghadr wrote: > ...
4 years, 1 month ago (2016-11-22 15:27:37 UTC) #18
Navid Zolghadr
https://codereview.chromium.org/2479123003/diff/20001/content/common/DEPS File content/common/DEPS (right): https://codereview.chromium.org/2479123003/diff/20001/content/common/DEPS#newcode12 content/common/DEPS:12: "+third_party/WebKit/public/platform/CoalescedWebInputEvent.h", On 2016/11/22 15:27:37, jbroman wrote: > On 2016/11/16 ...
4 years, 1 month ago (2016-11-22 15:38:04 UTC) #19
jbroman
https://codereview.chromium.org/2479123003/diff/20001/content/common/DEPS File content/common/DEPS (right): https://codereview.chromium.org/2479123003/diff/20001/content/common/DEPS#newcode12 content/common/DEPS:12: "+third_party/WebKit/public/platform/CoalescedWebInputEvent.h", On 2016/11/22 at 15:38:04, Navid Zolghadr wrote: > ...
4 years, 1 month ago (2016-11-22 16:02:39 UTC) #20
Navid Zolghadr
https://codereview.chromium.org/2479123003/diff/20001/content/common/DEPS File content/common/DEPS (right): https://codereview.chromium.org/2479123003/diff/20001/content/common/DEPS#newcode12 content/common/DEPS:12: "+third_party/WebKit/public/platform/CoalescedWebInputEvent.h", On 2016/11/22 16:02:39, jbroman wrote: > On 2016/11/22 ...
4 years, 1 month ago (2016-11-22 16:59:54 UTC) #22
jochen (gone - plz use gerrit)
deferring to esprehn@
4 years ago (2016-11-23 15:09:43 UTC) #23
Navid Zolghadr
On 2016/11/23 15:09:43, jochen wrote: > deferring to esprehn@ esprehn@ can you have a look ...
4 years ago (2016-11-28 15:36:30 UTC) #24
Navid Zolghadr
On 2016/11/28 15:36:30, Navid Zolghadr wrote: > On 2016/11/23 15:09:43, jochen wrote: > > deferring ...
4 years ago (2016-12-06 03:21:26 UTC) #25
dglazkov
How can this patch be smaller? It looks like the entire feature is implemented in ...
4 years ago (2016-12-06 03:46:48 UTC) #27
Navid Zolghadr
On 2016/12/06 03:46:48, dglazkov wrote: > How can this patch be smaller? It looks like ...
4 years ago (2016-12-06 04:21:59 UTC) #28
dglazkov
On 2016/12/06 at 04:21:59, nzolghadr wrote: > On 2016/12/06 03:46:48, dglazkov wrote: > > How ...
4 years ago (2016-12-06 04:57:28 UTC) #29
dglazkov
On 2016/11/22 at 16:02:39, jbroman wrote: > https://codereview.chromium.org/2479123003/diff/20001/content/common/DEPS > File content/common/DEPS (right): > > https://codereview.chromium.org/2479123003/diff/20001/content/common/DEPS#newcode12 ...
4 years ago (2016-12-06 23:05:40 UTC) #30
esprehn
From my side this patch is so massive, I think we need to split it ...
4 years ago (2016-12-07 00:18:54 UTC) #31
Navid Zolghadr
4 years ago (2016-12-07 00:46:45 UTC) #32
On 2016/12/06 23:05:40, dglazkov wrote:
> On 2016/11/22 at 16:02:39, jbroman wrote:
> > https://codereview.chromium.org/2479123003/diff/20001/content/common/DEPS
> > File content/common/DEPS (right):
> > 
> >
>
https://codereview.chromium.org/2479123003/diff/20001/content/common/DEPS#new...
> > content/common/DEPS:12:
> "+third_party/WebKit/public/platform/CoalescedWebInputEvent.h",
> > On 2016/11/22 at 15:38:04, Navid Zolghadr wrote:
> > > On 2016/11/22 15:27:37, jbroman wrote:
> > > > On 2016/11/16 at 17:17:38, Navid Zolghadr wrote:
> > > > > Dave, is this okay to include such a object like
CoalescedWebInputEvent
> here?
> > > > It doesn't seem to be inline with the comment above. If not I won't be
> able to
> > > > modify the ScopedWebInputEventWithLatencyInfo to contain a coalesced
event
> and I
> > > > should find another place to keep that structure.
> > > > 
> > > > Is there a lot of value to doing this, as opposed to just carrying
around
> > > > std::vector until we call into Blink? Yes it's another copy, but I think
> we'd
> > > > rather move toward having _less_ Blink code running in the browser
> process, not
> > > > more. (It's tricky, because using certain Blink classes requires Blink
to
> be
> > > > initialized, which it is not in the browser process.)
> > > 
> > > So you are suggesting something like what I had in the patchset 1 right?
> > 
> > Discussed offline. It'd be nice not to expand this list at all, but
something
> that was at least all in the header (and doesn't require linking any
non-inline
> Blink code) would probably be okay. Do check with esprehn@ and content/OWNERS,
> though, because this is likely to be controversial.
> 
> Could we go with a combo? WebInputEvent + std::vector<WebInputEvent> outside
of
> content/renderer, and then immediately converted into WebCoalescedInputEvent
> when in content/renderer?

This is what kind of the first patch in this CL looked like. I'm fine with this
if no one else has any problem. There is a little complication with this though.
WebInputEvent is a polymorphic class. So I need to keep an
std::vector<std::unique_ptr<WebInputEvent> > and pass a const & of it around.
So I need

Powered by Google App Engine
This is Rietveld 408576698