Skip to content

Replace the removed overridden reload with HTML's reload algorithm for the Refresh command - #1982

Open
whimboo wants to merge 1 commit into
w3c:masterfrom
whimboo:refresh-reload-navigable
Open

whimboo wants to merge 1 commit into
w3c:masterfrom
whimboo:refresh-reload-navigable

Conversation

@whimboo

@whimboo whimboo commented Nov 2, 2026 •

Copy link
Copy Markdown
Contributor

The Refresh command currently says to initiate an overridden reload of the active document, linking to https://html.spec.whatwg.org/multipage/dom.html#an-overridden-reload. That link no longer exists, and the concept never meant what #850 / 4b29ff4 intended (an overridden, or forced, reload): it was part of the document.open() / document.write() reload override buffer machinery, where a reload re-navigated to the script-written source instead of fetching from the network. It was removed from HTML together with that machinery.

This PR uses HTML's reload algorithm on the current top-level browsing context's navigable instead, with user navigation involvement set to browser UI. That matches what Back and Forward get via traverse the history by a delta, and means the reload cannot be canceled through the Navigation API navigate event.

A note clarifies that this is a normal reload: it does not bypass the HTTP cache, and persisted state such as the scroll position can be restored. Clients that need a cache-bypassing reload can use WebDriver BiDi's browsingContext.reload with ignoreCache: true.

Current implementation behavior (scroll position after reload, from zcorpan/navigation-api-qa):

location.reload() WebDriver Refresh / CDP reload
Chrome 3000 3000
Firefox 3000 0
Safari 3000 3000

This difference exists because Firefox currently uses a cache-bypassing reload: https://bugzilla.mozilla.org/show_bug.cgi?id=2088101


This change is Reviewable


Preview | Diff

The "overridden reload" concept was part of HTML's document.open()
reload override buffer handling, and was never about a forced or
cache-bypassing reload. It has since been removed from HTML.

Use HTML's "reload" algorithm for the navigable instead, with user
navigation involvement "browser UI", which matches what Back and
Forward get via "traverse the history by a delta".
@whimboo

whimboo commented Nov 2, 2026

Copy link
Copy Markdown
Contributor Author

@jgraham and @sadym-chromium could you please review?

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant