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/history/the-history-interface | |
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/history/the-history-interface')
3 files changed, 98 insertions, 0 deletions
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 @@ +<!DOCTYPE html> +<html> + <head> + <title> + Ensure referrer header persists after + history.pushState/replaceState/fragment navigation and reload + </title> + </head> + <body> + <noscript><p>Enable JavaScript and reload</p></noscript> + <div id="log"></div> + <script type="text/javascript"> + location.href = "history_reload_referrer-2.html?pipe=sub"; + </script> + </body> +</html> 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 @@ +<!DOCTYPE html> +<html> + <head> + <title> + Ensure referrer header persists after + history.pushState/replaceState/fragment navigation and reload + </title> + </head> + <body> + <a id="fragment" href="#fragment">fragment</a> + <noscript><p>Enable JavaScript and reload</p></noscript> + <div id="log"></div> + <script type="text/javascript"> + const step = localStorage.getItem("history_reload_referrer_step") || "1"; + localStorage.setItem("history_reload_referrer_step", parseInt(step) + 1); + + var httpReferer = unescape("{{headers[referer]}}"); + var expectedReferrer = location.href.replace( + /\/[^\/]*$/, + "\/history_reload_referrer-1.html" + ); + + parent.test(function () { + parent.assert_equals(httpReferer, expectedReferrer); + }, `Step ${step}: Checking HTTP referrer (is "${httpReferer}")`); + parent.test(function () { + parent.assert_equals(document.referrer, expectedReferrer); + }, `Step ${step}: Checking document.referrer (is "${httpReferer}")`); + + switch (step) { + case "1": + history.pushState("", "", location); + location.reload(); + break; + + case "2": + history.replaceState("", "", location); + location.reload(); + break; + + case "3": + document.getElementById("fragment").click(); + location.reload(); + break; + + case "4": + localStorage.removeItem("history_reload_referrer_step"); + parent.done(); + break; + + default: + throw new Error(`Unexpected step "${step}"`); + } + </script> + </body> +</html> 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 @@ +<!DOCTYPE html> +<html> + <head> + <title> + Ensure referrer header persists after + history.pushState/replaceState/fragment navigation and reload + </title> + <script type="text/javascript" src="/resources/testharness.js"></script> + <script + type="text/javascript" + src="/resources/testharnessreport.js" + ></script> + </head> + <body> + <noscript><p>Enable JavaScript and reload</p></noscript> + <div id="log"></div> + <script type="text/javascript"> + setup({ explicit_done: true }); + var iframe = document.createElement("iframe"); + window.onload = function () { + iframe.setAttribute("src", "history_reload_referrer-1.html"); + document.body.appendChild(iframe); + }; + </script> + </body> +</html> |