Navigations in subframes don't properly block the parent page's load event
Reported by
bzbar...@mit.edu,
Jul 27
|
||||
Issue descriptionUserAgent: 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.
,
Jul 29
,
Jul 30
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...!!
,
Jul 30
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 |
||||
Comment 1 by nasko@chromium.org
, Jul 27Components: UI>Browser>Navigation