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

Issue 868539 link

Starred by 2 users

Issue metadata

Status: Untriaged
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Mac
Pri: 2
Type: Bug



Sign in to add a comment

Navigations in subframes don't properly block the parent page's load event

Reported by bzbar...@mit.edu, Jul 27

Issue description

UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:63.0) Gecko/20100101 Firefox/63.0

Steps to reproduce the problem:
1. Load attached testcase.
2. Look at the developer console.

What is the expected behavior?
A blob: URI is logged.

What went wrong?
about:blank is logged.

Did this work before? N/A 

Does this work in other browsers? No
 Firefox and Edge get this right.

Chrome and Safari both get it wrong the same way, looks like.

Chrome version: 69.0.3497.12 (Official Build) dev (64-bit)  Channel: n/a
OS Version: OS X 10.12
Flash Version: Shockwave Flash 29.0 r0

In spec terms, when the src set happens on the iframe, we land in https://html.spec.whatwg.org/multipage/iframe-embed-object.html#process-the-iframe-attributes which calls into https://html.spec.whatwg.org/multipage/iframe-embed-object.html#otherwise-steps-for-iframe-or-frame-elements which calls into https://html.spec.whatwg.org/multipage/browsing-the-web.html#navigate

Step 10 of the navigation algorithm puts the nested browsing context in https://html.spec.whatwg.org/#delaying-load-events-mode and then it should block the load event of the parent.
 
baz.html
390 bytes View Download
Cc: lukasza@chromium.org creis@chromium.org alex...@chromium.org dcheng@chromium.org nasko@chromium.org
Components: UI>Browser>Navigation
Labels: Needs-Triage-M69
Labels: Triaged-ET Target-70 M-70 FoundIn-70 OS-Linux OS-Windows
Status: Untriaged (was: Unconfirmed)
Able to reproduce the issue on Win-10, mac 10.13.3 and ubuntu 17.10 using chrome reported version #69.0.3497.12 and latest canary #70.0.3506.0. 
This is a non-regression issue as it is observed from M60 old builds. 

Hence, marking it as untriaged to get more inputs from dev team.

Thanks...!!
Cc: japhet@chromium.org
I think we can fix this by:

1. Make it so scheduled navigations delay the load event with https://cs.chromium.org/chromium/src/third_party/blink/renderer/core/dom/increment_load_event_delay_count.h?l=21&ct=xref_jump_to_def&gsn=IncrementLoadEventDelayCount.
2. Make sure that AllDescendantsAreComplete() also considers the delayed load event count, instead of just checking Frame::IsLoading.

Sign in to add a comment