From 086c044dc34dfc0f74fbe41f4ecb402b2cd34884 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Fri, 19 Apr 2024 03:13:33 +0200 Subject: Merging upstream version 125.0.1. Signed-off-by: Daniel Baumann --- .../resources/disable_bfcache.js | 15 +++++ .../resources/executor-pushstate.html | 1 + .../back-forward-cache/resources/executor.html | 1 + .../back-forward-cache/resources/executor.js | 17 ----- .../back-forward-cache/resources/rc-helper.js | 5 +- .../pageswap/pageswap-cross-origin.sub.html | 65 ++++++++++++++++++ .../pageswap/pageswap-iframe.html | 45 +++++++++++++ .../pageswap/pageswap-initial-navigation.html | 35 ++++++++++ .../pageswap/pageswap-push-from-click.html | 74 +++++++++++++++++++++ .../pageswap-push-navigation-hidden-document.html | 68 +++++++++++++++++++ .../pageswap/pageswap-push-navigation.html | 64 ++++++++++++++++++ ...geswap-push-with-cross-origin-redirect.sub.html | 69 +++++++++++++++++++ .../pageswap/pageswap-push-with-redirect.html | 64 ++++++++++++++++++ .../pageswap/pageswap-reload-navigation.html | 65 ++++++++++++++++++ .../pageswap/pageswap-replace-navigation.html | 64 ++++++++++++++++++ ...wap-replace-with-cross-origin-redirect.sub.html | 69 +++++++++++++++++++ ...cross-origin-redirect-no-bfcache.https.sub.html | 77 ++++++++++++++++++++++ ...eswap-traverse-navigation-no-bfcache.https.html | 75 +++++++++++++++++++++ .../history_reload_referrer-1.html | 16 +++++ .../history_reload_referrer-2.html | 56 ++++++++++++++++ .../history_reload_referrer.html | 26 ++++++++ .../assign-replace-from-iframe.html | 31 +++++++++ .../assign-replace-from-top-to-nested-iframe.html | 36 ++++++++++ .../assign-with-nested-iframe.html | 21 ++++++ .../replace-with-nested-iframe.html | 21 ++++++ .../resources/iframe-contents.sub.html | 14 ++++ .../iframe-postmessage-to-parent-parent.sub.html | 14 ++++ .../resources/iframe-with-iframe.html | 9 +++ .../replace-or-assign-call-on-iframe.html | 20 ++++++ 29 files changed, 1118 insertions(+), 19 deletions(-) create mode 100644 testing/web-platform/tests/html/browsers/browsing-the-web/back-forward-cache/resources/disable_bfcache.js create mode 100644 testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-cross-origin.sub.html create mode 100644 testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-iframe.html create mode 100644 testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-initial-navigation.html create mode 100644 testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-push-from-click.html create mode 100644 testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-push-navigation-hidden-document.html create mode 100644 testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-push-navigation.html create mode 100644 testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-push-with-cross-origin-redirect.sub.html create mode 100644 testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-push-with-redirect.html create mode 100644 testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-reload-navigation.html create mode 100644 testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-replace-navigation.html create mode 100644 testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-replace-with-cross-origin-redirect.sub.html create mode 100644 testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-traverse-navigation-cross-origin-redirect-no-bfcache.https.sub.html create mode 100644 testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-traverse-navigation-no-bfcache.https.html create mode 100644 testing/web-platform/tests/html/browsers/history/the-history-interface/history_reload_referrer-1.html create mode 100644 testing/web-platform/tests/html/browsers/history/the-history-interface/history_reload_referrer-2.html create mode 100644 testing/web-platform/tests/html/browsers/history/the-history-interface/history_reload_referrer.html create mode 100644 testing/web-platform/tests/html/browsers/history/the-location-interface/assign-replace-from-iframe.html create mode 100644 testing/web-platform/tests/html/browsers/history/the-location-interface/assign-replace-from-top-to-nested-iframe.html create mode 100644 testing/web-platform/tests/html/browsers/history/the-location-interface/assign-with-nested-iframe.html create mode 100644 testing/web-platform/tests/html/browsers/history/the-location-interface/replace-with-nested-iframe.html create mode 100644 testing/web-platform/tests/html/browsers/history/the-location-interface/resources/iframe-contents.sub.html create mode 100644 testing/web-platform/tests/html/browsers/history/the-location-interface/resources/iframe-postmessage-to-parent-parent.sub.html create mode 100644 testing/web-platform/tests/html/browsers/history/the-location-interface/resources/iframe-with-iframe.html create mode 100644 testing/web-platform/tests/html/browsers/history/the-location-interface/resources/replace-or-assign-call-on-iframe.html (limited to 'testing/web-platform/tests/html/browsers') diff --git a/testing/web-platform/tests/html/browsers/browsing-the-web/back-forward-cache/resources/disable_bfcache.js b/testing/web-platform/tests/html/browsers/browsing-the-web/back-forward-cache/resources/disable_bfcache.js new file mode 100644 index 0000000000..dea70ef4bd --- /dev/null +++ b/testing/web-platform/tests/html/browsers/browsing-the-web/back-forward-cache/resources/disable_bfcache.js @@ -0,0 +1,15 @@ +// Try to disable BFCache by acquiring and never releasing a Web Lock. +// This requires HTTPS. +// Note: This is a workaround depending on non-specified WebLock+BFCache +// behavior, and doesn't work on Safari. We might want to introduce a +// test-only BFCache-disabling API instead in the future. +// https://github.com/web-platform-tests/wpt/issues/16359#issuecomment-795004780 +// https://crbug.com/1298336 +window.disableBFCache = () => { + return new Promise(resolve => { + navigator.locks.request("disablebfcache", () => { + resolve(); + return new Promise(() => {}); + }); + }); +}; diff --git a/testing/web-platform/tests/html/browsers/browsing-the-web/back-forward-cache/resources/executor-pushstate.html b/testing/web-platform/tests/html/browsers/browsing-the-web/back-forward-cache/resources/executor-pushstate.html index dcf4a798d0..3dd8f341f1 100644 --- a/testing/web-platform/tests/html/browsers/browsing-the-web/back-forward-cache/resources/executor-pushstate.html +++ b/testing/web-platform/tests/html/browsers/browsing-the-web/back-forward-cache/resources/executor-pushstate.html @@ -11,3 +11,4 @@ window.isLoadedFromPushState = true; + diff --git a/testing/web-platform/tests/html/browsers/browsing-the-web/back-forward-cache/resources/executor.html b/testing/web-platform/tests/html/browsers/browsing-the-web/back-forward-cache/resources/executor.html index 2d118bbe2b..c3af5f6ba8 100644 --- a/testing/web-platform/tests/html/browsers/browsing-the-web/back-forward-cache/resources/executor.html +++ b/testing/web-platform/tests/html/browsers/browsing-the-web/back-forward-cache/resources/executor.html @@ -3,3 +3,4 @@ + diff --git a/testing/web-platform/tests/html/browsers/browsing-the-web/back-forward-cache/resources/executor.js b/testing/web-platform/tests/html/browsers/browsing-the-web/back-forward-cache/resources/executor.js index 67ce068130..5137616d85 100644 --- a/testing/web-platform/tests/html/browsers/browsing-the-web/back-forward-cache/resources/executor.js +++ b/testing/web-platform/tests/html/browsers/browsing-the-web/back-forward-cache/resources/executor.js @@ -45,20 +45,3 @@ window.prepareNavigation = function(callback) { {once: true}); executor.suspend(callback); } - -// Try to disable BFCache by acquiring and never releasing a Web Lock. -// This requires HTTPS. -// Note: This is a workaround depending on non-specified WebLock+BFCache -// behavior, and doesn't work on Safari. We might want to introduce a -// test-only BFCache-disabling API instead in the future. -// https://github.com/web-platform-tests/wpt/issues/16359#issuecomment-795004780 -// https://crbug.com/1298336 -window.disableBFCache = () => { - return new Promise(resolve => { - // Use page's UUID as a unique lock name. - navigator.locks.request(uuid, () => { - resolve(); - return new Promise(() => {}); - }); - }); -}; diff --git a/testing/web-platform/tests/html/browsers/browsing-the-web/back-forward-cache/resources/rc-helper.js b/testing/web-platform/tests/html/browsers/browsing-the-web/back-forward-cache/resources/rc-helper.js index 80c164f560..ad2119b738 100644 --- a/testing/web-platform/tests/html/browsers/browsing-the-web/back-forward-cache/resources/rc-helper.js +++ b/testing/web-platform/tests/html/browsers/browsing-the-web/back-forward-cache/resources/rc-helper.js @@ -41,13 +41,14 @@ function sorted(s) { return Array.from(s).sort(); } -// Assert expected reasons and the reported reasons match. +// Assert expected reasons are all present. Note that the extra reasons are allowed +// as UAs might block bfcache for their specific reasons. function matchReasons(expectedNotRestoredReasonsSet, notRestoredReasonsSet) { const missing = setMinus( expectedNotRestoredReasonsSet, notRestoredReasonsSet, 'Missing reasons'); const extra = setMinus( notRestoredReasonsSet, expectedNotRestoredReasonsSet, 'Extra reasons'); - assert_true(missing.size + extra.size == 0, `Expected: ${sorted(expectedNotRestoredReasonsSet)}\n` + + assert_true(missing.size == 0, `Expected: ${sorted(expectedNotRestoredReasonsSet)}\n` + `Got: ${sorted(notRestoredReasonsSet)}\n` + `Missing: ${sorted(missing)}\n` + `Extra: ${sorted(extra)}\n`); diff --git a/testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-cross-origin.sub.html b/testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-cross-origin.sub.html new file mode 100644 index 0000000000..4b68c32378 --- /dev/null +++ b/testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-cross-origin.sub.html @@ -0,0 +1,65 @@ + +Tests pageswap for cross-origin navigations + + + + + + + + diff --git a/testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-iframe.html b/testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-iframe.html new file mode 100644 index 0000000000..05ca1a9428 --- /dev/null +++ b/testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-iframe.html @@ -0,0 +1,45 @@ + +Tests pageswap dispatch on iframe Documents + + + + + + + diff --git a/testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-initial-navigation.html b/testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-initial-navigation.html new file mode 100644 index 0000000000..5483b9394d --- /dev/null +++ b/testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-initial-navigation.html @@ -0,0 +1,35 @@ + +Tests pageswap dispatch on initial doc navigation + + + + + + + diff --git a/testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-push-from-click.html b/testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-push-from-click.html new file mode 100644 index 0000000000..936158cd47 --- /dev/null +++ b/testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-push-from-click.html @@ -0,0 +1,74 @@ + +pageswap navigationactivation for push navigations from user click + + + + + + + + + Click me + diff --git a/testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-push-navigation-hidden-document.html b/testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-push-navigation-hidden-document.html new file mode 100644 index 0000000000..0a699232f0 --- /dev/null +++ b/testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-push-navigation-hidden-document.html @@ -0,0 +1,68 @@ + +Tests pageswap dispatch on hidden Documents + + + + + + + diff --git a/testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-push-navigation.html b/testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-push-navigation.html new file mode 100644 index 0000000000..4542d7cae2 --- /dev/null +++ b/testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-push-navigation.html @@ -0,0 +1,64 @@ + +pageswap navigationactivation for push navigations + + + + + diff --git a/testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-push-with-cross-origin-redirect.sub.html b/testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-push-with-cross-origin-redirect.sub.html new file mode 100644 index 0000000000..8ecf920b51 --- /dev/null +++ b/testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-push-with-cross-origin-redirect.sub.html @@ -0,0 +1,69 @@ + +pageswap navigationactivation for push navigations with a same-origin final url with cross-origin redirects + + + + + + diff --git a/testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-push-with-redirect.html b/testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-push-with-redirect.html new file mode 100644 index 0000000000..8252fff84d --- /dev/null +++ b/testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-push-with-redirect.html @@ -0,0 +1,64 @@ + +pageswap navigationactivation for push navigations with a same-origin redirect + + + + + diff --git a/testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-reload-navigation.html b/testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-reload-navigation.html new file mode 100644 index 0000000000..f7539ebc47 --- /dev/null +++ b/testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-reload-navigation.html @@ -0,0 +1,65 @@ + +pageswap navigationactivation for replace navigations + + + + + diff --git a/testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-replace-navigation.html b/testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-replace-navigation.html new file mode 100644 index 0000000000..f6b3f7408c --- /dev/null +++ b/testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-replace-navigation.html @@ -0,0 +1,64 @@ + +pageswap navigationactivation for replace navigations + + + + + diff --git a/testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-replace-with-cross-origin-redirect.sub.html b/testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-replace-with-cross-origin-redirect.sub.html new file mode 100644 index 0000000000..c6ced62057 --- /dev/null +++ b/testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-replace-with-cross-origin-redirect.sub.html @@ -0,0 +1,69 @@ + +pageswap navigationactivation for replace navigations with a same-origin final url with cross-origin redirects + + + + + + diff --git a/testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-traverse-navigation-cross-origin-redirect-no-bfcache.https.sub.html b/testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-traverse-navigation-cross-origin-redirect-no-bfcache.https.sub.html new file mode 100644 index 0000000000..5543830721 --- /dev/null +++ b/testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-traverse-navigation-cross-origin-redirect-no-bfcache.https.sub.html @@ -0,0 +1,77 @@ + +pageswap navigationactivation for traverse navigation when original navigation has cross-origin redirect + + + + + + + + + diff --git a/testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-traverse-navigation-no-bfcache.https.html b/testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-traverse-navigation-no-bfcache.https.html new file mode 100644 index 0000000000..9e8c0e100e --- /dev/null +++ b/testing/web-platform/tests/html/browsers/browsing-the-web/history-traversal/pageswap/pageswap-traverse-navigation-no-bfcache.https.html @@ -0,0 +1,75 @@ + +pageswap navigationactivation for traverse navigations + + + + + + + + diff --git a/testing/web-platform/tests/html/browsers/history/the-history-interface/history_reload_referrer-1.html b/testing/web-platform/tests/html/browsers/history/the-history-interface/history_reload_referrer-1.html new file mode 100644 index 0000000000..d083a2a1d3 --- /dev/null +++ b/testing/web-platform/tests/html/browsers/history/the-history-interface/history_reload_referrer-1.html @@ -0,0 +1,16 @@ + + + + + Ensure referrer header persists after + history.pushState/replaceState/fragment navigation and reload + + + + +
+ + + diff --git a/testing/web-platform/tests/html/browsers/history/the-history-interface/history_reload_referrer-2.html b/testing/web-platform/tests/html/browsers/history/the-history-interface/history_reload_referrer-2.html new file mode 100644 index 0000000000..d85517a15f --- /dev/null +++ b/testing/web-platform/tests/html/browsers/history/the-history-interface/history_reload_referrer-2.html @@ -0,0 +1,56 @@ + + + + + Ensure referrer header persists after + history.pushState/replaceState/fragment navigation and reload + + + + fragment + +
+ + + diff --git a/testing/web-platform/tests/html/browsers/history/the-history-interface/history_reload_referrer.html b/testing/web-platform/tests/html/browsers/history/the-history-interface/history_reload_referrer.html new file mode 100644 index 0000000000..d11ee89702 --- /dev/null +++ b/testing/web-platform/tests/html/browsers/history/the-history-interface/history_reload_referrer.html @@ -0,0 +1,26 @@ + + + + + Ensure referrer header persists after + history.pushState/replaceState/fragment navigation and reload + + + + + + +
+ + + diff --git a/testing/web-platform/tests/html/browsers/history/the-location-interface/assign-replace-from-iframe.html b/testing/web-platform/tests/html/browsers/history/the-location-interface/assign-replace-from-iframe.html new file mode 100644 index 0000000000..a0cd9f25ef --- /dev/null +++ b/testing/web-platform/tests/html/browsers/history/the-location-interface/assign-replace-from-iframe.html @@ -0,0 +1,31 @@ + + + + Referer with location.replace and location.assign + + + + + + + + diff --git a/testing/web-platform/tests/html/browsers/history/the-location-interface/assign-replace-from-top-to-nested-iframe.html b/testing/web-platform/tests/html/browsers/history/the-location-interface/assign-replace-from-top-to-nested-iframe.html new file mode 100644 index 0000000000..eb6e4960dc --- /dev/null +++ b/testing/web-platform/tests/html/browsers/history/the-location-interface/assign-replace-from-top-to-nested-iframe.html @@ -0,0 +1,36 @@ + + + + Referer with location.replace and location.assign with nested iframes + + + + + + + + diff --git a/testing/web-platform/tests/html/browsers/history/the-location-interface/assign-with-nested-iframe.html b/testing/web-platform/tests/html/browsers/history/the-location-interface/assign-with-nested-iframe.html new file mode 100644 index 0000000000..e043623c08 --- /dev/null +++ b/testing/web-platform/tests/html/browsers/history/the-location-interface/assign-with-nested-iframe.html @@ -0,0 +1,21 @@ + + + + Referer with location.assign and nested frames + + + + + + + + diff --git a/testing/web-platform/tests/html/browsers/history/the-location-interface/replace-with-nested-iframe.html b/testing/web-platform/tests/html/browsers/history/the-location-interface/replace-with-nested-iframe.html new file mode 100644 index 0000000000..e6620bd29c --- /dev/null +++ b/testing/web-platform/tests/html/browsers/history/the-location-interface/replace-with-nested-iframe.html @@ -0,0 +1,21 @@ + + + + Referer with location.replace and nested frames + + + + + + + + diff --git a/testing/web-platform/tests/html/browsers/history/the-location-interface/resources/iframe-contents.sub.html b/testing/web-platform/tests/html/browsers/history/the-location-interface/resources/iframe-contents.sub.html new file mode 100644 index 0000000000..8ac0a264db --- /dev/null +++ b/testing/web-platform/tests/html/browsers/history/the-location-interface/resources/iframe-contents.sub.html @@ -0,0 +1,14 @@ + + + + Resource file for test of Referer with location.replace + + +
+ + + diff --git a/testing/web-platform/tests/html/browsers/history/the-location-interface/resources/iframe-postmessage-to-parent-parent.sub.html b/testing/web-platform/tests/html/browsers/history/the-location-interface/resources/iframe-postmessage-to-parent-parent.sub.html new file mode 100644 index 0000000000..25c4af19a3 --- /dev/null +++ b/testing/web-platform/tests/html/browsers/history/the-location-interface/resources/iframe-postmessage-to-parent-parent.sub.html @@ -0,0 +1,14 @@ + + + + Resource file for test of Referer with location.replace + + +
+ + + diff --git a/testing/web-platform/tests/html/browsers/history/the-location-interface/resources/iframe-with-iframe.html b/testing/web-platform/tests/html/browsers/history/the-location-interface/resources/iframe-with-iframe.html new file mode 100644 index 0000000000..675f293ffa --- /dev/null +++ b/testing/web-platform/tests/html/browsers/history/the-location-interface/resources/iframe-with-iframe.html @@ -0,0 +1,9 @@ + + + + Resource file for test of Referer with location.replace and location.assign + + + + + diff --git a/testing/web-platform/tests/html/browsers/history/the-location-interface/resources/replace-or-assign-call-on-iframe.html b/testing/web-platform/tests/html/browsers/history/the-location-interface/resources/replace-or-assign-call-on-iframe.html new file mode 100644 index 0000000000..bdad8334a5 --- /dev/null +++ b/testing/web-platform/tests/html/browsers/history/the-location-interface/resources/replace-or-assign-call-on-iframe.html @@ -0,0 +1,20 @@ + + + + Referer with location.replace and location.assign + + + + + + -- cgit v1.2.3