From 337bfa73a36128a6f04b97ee5d8c6b9541769d2a Mon Sep 17 00:00:00 2001 From: Nate Chapin Date: Wed, 27 Apr 2022 10:22:18 -0700 Subject: [PATCH] Make popstate always fire synchronously Interop discussion: https://github.com/whatwg/html/issues/1792 Intent to ship: https://groups.google.com/a/chromium.org/g/blink-dev/c/HXRHWirKarU Bug: 1254926 Change-Id: I7e41ab603a15a14bf9df5000edca2724766a20e9 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3580022 Reviewed-by: Domenic Denicola Commit-Queue: Nate Chapin Cr-Commit-Position: refs/heads/main@{#996748} --- .../event-order/after-load-hash-twice.html | 38 ++++++++++++++++++ .../event-order/after-load-hash.html | 32 +++++++++++++++ .../event-order/after-load-pushState.html | 31 +++++++++++++++ .../event-order/after-load-replaceState.html | 30 ++++++++++++++ .../event-order/before-load-hash-twice.html | 29 ++++++++++++++ .../event-order/before-load-hash.html | 27 +++++++++++++ .../event-order/before-load-pushState.html | 28 +++++++++++++ .../event-order/before-load-replaceState.html | 26 +++++++++++++ .../pushState-inside-popstate.html | 16 ++++++++ .../same-document-traverse-immediate.html | 38 ++++++++++++++++++ .../same-document-traverse-wait.html | 39 +++++++++++++++++++ 11 files changed, 334 insertions(+) create mode 100644 html/browsers/browsing-the-web/history-traversal/event-order/after-load-hash-twice.html create mode 100644 html/browsers/browsing-the-web/history-traversal/event-order/after-load-hash.html create mode 100644 html/browsers/browsing-the-web/history-traversal/event-order/after-load-pushState.html create mode 100644 html/browsers/browsing-the-web/history-traversal/event-order/after-load-replaceState.html create mode 100644 html/browsers/browsing-the-web/history-traversal/event-order/before-load-hash-twice.html create mode 100644 html/browsers/browsing-the-web/history-traversal/event-order/before-load-hash.html create mode 100644 html/browsers/browsing-the-web/history-traversal/event-order/before-load-pushState.html create mode 100644 html/browsers/browsing-the-web/history-traversal/event-order/before-load-replaceState.html create mode 100644 html/browsers/browsing-the-web/history-traversal/event-order/pushState-inside-popstate.html create mode 100644 html/browsers/browsing-the-web/history-traversal/event-order/same-document-traverse-immediate.html create mode 100644 html/browsers/browsing-the-web/history-traversal/event-order/same-document-traverse-wait.html diff --git a/html/browsers/browsing-the-web/history-traversal/event-order/after-load-hash-twice.html b/html/browsers/browsing-the-web/history-traversal/event-order/after-load-hash-twice.html new file mode 100644 index 00000000000000..75889ef5175fa6 --- /dev/null +++ b/html/browsers/browsing-the-web/history-traversal/event-order/after-load-hash-twice.html @@ -0,0 +1,38 @@ + + +Popstate/hashchange/load event ordering + + + + + + + diff --git a/html/browsers/browsing-the-web/history-traversal/event-order/after-load-hash.html b/html/browsers/browsing-the-web/history-traversal/event-order/after-load-hash.html new file mode 100644 index 00000000000000..f74d716d914da8 --- /dev/null +++ b/html/browsers/browsing-the-web/history-traversal/event-order/after-load-hash.html @@ -0,0 +1,32 @@ + + +Popstate/hashchange/load event ordering + + + + + + + diff --git a/html/browsers/browsing-the-web/history-traversal/event-order/after-load-pushState.html b/html/browsers/browsing-the-web/history-traversal/event-order/after-load-pushState.html new file mode 100644 index 00000000000000..4f9f3dad473f99 --- /dev/null +++ b/html/browsers/browsing-the-web/history-traversal/event-order/after-load-pushState.html @@ -0,0 +1,31 @@ + + +Popstate/hashchange/load event ordering + + + + + + + diff --git a/html/browsers/browsing-the-web/history-traversal/event-order/after-load-replaceState.html b/html/browsers/browsing-the-web/history-traversal/event-order/after-load-replaceState.html new file mode 100644 index 00000000000000..28148ff7b2d34a --- /dev/null +++ b/html/browsers/browsing-the-web/history-traversal/event-order/after-load-replaceState.html @@ -0,0 +1,30 @@ + + +Popstate/hashchange/load event ordering + + + + + + + diff --git a/html/browsers/browsing-the-web/history-traversal/event-order/before-load-hash-twice.html b/html/browsers/browsing-the-web/history-traversal/event-order/before-load-hash-twice.html new file mode 100644 index 00000000000000..7c8df118437d0c --- /dev/null +++ b/html/browsers/browsing-the-web/history-traversal/event-order/before-load-hash-twice.html @@ -0,0 +1,29 @@ + + +Popstate/hashchange/load event ordering + + + + + + + diff --git a/html/browsers/browsing-the-web/history-traversal/event-order/before-load-hash.html b/html/browsers/browsing-the-web/history-traversal/event-order/before-load-hash.html new file mode 100644 index 00000000000000..97c4636fad7c51 --- /dev/null +++ b/html/browsers/browsing-the-web/history-traversal/event-order/before-load-hash.html @@ -0,0 +1,27 @@ + + +Popstate/hashchange/load event ordering + + + + + + + diff --git a/html/browsers/browsing-the-web/history-traversal/event-order/before-load-pushState.html b/html/browsers/browsing-the-web/history-traversal/event-order/before-load-pushState.html new file mode 100644 index 00000000000000..a08afa474f0ea4 --- /dev/null +++ b/html/browsers/browsing-the-web/history-traversal/event-order/before-load-pushState.html @@ -0,0 +1,28 @@ + + +Popstate/hashchange/load event ordering + + + + + + + diff --git a/html/browsers/browsing-the-web/history-traversal/event-order/before-load-replaceState.html b/html/browsers/browsing-the-web/history-traversal/event-order/before-load-replaceState.html new file mode 100644 index 00000000000000..10d30038fb855a --- /dev/null +++ b/html/browsers/browsing-the-web/history-traversal/event-order/before-load-replaceState.html @@ -0,0 +1,26 @@ + + +Popstate/hashchange/load event ordering + + + + + + + diff --git a/html/browsers/browsing-the-web/history-traversal/event-order/pushState-inside-popstate.html b/html/browsers/browsing-the-web/history-traversal/event-order/pushState-inside-popstate.html new file mode 100644 index 00000000000000..35ada116edd35d --- /dev/null +++ b/html/browsers/browsing-the-web/history-traversal/event-order/pushState-inside-popstate.html @@ -0,0 +1,16 @@ + + + + + diff --git a/html/browsers/browsing-the-web/history-traversal/event-order/same-document-traverse-immediate.html b/html/browsers/browsing-the-web/history-traversal/event-order/same-document-traverse-immediate.html new file mode 100644 index 00000000000000..51ea20b289dd01 --- /dev/null +++ b/html/browsers/browsing-the-web/history-traversal/event-order/same-document-traverse-immediate.html @@ -0,0 +1,38 @@ + + +Popstate/hashchange/load event ordering + + + + + + + diff --git a/html/browsers/browsing-the-web/history-traversal/event-order/same-document-traverse-wait.html b/html/browsers/browsing-the-web/history-traversal/event-order/same-document-traverse-wait.html new file mode 100644 index 00000000000000..39bc760ff73de6 --- /dev/null +++ b/html/browsers/browsing-the-web/history-traversal/event-order/same-document-traverse-wait.html @@ -0,0 +1,39 @@ + + +Popstate/hashchange/load event ordering + + + + + + +