New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 879791 link

Starred by 2 users

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug

Blocked on: View detail
issue 879308
issue 881574
issue 866628



Sign in to add a comment

Event dispatch to OOPIFs doesn't work with mus

Project Member Reported by sky@chromium.org, Aug 31

Issue description

It would appear some key code does nothing in RenderWidgetHostViewAura that is needed for event dispatch. In particular CreateDelegatedFrameHostClient() early outs for mus. And similarly RenderWidgetHostViewChildFrame does not register the frame sink id in SetFrameSinkId(). The latter is an easy fix, but not enough.

I'm not familiar enough with this code to know how it needs to be wired up for mus. If someone can give me an overview, I can attempt it.

At one point this was working, but lack of test coverage mean it no longer does:(

This also relied on the browser seeing the whole server window hierarchy at one point. That is no longer wired up for current mus implementation. I was in the process of implementing it for this, when I realized event dispatch doesn't work at all. That bug is 866628. I'm not sure it's required anymore though. Will figure that out once I understand how all this should work.
 
Components: Internals>Services>WindowService
Blockedon: 881574
Blockedon: 879308
Owner: sky@chromium.org
Status: Started (was: Untriaged)

Comment 5 Deleted

Status: Started (was: Fixed)
Project Member

Comment 7 by bugdroid1@chromium.org, Sep 28

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d28ee327131cee5c2f0b2d0420f73ca34d22db4c

commit d28ee327131cee5c2f0b2d0420f73ca34d22db4c
Author: Scott Violet <sky@chromium.org>
Date: Fri Sep 28 03:02:14 2018

aura: makes WindowPortMus use HitTestDataProviderDrawQuad

This works better for hit testing with mash.

BUG=879791
TEST=none

Change-Id: Ie87e72933f80a77955f301da2195934109d7f569
Reviewed-on: https://chromium-review.googlesource.com/1250123
Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
Commit-Queue: Scott Violet <sky@chromium.org>
Cr-Commit-Position: refs/heads/master@{#594968}
[modify] https://crrev.com/d28ee327131cee5c2f0b2d0420f73ca34d22db4c/ui/aura/mus/window_port_mus.cc

Project Member

Comment 8 by bugdroid1@chromium.org, Oct 1

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8cb05f56ee91da91a3cb08945ddbbc89d1270ee4

commit 8cb05f56ee91da91a3cb08945ddbbc89d1270ee4
Author: Scott Violet <sky@chromium.org>
Date: Mon Oct 01 19:46:35 2018

content: gets RWHVA::GetRootFrameSinkId working with single-process mash

This adds HostFrameSinkManager::FindRootFrameSinkId() to find the root
frame sink id. This is necessary as
window->GetHost()->compositor()->frame_sink_id() is not the root frame sink in
mash.

BUG=879791
TEST=none

Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel
Change-Id: I5a1520b2ba144cb231d254059810ff153add3a49
Reviewed-on: https://chromium-review.googlesource.com/1249152
Commit-Queue: Scott Violet <sky@chromium.org>
Reviewed-by: kylechar <kylechar@chromium.org>
Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
Cr-Commit-Position: refs/heads/master@{#595512}
[modify] https://crrev.com/8cb05f56ee91da91a3cb08945ddbbc89d1270ee4/components/viz/host/host_frame_sink_manager.cc
[modify] https://crrev.com/8cb05f56ee91da91a3cb08945ddbbc89d1270ee4/components/viz/host/host_frame_sink_manager.h
[modify] https://crrev.com/8cb05f56ee91da91a3cb08945ddbbc89d1270ee4/components/viz/host/host_frame_sink_manager_unittest.cc
[modify] https://crrev.com/8cb05f56ee91da91a3cb08945ddbbc89d1270ee4/content/browser/renderer_host/render_widget_host_view_aura.cc

Labels: -Proj-Mash-SingleProcess Proj-Mash-MultiProcess
This is now working for single-process-mash. I'm going to retarget to multi-process-mash as it still doesn't work there.
Owner: ----
Status: Available (was: Started)
Project Member

Comment 11 by bugdroid1@chromium.org, Yesterday (35 hours ago)

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b4f6394dcd59d8697e154c2e2c74eb85284f2e4b

commit b4f6394dcd59d8697e154c2e2c74eb85284f2e4b
Author: Mike Wasserman <msw@chromium.org>
Date: Mon Jan 21 22:38:35 2019

mash: content: changes RenderWidgetHostInputEventRouter hit test querying

Rebase of sky@'s < http://crrev.com/c/1239454 >.
Also, make FindTargetForLocationStartingFromImpl virtual for testing.

Original description:
=====================================================================
Specifically this converts from starting the hit testing from the root to
hit testing from the frame-sink of the RenderWidgetHost. As the event is
already received by the RenderWidgetHost hit testing can start from there,
rather than the root.

This matters in the mash case because of hot hit testing works.
=====================================================================

TODO: After this change, we may be able to revert http://crrev.com/c/1249152
(sky@ suggested this should be possible, but it breaks SPM iframe targeting afaict)

Bug: 879791,  920931 
Test: SingleProcessMash web content (w/iframe) hit testing works with a11y magnifier.
Change-Id: Ie6c53ecfdba9444c62a9b3e3a7f573f0ec27ce6b
Reviewed-on: https://chromium-review.googlesource.com/c/1411650
Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
Reviewed-by: Ria Jiang <riajiang@chromium.org>
Commit-Queue: Michael Wasserman <msw@chromium.org>
Cr-Commit-Position: refs/heads/master@{#624687}
[modify] https://crrev.com/b4f6394dcd59d8697e154c2e2c74eb85284f2e4b/components/viz/host/hit_test/hit_test_query.cc
[modify] https://crrev.com/b4f6394dcd59d8697e154c2e2c74eb85284f2e4b/components/viz/host/hit_test/hit_test_query.h
[modify] https://crrev.com/b4f6394dcd59d8697e154c2e2c74eb85284f2e4b/components/viz/host/hit_test/hit_test_query_unittest.cc
[modify] https://crrev.com/b4f6394dcd59d8697e154c2e2c74eb85284f2e4b/content/browser/renderer_host/render_widget_host_input_event_router.cc
[modify] https://crrev.com/b4f6394dcd59d8697e154c2e2c74eb85284f2e4b/content/browser/renderer_host/render_widget_host_input_event_router_unittest.cc

Sign in to add a comment