summaryrefslogtreecommitdiffstats
path: root/dom/serviceworkers/test/test_cookie_fetch.html
diff options
context:
space:
mode:
Diffstat (limited to 'dom/serviceworkers/test/test_cookie_fetch.html')
-rw-r--r--dom/serviceworkers/test/test_cookie_fetch.html64
1 files changed, 64 insertions, 0 deletions
diff --git a/dom/serviceworkers/test/test_cookie_fetch.html b/dom/serviceworkers/test/test_cookie_fetch.html
new file mode 100644
index 0000000000..8c4324c759
--- /dev/null
+++ b/dom/serviceworkers/test/test_cookie_fetch.html
@@ -0,0 +1,64 @@
+<!--
+ Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/
+-->
+<!DOCTYPE HTML>
+<html>
+<head>
+ <title>Bug 1331680 - test access to cookies in the documents synthesized from service worker responses</title>
+ <script src="/tests/SimpleTest/SimpleTest.js"></script>
+ <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
+</head>
+<body>
+<p id="display"></p>
+<div id="content" style="display: none">
+<iframe></iframe>
+</div>
+<pre id="test"></pre>
+<script class="testbody" type="text/javascript">
+
+ var iframe;
+ function runTest() {
+ iframe = document.querySelector("iframe");
+ iframe.src = "https://example.com/tests/dom/serviceworkers/test/fetch/cookie/register.html";
+ window.onmessage = function(e) {
+ if (e.data.status == "ok") {
+ ok(e.data.result, e.data.message);
+ } else if (e.data.status == "registrationdone") {
+ // Remove the iframe and recreate a new one to ensure that any traces
+ // of the cookies have been removed from the child process.
+ iframe.remove();
+ iframe = document.createElement("iframe");
+ document.getElementById("content").appendChild(iframe);
+
+ iframe.src = "https://example.com/tests/dom/serviceworkers/test/fetch/cookie/synth.html";
+ } else if (e.data.status == "done") {
+ // Note, we can't do an exact is() comparison here since other
+ // tests can leave cookies on the domain.
+ ok(e.data.cookie.includes("foo=bar"),
+ "The synthesized document has access to its cookies");
+
+ iframe.src = "https://example.com/tests/dom/serviceworkers/test/fetch/cookie/unregister.html";
+ } else if (e.data.status == "unregistrationdone") {
+ window.onmessage = null;
+ ok(true, "Test finished successfully");
+ SpecialPowers.clearUserPref("network.cookie.sameSite.laxByDefault");
+ SimpleTest.finish();
+ }
+ };
+ }
+
+ SimpleTest.waitForExplicitFinish();
+ onload = function() {
+ SpecialPowers.pushPrefEnv({"set": [
+ ["dom.serviceWorkers.exemptFromPerDomainMax", true],
+ ["dom.serviceWorkers.enabled", true],
+ ["dom.serviceWorkers.testing.enabled", true],
+ // Bug 1617611: Fix all the tests broken by "cookies SameSite=lax by default"
+ ["network.cookie.sameSite.laxByDefault", false],
+ ]}, runTest);
+ };
+</script>
+</pre>
+</body>
+</html>