Skip to content

Commit

Permalink
Bug 1147699 - Part 13: Add a test for FetchEvent.request.context when…
Browse files Browse the repository at this point in the history
… intercepting ping loads; r=nsm

This test is temporarily disabled until bug 1148064 gets fixed.
  • Loading branch information
rmottola committed Jul 2, 2019
1 parent cd1ce85 commit 377e096
Show file tree
Hide file tree
Showing 5 changed files with 31 additions and 0 deletions.
3 changes: 3 additions & 0 deletions dom/workers/test/serviceworkers/fetch/context/context_test.js
Expand Up @@ -2,6 +2,7 @@ self.addEventListener("fetch", function(event) {
if (event.request.url.indexOf("index.html") >= 0 ||
event.request.url.indexOf("register.html") >= 0 ||
event.request.url.indexOf("unregister.html") >= 0 ||
event.request.url.indexOf("ping.html") >= 0 ||
event.request.url.indexOf("csp-violate.sjs") >= 0) {
// Handle pass-through requests
event.respondWith(fetch(event.request));
Expand Down Expand Up @@ -51,6 +52,8 @@ self.addEventListener("fetch", function(event) {
}
} else if (event.request.url.indexOf("newwindow") >= 0) {
respondToServiceWorker(event, "newwindow");
} else if (event.request.url.indexOf("ping") >= 0) {
respondToServiceWorker(event, "ping");
}
// Fail any request that we don't know about.
try {
Expand Down
18 changes: 18 additions & 0 deletions dom/workers/test/serviceworkers/fetch/context/index.html
Expand Up @@ -206,6 +206,23 @@
});
}

function testPing() {
// FIXME: Temporarily disabled until bug 1148064 gets fixed.
return Promise.resolve();
return new Promise(function(resolve, reject) {
var iframe = document.createElement("iframe");
iframe.src = "ping.html";
document.documentElement.appendChild(iframe);
navigator.serviceWorker.addEventListener("message", function onMessage(e) {
if (e.data.data == "ping") {
is(e.data.context, "ping", "Expected the ping context on an anchor ping");
navigator.serviceWorker.removeEventListener("message", onMessage);
resolve();
}
}, false);
});
}

Promise.all([
testFetch(),
testImage(),
Expand All @@ -221,6 +238,7 @@
testIFrame(),
testFrame(),
testInternal(),
testPing(),
])
.then(function() {
finish();
Expand Down
7 changes: 7 additions & 0 deletions dom/workers/test/serviceworkers/fetch/context/ping.html
@@ -0,0 +1,7 @@
<!DOCTYPE html>
<script>
onload = function() {
document.querySelector("a").click();
};
</script>
<a ping="ping" href="fetch.txt">link</a>
1 change: 1 addition & 0 deletions dom/workers/test/serviceworkers/mochitest.ini
Expand Up @@ -34,6 +34,7 @@ support-files =
fetch/context/realaudio.ogg
fetch/context/beacon.sjs
fetch/context/csp-violate.sjs
fetch/context/ping.html
fetch/https/index.html
fetch/https/register.html
fetch/https/unregister.html
Expand Down
2 changes: 2 additions & 0 deletions dom/workers/test/serviceworkers/test_request_context.html
Expand Up @@ -40,6 +40,8 @@
onload = function() {
SpecialPowers.pushPrefEnv({"set": [
["beacon.enabled", true],
["browser.send_pings", true],
["browser.send_pings.max_per_link", -1],
["dom.image.picture.enabled", true],
["dom.image.srcset.enabled", true],
["dom.serviceWorkers.exemptFromPerDomainMax", true],
Expand Down

0 comments on commit 377e096

Please sign in to comment.