diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 01:14:29 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 01:14:29 +0000 |
commit | fbaf0bb26397aa498eb9156f06d5a6fe34dd7dd8 (patch) | |
tree | 4c1ccaf5486d4f2009f9a338a98a83e886e29c97 /testing/web-platform/tests/html/browsers/browsing-the-web/back-forward-cache/resources | |
parent | Releasing progress-linux version 124.0.1-1~progress7.99u1. (diff) | |
download | firefox-fbaf0bb26397aa498eb9156f06d5a6fe34dd7dd8.tar.xz firefox-fbaf0bb26397aa498eb9156f06d5a6fe34dd7dd8.zip |
Merging upstream version 125.0.1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/tests/html/browsers/browsing-the-web/back-forward-cache/resources')
5 files changed, 20 insertions, 19 deletions
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; </script> <script src="executor.js" type="module"></script> +<script src="disable_bfcache.js" type="module"></script> 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 @@ <script src="event-recorder.js" type="module"></script> <script src="worker-helper.js" type="module"></script> <script src="executor.js" type="module"></script> +<script src="disable_bfcache.js" type="module"></script> 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`); |