Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

document.open(): Align history/URL behavior with spec #12933

Closed
wants to merge 1 commit into from

Conversation

chromium-wpt-export-bot
Copy link
Collaborator

@chromium-wpt-export-bot chromium-wpt-export-bot commented Sep 10, 2018

This change aligns document.open() with the current HTML Standard, which
mandates that in addition to setting the document's URL to the last-entered
document's, the document's current history item's URL must also be updated à la
history.replaceState().

To accomplish that, this CL reuses the logic in History::StateObjectAdded(),
including the throttling behavior, for Document::open() as well. The update
steps are run unconditionally, no matter what the document's current URL is, in
order to have consistent behavior for other things in the history entry like
POST form data, which document.open() now erases.

This also means that document.open() now also counts as a navigation, just like
history.replaceState(). Several browsertests are updated as such.

In this CL, we also enables some WPTs that were previously disabled; in
particular, reload.window.html has been enabled to converge to WebKit's
behavior.

Bug: 68833, 866274
Change-Id: Iea6d665fd97bcaee44bcfaa45f8e92c356003d8a

Reviewed-on: https://chromium-review.googlesource.com/1188643
WPT-Export-Revision: e1658d10c1ee06f15e4268a812bebea2ef3dbe70

Copy link
Collaborator

@wpt-pr-bot wpt-pr-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Already reviewed downstream.

@chromium-wpt-export-bot chromium-wpt-export-bot force-pushed the chromium-export-cl-1188643 branch 2 times, most recently from 4745502 to 23ecf31 Compare October 19, 2018 20:46
This change aligns document.open() with the current HTML Standard, which
mandates that in addition to setting the document's URL to the last-entered
document's, the document's current history item's URL must also be updated à la
history.replaceState().

To accomplish that, this CL reuses the logic in History::StateObjectAdded(),
including the throttling behavior, for Document::open() as well. The update
steps are run unconditionally, no matter what the document's current URL is, in
order to have consistent behavior for other things in the history entry like
POST form data, which document.open() now erases.

This also means that document.open() now also counts as a navigation, just like
history.replaceState(). Several browsertests are updated as such.

In this CL, we also enables some WPTs that were previously disabled; in
particular, reload.window.html has been enabled to converge to WebKit's
behavior.

Bug: 68833, 866274
Change-Id: Iea6d665fd97bcaee44bcfaa45f8e92c356003d8a
@gsnedders gsnedders closed this Jan 24, 2020
@gsnedders gsnedders deleted the chromium-export-cl-1188643 branch January 24, 2020 18:02
@gsnedders gsnedders restored the chromium-export-cl-1188643 branch January 24, 2020 18:44
@Hexcles Hexcles reopened this Jan 24, 2020
@KyleJu KyleJu closed this Apr 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants