Event routing for browser to renderer (with oopifs/webview) isn't correct for --mus |
|||||||||
Issue descriptionMy understanding of how event routing works for browser->renderer is: . Each frame registers a mapping between FrameSinkId and RenderWidgetHostViewBase (RenderWidgetHostInputEventRouter::AddFrameSinkIdOwner). . RenderWidgetHostInputEventRouter gets hit test data (RenderWidgetHostInputEventRouter::OnHittestData). . Events are routed to RenderWidgetHostInputEventRouter, which uses the hit test data and FrameSinkIds to know how to route the event. Problem is with --mus/--mash we are not correctly registering the mapping. There are early outs in a handful of places (such as RenderWidgetHostViewChildFrame and RenderWidgetHostViewAura). Additionally the browser doesn't necessarily know the real FrameSinkId, so it can't do the mapping.
,
Oct 31 2017
,
Oct 31 2017
Ken, is this work you plan on doing?
,
Nov 1 2017
I have a WIP CL to route hit test regions to the CompositorFrameSinkSupport through the browser process' content layer, and the tentative plan is to have RenderWidgetHostInputEventRouter own a viz::HitTestQuery which it will use to obtain the FrameSinkId for the target RenderWidgetHostView. I can own this work.
,
Nov 1 2017
Thanks Ken! I suspect you're going to run into a problem mapping FrameSinkIds to windows in --mash (and possibly --mus). I'm happy to help out here once you get far enough along.
,
Nov 15 2017
,
Nov 15 2017
,
Dec 8 2017
This is no longer a blocker for 731255 as we're going with the browser assigning all FrameSinkIds, and we're going with the classic path for registering RenderWidgetHostInputEventRouter, which means it all just work for --mus now. That isn't the case for --mus=viz (or --mash) though.
,
Dec 19 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f1677be12bc5bd2f1445fb3fd82ce3983b677cf9 commit f1677be12bc5bd2f1445fb3fd82ce3983b677cf9 Author: Ken Buchanan <kenrb@chromium.org> Date: Tue Dec 19 22:39:26 2017 Allow RenderWidgetHostInputEventRouter to use viz hit testing Tentative CL for using the alternative browser process hit testing path when running with --enable-viz. Bug: 780279 Change-Id: I314808fd8f8264168aff3ee128d7782d37525e9d Reviewed-on: https://chromium-review.googlesource.com/817621 Commit-Queue: Ken Buchanan <kenrb@chromium.org> Reviewed-by: kylechar <kylechar@chromium.org> Reviewed-by: Ria Jiang <riajiang@chromium.org> Cr-Commit-Position: refs/heads/master@{#525165} [modify] https://crrev.com/f1677be12bc5bd2f1445fb3fd82ce3983b677cf9/content/browser/renderer_host/browser_compositor_view_mac.h [modify] https://crrev.com/f1677be12bc5bd2f1445fb3fd82ce3983b677cf9/content/browser/renderer_host/browser_compositor_view_mac.mm [modify] https://crrev.com/f1677be12bc5bd2f1445fb3fd82ce3983b677cf9/content/browser/renderer_host/render_widget_host_input_event_router.cc [modify] https://crrev.com/f1677be12bc5bd2f1445fb3fd82ce3983b677cf9/content/browser/renderer_host/render_widget_host_input_event_router.h [modify] https://crrev.com/f1677be12bc5bd2f1445fb3fd82ce3983b677cf9/content/browser/renderer_host/render_widget_host_view_aura.cc [modify] https://crrev.com/f1677be12bc5bd2f1445fb3fd82ce3983b677cf9/content/browser/renderer_host/render_widget_host_view_aura.h [modify] https://crrev.com/f1677be12bc5bd2f1445fb3fd82ce3983b677cf9/content/browser/renderer_host/render_widget_host_view_base.cc [modify] https://crrev.com/f1677be12bc5bd2f1445fb3fd82ce3983b677cf9/content/browser/renderer_host/render_widget_host_view_base.h [modify] https://crrev.com/f1677be12bc5bd2f1445fb3fd82ce3983b677cf9/content/browser/renderer_host/render_widget_host_view_mac.h [modify] https://crrev.com/f1677be12bc5bd2f1445fb3fd82ce3983b677cf9/content/browser/renderer_host/render_widget_host_view_mac.mm
,
Feb 6 2018
The integration of this and the blocking bugs should be sufficient to use Viz hit testing for M66/M67, in order to get rid of the current performance penalty of 'slow path' hit testing. That would seem to mean this is an appropriate tracking bug for that.
,
Feb 6 2018
I thought this is specific to mus/mash? We shouldn't need this for M66/67, right? In order to perform better compared to the current scheme, we'll need this 732392 version.
,
Feb 26 2018
,
Sep 6
|
|||||||||
►
Sign in to add a comment |
|||||||||
Comment 1 by sky@chromium.org
, Oct 31 2017