Open Bug 1991265 Opened 14 days ago Updated 2 days ago

Push loads are converted to replace loads incorrectly

Categories

(Core :: DOM: Navigation, defect, P3)

defect

Tracking

()

ASSIGNED

People

(Reporter: farre, Assigned: farre)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

Gecko will convert a push load into a replace load for an iframe if the parent container is busy (i.e. is loading) even when the iframe isn't busy. Spec only requires the iframe document to be completely loaded.

Gecko will convert a push load into a replace load for a top level browsing context if that browsing context is executing its load handler. Spec will also convert if the document isn't completely loaded, i.e inclusive of the period before the load handler has started to fire.

This makes the following tests fail:

navigation-api/currententrychange-event/location-api.html.
navigation-api/navigate-event/cross-window/location-crossdocument-crossorigin-sameorigindomain.sub.html
navigation-api/navigate-event/cross-window/location-crossdocument-sameorigin.html
navigation-api/navigate-event/cross-window/location-samedocument-crossorigin-sameorigindomain.sub.html
navigation-api/navigate-event/cross-window/location-samedocument-crossorigin.html
navigation-api/navigate-event/cross-window/location-samedocument-sameorigin.html
navigation-api/navigate-event/cross-window/open-crossdocument-crossorigin-sameorigindomain.sub.html
navigation-api/navigate-event/cross-window/open-crossdocument-sameorigin.html
navigation-api/navigate-event/cross-window/open-samedocument-crossorigin-sameorigindomain.sub.html
navigation-api/navigate-event/cross-window/open-samedocument-crossorigin.html
navigation-api/navigate-event/cross-window/open-samedocument-sameorigin.html
navigation-api/navigate-event/navigate-iframe-location.html
navigation-api/navigate-event/navigate-navigation-navigate.html
navigation-api/navigate-event/navigate-to-srcdoc.html
navigation-api/navigate-event/navigate-window-open.html
navigation-api/navigation-history-entry/current-basic.html
navigation-api/navigation-history-entry/entries-after-blank-navigation.html
navigation-api/precommit-handler/precommitHandler-push.html
navigation-api/state/cross-document-getState-undefined.html
navigation-api/state/cross-document-location-api.html
Summary: Push loads are converted to replace loads too eagerly → Push loads are converted to replace loads incorrectly
Severity: -- → S3
Priority: -- → P3

Make sure that top level push loads are converted to replace loads if
the current document hasn't completely finished loading.

Make sure that subframe push loads are not converted to replace loads
if they've completely finished loading, but their parent container
hasn't.

Make sure that passing push as option to Navigation.navigate isn't
converted to a replace load.

Assignee: nobody → afarre
Status: NEW → ASSIGNED
Pushed by amarc@mozilla.com: https://github.com/mozilla-firefox/firefox/commit/07a3bf3fb56e https://hg.mozilla.org/integration/autoland/rev/31200c9fe9b2 Revert "Bug 1991265 - Make push to replace load conversion follow spec. r=smaug" for causing multiple failures
Flags: needinfo?(afarre)
Flags: needinfo?(afarre)
Created web-platform-tests PR https://github.com/web-platform-tests/wpt/pull/55222 for changes under testing/web-platform/tests
Upstream PR merged by moz-wptsync-bot
Pushed by sstanca@mozilla.com: https://github.com/mozilla-firefox/firefox/commit/c8e38a7f68cb https://hg.mozilla.org/integration/autoland/rev/f15615bd64d5 Revert "Bug 1991265 - Make push to replace load conversion follow spec. r=smaug" for causing wpt failures.

Reverted this because it was causing wpt failures.

  • Revert link
  • Push with failures
  • Failure Log
  • Failure line: TEST-UNEXPECTED-FAIL | /html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/window-open-nourl.html | location.href - assert_equals: history.length should not increase after normal navigation away from initial empty document expected 1 but got 0
Flags: needinfo?(afarre)
Created web-platform-tests PR https://github.com/web-platform-tests/wpt/pull/55228 for changes under testing/web-platform/tests
Upstream PR merged by moz-wptsync-bot
Flags: needinfo?(afarre)
Pushed by chorotan@mozilla.com: https://github.com/mozilla-firefox/firefox/commit/2b88ccd9ac9d https://hg.mozilla.org/integration/autoland/rev/f39c63d85b50 Revert "Bug 1991265 - Make push to replace load conversion follow spec. r=smaug,webdriver-reviewers" for causing wpt failures on location-setter-user-mouseup.html

Backed out for causing wpt failures on location-setter-user-mouseup.html

Backout link

Push with failures

Failure log

Flags: needinfo?(afarre)
Flags: needinfo?(afarre)
Created web-platform-tests PR https://github.com/web-platform-tests/wpt/pull/55330 for changes under testing/web-platform/tests
Upstream PR merged by moz-wptsync-bot
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: