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

Issue 796227 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Dec 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Chrome , Mac
Pri: 1
Type: Bug

Blocking:
issue 796651



Sign in to add a comment

WebWidget::HitTestResultAt() doesn't work in OOPIF processes

Project Member Reported by kenrb@chromium.org, Dec 19 2017

Issue description

WebWidget::HitTestResultAt() is implemented in WebViewFrameWidget, and asks the WebViewImpl for a hit test result. This won't work to hit test within an OOPIF, because WebViewImpl is a page-level object and can't do a hit test when the main frame is remote.

WebFrameWidgetImpl has parallel hit test methods to what are in WebViewImpl (i.e. CoreHitTestResultAt(), HitTestResultForRootFramePos()), and are designed to work with OOPIFs. The fix seems to be straightforward, we just need WebFrameWidgetImpl to override and implement HitTestResultAt(). I will upload a CL shortly, although I am having trouble running browser tests at the moment so adding a working test might be delayed.
 

Comment 2 by sadrul@chromium.org, Dec 20 2017

Blocking: 796651
Project Member

Comment 3 by bugdroid1@chromium.org, Dec 20 2017

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

commit 5cf69dfccd95c1eb49e10c61f823e1849975496a
Author: Ken Buchanan <kenrb@chromium.org>
Date: Wed Dec 20 21:53:50 2017

Add WebFrameWidgetImpl::HitTestResultAt

WebWidget::HitTestResultAt is currently only implemented in
WebViewFrameWidget, which means it will not work within OOPIFs.

This adds an override to WebFrameWidgetImpl which will allow the
InputTargetClient interface to perform hit testing within OOPIF
processes.

Bug:  796227 
Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel
Change-Id: I815d19d70b607f55c3e1b02ffc683982514d7567
Reviewed-on: https://chromium-review.googlesource.com/834308
Commit-Queue: Ken Buchanan <kenrb@chromium.org>
Reviewed-by: Navid Zolghadr <nzolghadr@chromium.org>
Reviewed-by: Nasko Oskov <nasko@chromium.org>
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Cr-Commit-Position: refs/heads/master@{#525478}
[modify] https://crrev.com/5cf69dfccd95c1eb49e10c61f823e1849975496a/content/browser/site_per_process_browsertest.cc
[modify] https://crrev.com/5cf69dfccd95c1eb49e10c61f823e1849975496a/services/viz/public/interfaces/hit_test/input_target_client.mojom
[modify] https://crrev.com/5cf69dfccd95c1eb49e10c61f823e1849975496a/testing/buildbot/filters/viz.content_browsertests.filter
[modify] https://crrev.com/5cf69dfccd95c1eb49e10c61f823e1849975496a/third_party/WebKit/Source/core/frame/WebFrameWidgetImpl.cpp
[modify] https://crrev.com/5cf69dfccd95c1eb49e10c61f823e1849975496a/third_party/WebKit/Source/core/frame/WebFrameWidgetImpl.h

Comment 4 by kenrb@chromium.org, Dec 20 2017

Status: Fixed (was: Assigned)

Sign in to add a comment