New issue
Advanced search Search tips

Issue 905115 link

Starred by 3 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Chrome
Pri: 2
Type: Bug



Sign in to add a comment

Find-in-page doesn't find matches in subframe after modifying query

Project Member Reported by alex...@chromium.org, Nov 14

Issue description

What steps will reproduce the problem?

(1) Go to http://csreis.github.io/tests/cross-site-iframe-simple.html
(2) Ctrl-F and search for "bridge".  This should highlight two matches in the iframe (which will be an OOPIF on desktop platforms)
(3) Hit backspace and type "x" to change the query to "bridgx"
(4) Hit backspace and type "e" to change query back to "bridge"

What is the expected result?
Two matches for "bridge" are highlighted once again, match counter shows "1/2", and ctrl-g alternates between the two matches.

What happens instead?
No matches are highlighted, find-in-page match counter shows "0/1", and going to the next match doesn't do anything.

Also, step (2) appears to not work right away sometimes.  If I hit ctrl-g a few times or click on the page to change focus, it typically starts working.

I reproed this on Linux and CrOS M70 as well as Linux ToT.  Coudln't repro on Windows.  creis@ also observed similar behavior on an internal b/ page involving same-origin iframes.

I did a bisect and got the following:
https://chromium.googlesource.com/chromium/src/+log/04bab18044ca5689ac72a05883051d23b9f354df..f39cb55a1451df9a1f48fb2f27a0789db2f74428

Of these, r584034 seems most likely since it touches find in page.  rakina@, can you please take a look?
 
Components: Internals>Sandbox>SiteIsolation
Also, the repro steps don't work on https://csreis.github.io/tests/cross-site-iframe-simple.html (https instead of http), where the subframe is same-site, so adding site isolation label since at least some of this issue is specific to OOPIFs.
Hmm, interesting. So this only happens when the subframes are from different sites? There was a similar bug before that's caused by idle tasks timing but it was fixed:  crbug.com/890622 .

It was caused by long-running tasks in some frames, and the FIP code is waiting for all frames to finish and send back their result. We added a deadline so that all frames will send back in relatively quick time. Maybe I missed some subtleness with multi-frame with different sites case.

Sign in to add a comment