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

Issue 799567 link

Starred by 2 users

Issue metadata

Status: Assigned
Owner:
(OOO slow)
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Bug

Blocked on:
issue 754862

Blocking:
issue 791225



Sign in to add a comment

Tap to select text does not work in OOPIFs

Project Member Reported by mcnee@chromium.org, Jan 5 2018

Issue description

Chrome Version: 65.0.3312.0
OS: Android 7.0.0, Nexus 6

What steps will reproduce the problem?
(1) Run chrome on android with --site-per-process
(2) Visit http://csreis.github.io/tests/cross-site-iframe-simple.html
(3) Tap on text in the OOPIF

(Note that this is separate from long press to select text.)

What is the expected result?
The text should be selected. Tapping again on the selected text should bring up the selection handles and menu.

What happens instead?
The text is not selected.
 

Comment 1 by mcnee@chromium.org, Jan 5 2018

Note that the second tap to bring up the handles and menu needs a ContextMenuAllowedScope. We'll need to add that to WebFrameWidgetImpl::HandleGestureEvent, similar to  crbug.com/795300 . However, that on it's own does not fix the issue with the initial selection.
Cc: donnd@chromium.org
Tap to select is a Contextual Search feature. I believe the selection is triggered in the browser. donnd@ might have more insight.

Comment 3 by donnd@google.com, Jan 5 2018

Owner: donnd@chromium.org
Status: Assigned (was: Untriaged)
mcnee@ can you clarify?  When I tap on the text at the top of the page "Before you may cross..." the word is selected by the tap gesture.  Tapping on editable text fields is not supported by Contextual Search, and tapping on the text near those fields is problematic because of tap-gravity (the way taps near links try to select the link).

Comment 4 by mcnee@chromium.org, Jan 5 2018

The "Before you may cross..." text at the top cannot be selected for me with --site-per-process, but it can be selected without --site-per-process.

As another example, visit http://csreis.github.io/tests/cross-site-iframe.html with --site-per-process

Tap the "Go cross-site (simple page)" button. The text cannot be selected with a tap.
Compare with the "Go same-site" option where the text can be selected with a tap.

Comment 5 by mcnee@chromium.org, Jan 5 2018

To clarify the wording in c#4:
Tap the "Go cross-site (simple page)" button. The text inside the iframe "csreis.github.io" cannot be selected with a tap.
Compare with the "Go same-site" option where the text inside the iframe "Simple page" can be selected with a tap.

Comment 6 by donnd@google.com, Jan 5 2018

Thanks for the clarifications -- I simply didn't read the instructions in #1 well enough!  I can repro now.  I'm working to track down the failure, but there may be a solution in the pipeline already due to work to convert the messaging for this event to use Mojo.

Can you give us some very brief background on what the --site-per-process flag does and when you plan to roll out the feature?

Comment 7 by mcnee@chromium.org, Jan 5 2018

See chromium.org/Home/chromium-security/site-isolation for details
As it concerns this bug, the cross-site iframe is rendered in a different process, which impacts the handling of input. Notably, a page may have multiple RenderWidgetHosts. In this case, in addition to the top level RenderWidgetHostViewAndroid, this page will have a RenderWidgetHostViewChildFrame.

I believe wjmaclean worked on issues related to touch selection with out-of-process iframes and may know more about this.

Comment 8 by mcnee@chromium.org, Jan 5 2018

Blocking: 791225
RE: when you plan to roll out the feature

AFAIK, there are no immediate plans to ship OOPIFs on Android (at least not in Q1 2018).

On Desktop (e.g. Windows, MacOs, Linux, CrOS) OOPIFs have shipped in M56 with --isolate-extensions feature and we expect to see an uptick in desktop users because of https://support.google.com/faqs/answer/7622138#chrome

Comment 10 by donnd@google.com, Jan 6 2018

Blockedon: 754862
Good to know this doesn't need to be fixed right away.  My work to use Mojo to communicate between Blink and the Browser should fix this (marking that as blocking this).

Sign in to add a comment