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

Issue 797362 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jan 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug



Sign in to add a comment

RenderWidgetTracker depends on content/browser/frame_host

Project Member Reported by sadrul@chromium.org, Dec 22 2017

Issue description

RenderWidgetTracker has to currently depend on content/browser/frame_host to find the RenderWidgetHostViewBase associated with a FrameSinkId returned from the mojom.InputTargetClient api. This should be removed, since it's a layering violation.
 

Comment 1 by sadrul@chromium.org, Dec 22 2017

Status: Available (was: Assigned)

Comment 2 by kenrb@chromium.org, Dec 22 2017

Cc: -kenrb@chromium.org
Owner: kenrb@chromium.org
Status: Assigned (was: Available)
I can take care of this in January.
Project Member

Comment 3 by bugdroid1@chromium.org, Jan 5 2018

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

commit 2894c17c9f356b50b4d5e2c7e8b5a455c7fb1d1d
Author: Sadrul Habib Chowdhury <sadrul@chromium.org>
Date: Fri Jan 05 06:56:09 2018

oopif events: Simplify the view look-up from a FrameSinkId.

Instead of looking up a target based on the process id/routing id, use
the FrameSinkId mapping maintained in the router to find the target view.
This gets rid of an unfortunate dependency on frame_host from
renderer_host. This also makes sure that the targeter keeps walking down
the tree of views in each step.  So a bad renderer cannot re-target the
event to an unrelated view.

BUG= 797362 ,  797661 

Change-Id: Iffb1cbd126fc0afa80cc8184305eb9e8b06f094b
Reviewed-on: https://chromium-review.googlesource.com/851357
Reviewed-by: Avi Drissman <avi@chromium.org>
Commit-Queue: Sadrul Chowdhury <sadrul@chromium.org>
Cr-Commit-Position: refs/heads/master@{#527234}
[modify] https://crrev.com/2894c17c9f356b50b4d5e2c7e8b5a455c7fb1d1d/content/browser/renderer_host/DEPS
[modify] https://crrev.com/2894c17c9f356b50b4d5e2c7e8b5a455c7fb1d1d/content/browser/renderer_host/render_widget_host_input_event_router.cc
[modify] https://crrev.com/2894c17c9f356b50b4d5e2c7e8b5a455c7fb1d1d/content/browser/renderer_host/render_widget_host_input_event_router.h
[modify] https://crrev.com/2894c17c9f356b50b4d5e2c7e8b5a455c7fb1d1d/content/browser/renderer_host/render_widget_targeter.cc
[modify] https://crrev.com/2894c17c9f356b50b4d5e2c7e8b5a455c7fb1d1d/content/browser/renderer_host/render_widget_targeter.h

Project Member

Comment 4 by bugdroid1@chromium.org, Jan 9 2018

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

commit a0b042e97aa4eb6b7270bdf5511c80dd76144d5d
Author: Ken Buchanan <kenrb@chromium.org>
Date: Tue Jan 09 21:48:08 2018

InputTargetClient to return widget FrameSinkId when hitting local frame

Currently when RenderWidgetInputHandler hit tests to an OOPIF, it
returns the FrameSinkId for that OOPIF, corresponding to the OOPIF's
RenderWidgetHost routing ID.

However, when it hits a local frame, it constructs a FrameSinkId from
the RenderFrame's routing ID. In the browser process this is not
present in RenderWidgetHostInputEventRouter's owner_map_ and causes
lookups to fail.

This changes RenderWidgetInputHandler to return the RenderWidget's
routing ID.

Bug:  797362 
Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel
Change-Id: I6b67fe6bac1253035c6a41307c7789cdaaa5eef2
Reviewed-on: https://chromium-review.googlesource.com/854706
Reviewed-by: Alex Moshchuk <alexmos@chromium.org>
Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
Commit-Queue: Ken Buchanan <kenrb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#528125}
[modify] https://crrev.com/a0b042e97aa4eb6b7270bdf5511c80dd76144d5d/content/browser/site_per_process_browsertest.cc
[modify] https://crrev.com/a0b042e97aa4eb6b7270bdf5511c80dd76144d5d/content/renderer/input/render_widget_input_handler.cc
[modify] https://crrev.com/a0b042e97aa4eb6b7270bdf5511c80dd76144d5d/content/renderer/render_widget_browsertest.cc
[modify] https://crrev.com/a0b042e97aa4eb6b7270bdf5511c80dd76144d5d/services/viz/public/interfaces/hit_test/input_target_client.mojom

Comment 5 by kenrb@chromium.org, Jan 16 2018

Status: Fixed (was: Assigned)

Sign in to add a comment