summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/html/browsers/history/the-history-interface
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 01:14:29 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 01:14:29 +0000
commitfbaf0bb26397aa498eb9156f06d5a6fe34dd7dd8 (patch)
tree4c1ccaf5486d4f2009f9a338a98a83e886e29c97 /testing/web-platform/tests/html/browsers/history/the-history-interface
parentReleasing progress-linux version 124.0.1-1~progress7.99u1. (diff)
downloadfirefox-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')
-rw-r--r--testing/web-platform/tests/html/browsers/history/the-history-interface/history_reload_referrer-1.html16
-rw-r--r--testing/web-platform/tests/html/browsers/history/the-history-interface/history_reload_referrer-2.html56
-rw-r--r--testing/web-platform/tests/html/browsers/history/the-history-interface/history_reload_referrer.html26
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>