Diff
Modified: trunk/LayoutTests/ChangeLog (224875 => 224876)
--- trunk/LayoutTests/ChangeLog 2017-11-15 16:17:47 UTC (rev 224875)
+++ trunk/LayoutTests/ChangeLog 2017-11-15 16:24:31 UTC (rev 224876)
@@ -1,3 +1,57 @@
+2017-11-15 Youenn Fablet <[email protected]>
+
+ Remove service worker selection based on registration
+ https://bugs.webkit.org/show_bug.cgi?id=179705
+
+ Reviewed by Alex Christensen.
+
+ Updating tests to use actual selected frames.
+
+ * http/tests/inspector/network/resource-response-service-worker.html:
+ * http/tests/inspector/network/resources/fetch-service-worker.js:
+ * http/tests/workers/service/ServiceWorkerGlobalScope-properties.html:
+ * http/tests/workers/service/basic-fetch.https-expected.txt:
+ * http/tests/workers/service/cors-image-fetch-expected.txt:
+ * http/tests/workers/service/cors-image-fetch.html:
+ * http/tests/workers/service/image-fetch-expected.txt:
+ * http/tests/workers/service/resources/basic-ServiceWorker-postMessage.js:
+ (then):
+ * http/tests/workers/service/resources/basic-fetch-worker.js:
+ * http/tests/workers/service/resources/basic-fetch.js:
+ (async.test):
+ * http/tests/workers/service/resources/cors-image-fetch.js:
+ (async.test):
+ (async.loadedImage): Deleted.
+ (async.erroredImage): Deleted.
+ (async.logStatus): Deleted.
+ * http/tests/workers/service/resources/cors-image-fetch-iframe.html: Added.
+ * http/tests/workers/service/resources/image-fetch.js:
+ (async.test):
+ (done): Deleted.
+ (async.loadedImage): Deleted.
+ (async.erroredImage): Deleted.
+ (async.logStatus): Deleted.
+ * http/tests/workers/service/resources/service-worker-crossorigin-fetch.js:
+ (async.test):
+ (done): Deleted.
+ (async.logStatus): Deleted.
+ * http/tests/workers/service/resources/service-worker-fetch.js:
+ (async.test):
+ (done): Deleted.
+ (async.logStatus): Deleted.
+ * http/tests/workers/service/resources/service-worker-importScript.js:
+ (async.test):
+ (async.logStatus): Deleted.
+ * http/tests/workers/service/resources/sw-test-pre.js:
+ (async.interceptedFrame):
+ * http/tests/workers/service/resources/tainted-image-fetch.js:
+ (async.test):
+ (async.loadedImage): Deleted.
+ (async.erroredImage): Deleted.
+ (async.logStatus): Deleted.
+ * http/tests/workers/service/service-worker-fetch.https-expected.txt:
+ * http/tests/workers/service/tainted-image-fetch-expected.txt:
+
2017-11-15 Ms2ger <[email protected]>
[GTK][WPE] Unreviewed test gardening
Modified: trunk/LayoutTests/http/tests/inspector/network/resource-response-service-worker.html (224875 => 224876)
--- trunk/LayoutTests/http/tests/inspector/network/resource-response-service-worker.html 2017-11-15 16:17:47 UTC (rev 224875)
+++ trunk/LayoutTests/http/tests/inspector/network/resource-response-service-worker.html 2017-11-15 16:24:31 UTC (rev 224876)
@@ -4,8 +4,29 @@
<meta charset="utf-8">
<script src=""
<script>
-async function startServiceWorker() {
- await navigator.serviceWorker.register("resources/fetch-service-worker.js");
+async function startServiceWorker()
+{
+ var registration = await navigator.serviceWorker.register("resources/fetch-service-worker.js", { scope : "/"});
+ await new Promise(resolve => {
+ if (registration.active)
+ resolve();
+ worker = registration.installing;
+ if (worker.state === "activated")
+ resolve();
+ worker.addEventListener("statechange", () => {
+ if (worker.state === "activated")
+ resolve();
+ });
+ });
+
+ var frame;
+ await new Promise(function(resolve) {
+ frame = document.createElement('iframe');
+ frame.src = ""
+ frame._onload_ = function() { resolve(frame); };
+ document.body.appendChild(frame);
+ });
+ window.fetch = frame.contentWindow.fetch
TestPage.dispatchEventToFrontend("SetupComplete");
}
Modified: trunk/LayoutTests/http/tests/inspector/network/resources/fetch-service-worker.js (224875 => 224876)
--- trunk/LayoutTests/http/tests/inspector/network/resources/fetch-service-worker.js 2017-11-15 16:17:47 UTC (rev 224875)
+++ trunk/LayoutTests/http/tests/inspector/network/resources/fetch-service-worker.js 2017-11-15 16:24:31 UTC (rev 224876)
@@ -9,5 +9,10 @@
return;
}
- event.respondWith(Response.error());
+ if (event.request.url.includes("error")) {
+ event.respondWith(Response.error());
+ return;
+ }
+
+ event.respondWith(fetch(event.request.url));
});
Modified: trunk/LayoutTests/http/tests/workers/service/ServiceWorkerGlobalScope-properties.html (224875 => 224876)
--- trunk/LayoutTests/http/tests/workers/service/ServiceWorkerGlobalScope-properties.html 2017-11-15 16:17:47 UTC (rev 224875)
+++ trunk/LayoutTests/http/tests/workers/service/ServiceWorkerGlobalScope-properties.html 2017-11-15 16:24:31 UTC (rev 224876)
@@ -20,9 +20,9 @@
finishSWTest();
});
-navigator.serviceWorker.register("resources/ServiceWorkerGlobalScope-properties-worker.js", { }).then(function() {
+navigator.serviceWorker.register("resources/ServiceWorkerGlobalScope-properties-worker.js", { }).then(function(registration) {
for (let property of expectedProperties)
- navigator.serviceWorker.controller.postMessage("Object.getOwnPropertyDescriptor(self, '" + property + "')");
+ registration.installing.postMessage("Object.getOwnPropertyDescriptor(self, '" + property + "')");
});
</script>
</body>
Modified: trunk/LayoutTests/http/tests/workers/service/basic-fetch.https-expected.txt (224875 => 224876)
--- trunk/LayoutTests/http/tests/workers/service/basic-fetch.https-expected.txt 2017-11-15 16:17:47 UTC (rev 224875)
+++ trunk/LayoutTests/http/tests/workers/service/basic-fetch.https-expected.txt 2017-11-15 16:24:31 UTC (rev 224876)
@@ -1,3 +1,4 @@
+
test1 status code: 200
test1 status text: Hello from service worker
test1 header Hello: World
Modified: trunk/LayoutTests/http/tests/workers/service/cors-image-fetch-expected.txt (224875 => 224876)
--- trunk/LayoutTests/http/tests/workers/service/cors-image-fetch-expected.txt 2017-11-15 16:17:47 UTC (rev 224875)
+++ trunk/LayoutTests/http/tests/workers/service/cors-image-fetch-expected.txt 2017-11-15 16:24:31 UTC (rev 224876)
@@ -1,7 +1,6 @@
-
Registering service worker
Service worker registered
-Status is no status
+Status is Got response for http://127.0.0.1:8000/workers/service/resources/cors-image-fetch-iframe.html, status code is 200
Loading image
PASS: Loaded image
Status is Got response for http://localhost:8000/resources/square100.png, status code is 200
Modified: trunk/LayoutTests/http/tests/workers/service/cors-image-fetch.html (224875 => 224876)
--- trunk/LayoutTests/http/tests/workers/service/cors-image-fetch.html 2017-11-15 16:17:47 UTC (rev 224875)
+++ trunk/LayoutTests/http/tests/workers/service/cors-image-fetch.html 2017-11-15 16:24:31 UTC (rev 224876)
@@ -3,7 +3,6 @@
<script src=""
</head>
<body>
- <img id="image" _onload_="loadedImage()" _onerror_="erroredImage()"></img>
<script src=""
</body>
</html>
Modified: trunk/LayoutTests/http/tests/workers/service/image-fetch-expected.txt (224875 => 224876)
--- trunk/LayoutTests/http/tests/workers/service/image-fetch-expected.txt 2017-11-15 16:17:47 UTC (rev 224875)
+++ trunk/LayoutTests/http/tests/workers/service/image-fetch-expected.txt 2017-11-15 16:24:31 UTC (rev 224876)
@@ -1,7 +1,7 @@
Registering service worker
Service worker registered
-Status is no status
+Status is Got response for http://127.0.0.1:8000/workers/service/resources/cors-image-fetch-iframe.html, status code is 200
Loading image
PASS: Loaded image
Status is Got response for http://127.0.0.1:8000/resources/square100.png, status code is 200
Modified: trunk/LayoutTests/http/tests/workers/service/resources/basic-ServiceWorker-postMessage.js (224875 => 224876)
--- trunk/LayoutTests/http/tests/workers/service/resources/basic-ServiceWorker-postMessage.js 2017-11-15 16:17:47 UTC (rev 224875)
+++ trunk/LayoutTests/http/tests/workers/service/resources/basic-ServiceWorker-postMessage.js 2017-11-15 16:24:31 UTC (rev 224876)
@@ -9,6 +9,6 @@
finishSWTest();
});
-navigator.serviceWorker.register("resources/basic-ServiceWorker-postMessage-worker.js", { }).then(function() {
- navigator.serviceWorker.controller.postMessage("Message 1");
+navigator.serviceWorker.register("resources/basic-ServiceWorker-postMessage-worker.js", { }).then(function(registration) {
+ registration.installing.postMessage("Message 1");
});
Modified: trunk/LayoutTests/http/tests/workers/service/resources/basic-fetch-worker.js (224875 => 224876)
--- trunk/LayoutTests/http/tests/workers/service/resources/basic-fetch-worker.js 2017-11-15 16:17:47 UTC (rev 224875)
+++ trunk/LayoutTests/http/tests/workers/service/resources/basic-fetch-worker.js 2017-11-15 16:24:31 UTC (rev 224876)
@@ -19,5 +19,5 @@
return;
}
- event.respondWith(Response.error());
+ event.respondWith(fetch(event.request.url));
});
Modified: trunk/LayoutTests/http/tests/workers/service/resources/basic-fetch.js (224875 => 224876)
--- trunk/LayoutTests/http/tests/workers/service/resources/basic-fetch.js 2017-11-15 16:17:47 UTC (rev 224875)
+++ trunk/LayoutTests/http/tests/workers/service/resources/basic-fetch.js 2017-11-15 16:24:31 UTC (rev 224876)
@@ -1,7 +1,8 @@
async function test()
{
try {
- await navigator.serviceWorker.register("resources/basic-fetch-worker.js", { });
+ var frame = await interceptedFrame("resources/basic-fetch-worker.js", "/");
+ var fetch = frame.contentWindow.fetch;
var response = await fetch("test1");
log("test1 status code: " + response.status);
Copied: trunk/LayoutTests/http/tests/workers/service/resources/cors-image-fetch-iframe.html (from rev 224875, trunk/LayoutTests/http/tests/workers/service/resources/image-fetch.js) (0 => 224876)
--- trunk/LayoutTests/http/tests/workers/service/resources/cors-image-fetch-iframe.html (rev 0)
+++ trunk/LayoutTests/http/tests/workers/service/resources/cors-image-fetch-iframe.html 2017-11-15 16:24:31 UTC (rev 224876)
@@ -0,0 +1,46 @@
+<html>
+<body>
+ <img id="image" _onload_="loadedImage()" _onerror_="erroredImage()"></img>
+ <script>
+function log(message)
+{
+ window.parent.postMessage(message, "*");
+}
+
+async function loadedImage()
+{
+ log("PASS: Loaded image");
+ await logStatus();
+ log("Image size: " + image.width + "x" + image.height);
+ log("end");
+}
+
+async function erroredImage()
+{
+ log("FAIL: image loading failed");
+ await logStatus();
+ log("end");
+}
+
+async function logStatus()
+{
+ var response = await fetch("status");
+ log("Status is " + response.statusText);
+}
+
+async function start(url, useCors)
+{
+ try {
+ await logStatus();
+ log("Loading image");
+ if (useCors)
+ image.crossOrigin = "anonymous";
+ image.src = ""
+ } catch(e) {
+ log("Got exception: " + e);
+ await logStatus();
+ }
+}
+ </script>
+</body>
+</html>
Modified: trunk/LayoutTests/http/tests/workers/service/resources/cors-image-fetch.js (224875 => 224876)
--- trunk/LayoutTests/http/tests/workers/service/resources/cors-image-fetch.js 2017-11-15 16:17:47 UTC (rev 224875)
+++ trunk/LayoutTests/http/tests/workers/service/resources/cors-image-fetch.js 2017-11-15 16:24:31 UTC (rev 224876)
@@ -1,39 +1,16 @@
-async function loadedImage()
-{
- log("PASS: Loaded image");
- await logStatus();
- log("Image size: " + image.width + "x" + image.height);
- finishSWTest();
-}
-
-async function erroredImage()
-{
- log("FAIL: image loading failed");
- await logStatus();
- finishSWTest();
-}
-
-async function logStatus()
-{
- var response = await fetch("status");
- log("Status is " + response.statusText);
-}
-
async function test()
{
- try {
- log("Registering service worker");
- await navigator.serviceWorker.register("resources/cors-image-fetch-worker.js", { });
- log("Service worker registered");
-
- await logStatus();
- log("Loading image");
- image.crossOrigin = "anonymous";
- image.src = ""
- } catch(e) {
- log("Got exception: " + e);
- await logStatus();
- }
+ log("Registering service worker");
+ var frame = await interceptedFrame("/workers/service/resources/cors-image-fetch-worker.js", "/workers/service/resources/cors-image-fetch-iframe.html.fromserviceworker");
+ log("Service worker registered");
+ window.addEventListener("message", (event) => {
+ if (event.data ="" "end") {
+ finishSWTest();
+ return;
+ }
+ log(event.data);
+ }, false);
+ frame.contentWindow.start("http://localhost:8000/resources/square100.png.fromserviceworker", true);
}
test();
Modified: trunk/LayoutTests/http/tests/workers/service/resources/image-fetch.js (224875 => 224876)
--- trunk/LayoutTests/http/tests/workers/service/resources/image-fetch.js 2017-11-15 16:17:47 UTC (rev 224875)
+++ trunk/LayoutTests/http/tests/workers/service/resources/image-fetch.js 2017-11-15 16:24:31 UTC (rev 224876)
@@ -1,43 +1,16 @@
-function done()
-{
- finishSWTest();
-}
-
-async function loadedImage()
-{
- log("PASS: Loaded image");
- await logStatus();
- log("Image size: " + image.width + "x" + image.height);
- finishSWTest();
-}
-
-async function erroredImage()
-{
- log("FAIL: image loading failed");
- await logStatus();
- finishSWTest();
-}
-
-async function logStatus()
-{
- var response = await fetch("status");
- log("Status is " + response.statusText);
-}
-
async function test()
{
- try {
- log("Registering service worker");
- await navigator.serviceWorker.register("resources/image-fetch-worker.js", { });
- log("Service worker registered");
-
- await logStatus();
- log("Loading image");
- image.src = ""
- } catch(e) {
- log("Got exception: " + e);
- await logStatus();
- }
+ log("Registering service worker");
+ var frame = await interceptedFrame("/workers/service/resources/cors-image-fetch-worker.js", "/workers/service/resources/cors-image-fetch-iframe.html.fromserviceworker");
+ log("Service worker registered");
+ window.addEventListener("message", (event) => {
+ if (event.data ="" "end") {
+ finishSWTest();
+ return;
+ }
+ log(event.data);
+ }, false);
+ frame.contentWindow.start("/resources/square100.png.fromserviceworker");
}
test();
Modified: trunk/LayoutTests/http/tests/workers/service/resources/service-worker-crossorigin-fetch.js (224875 => 224876)
--- trunk/LayoutTests/http/tests/workers/service/resources/service-worker-crossorigin-fetch.js 2017-11-15 16:17:47 UTC (rev 224875)
+++ trunk/LayoutTests/http/tests/workers/service/resources/service-worker-crossorigin-fetch.js 2017-11-15 16:24:31 UTC (rev 224876)
@@ -1,14 +1,3 @@
-function done()
-{
- finishSWTest();
-}
-
-async function logStatus()
-{
- var response = await fetch("status");
- log("Status is " + response.statusText);
-}
-
async function test()
{
try {
@@ -18,15 +7,16 @@
log("Failed: fetch suceeded unexpectedly");
} catch(e) {
log("PASS: Fetch failed as expected with: " + e);
- }
+ }
- await navigator.serviceWorker.register("resources/service-worker-crossorigin-fetch-worker.js", { });
+ var frame = await interceptedFrame("resources/service-worker-crossorigin-fetch-worker.js", "/");
- var response = await fetch("http://localhost:8080/resources/square100.png.fromserviceworker", {headers: {"custom": "header"}});
+ var response = await frame.contentWindow.fetch("http://localhost:8080/resources/square100.png.fromserviceworker", {headers: {"custom": "header"}});
var buffer = await response.arrayBuffer();
log("PASS: Got response with buffer byte length being " + buffer.byteLength);
- await logStatus();
+ response = await frame.contentWindow.fetch("status");
+ log("Status is " + response.statusText);
} catch(e) {
log("Got exception: " + e);
}
Modified: trunk/LayoutTests/http/tests/workers/service/resources/service-worker-fetch.js (224875 => 224876)
--- trunk/LayoutTests/http/tests/workers/service/resources/service-worker-fetch.js 2017-11-15 16:17:47 UTC (rev 224875)
+++ trunk/LayoutTests/http/tests/workers/service/resources/service-worker-fetch.js 2017-11-15 16:24:31 UTC (rev 224876)
@@ -1,26 +1,18 @@
-function done()
-{
- finishSWTest();
-}
-
-async function logStatus()
-{
- var response = await fetch("status");
- log("Status is " + response.statusText);
-}
-
async function test()
{
try {
- await navigator.serviceWorker.register("resources/service-worker-fetch-worker.js", { });
+ var frame = await interceptedFrame("resources/service-worker-fetch-worker.js", "/");
+ var fetch = frame.contentWindow.fetch;
- await logStatus();
+ var response = await fetch("status");
+ log("Status is " + response.statusText);
- var response = await fetch("/resources/square100.png.fromserviceworker");
+ response = await fetch("/resources/square100.png.fromserviceworker");
var buffer = await response.arrayBuffer();
log("Got response with buffer byte length being " + buffer.byteLength);
- await logStatus();
+ response = await fetch("status");
+ log("Status is " + response.statusText);
} catch(e) {
log("Got exception: " + e);
}
Modified: trunk/LayoutTests/http/tests/workers/service/resources/service-worker-importScript.js (224875 => 224876)
--- trunk/LayoutTests/http/tests/workers/service/resources/service-worker-importScript.js 2017-11-15 16:17:47 UTC (rev 224875)
+++ trunk/LayoutTests/http/tests/workers/service/resources/service-worker-importScript.js 2017-11-15 16:24:31 UTC (rev 224876)
@@ -1,9 +1,3 @@
-async function logStatus()
-{
- var response = await fetch("status");
- log("Status is " + response.statusText);
-}
-
async function test()
{
try {
@@ -11,7 +5,11 @@
await navigator.serviceWorker.register("resources/service-worker-importScript-worker.js", { });
log("Registered service worker");
- await logStatus();
+ var frame = await interceptedFrame("resources/service-worker-fetch-worker.js", "/");
+ var fetch = frame.contentWindow.fetch;
+ var response = await fetch("status");
+ log("Status is " + response.statusText);
+
log("PASS");
} catch(e) {
console.log("Got exception: " + e);
Modified: trunk/LayoutTests/http/tests/workers/service/resources/sw-test-pre.js (224875 => 224876)
--- trunk/LayoutTests/http/tests/workers/service/resources/sw-test-pre.js 2017-11-15 16:17:47 UTC (rev 224875)
+++ trunk/LayoutTests/http/tests/workers/service/resources/sw-test-pre.js 2017-11-15 16:24:31 UTC (rev 224876)
@@ -35,6 +35,29 @@
function finishSWTest()
{
- if (window.testRunner)
- testRunner.notifyDone();
+ if (window.testRunner)
+ testRunner.notifyDone();
}
+
+async function interceptedFrame(workerURL, scopeURL)
+{
+ var registration = await navigator.serviceWorker.register(workerURL, { scope : scopeURL });
+ await new Promise(resolve => {
+ if (registration.active)
+ resolve();
+ worker = registration.installing;
+ if (worker.state === "activated")
+ resolve();
+ worker.addEventListener("statechange", () => {
+ if (worker.state === "activated")
+ resolve();
+ });
+ });
+
+ return await new Promise((resolve) => {
+ var frame = document.createElement('iframe');
+ frame.src = ""
+ frame._onload_ = function() { resolve(frame); };
+ document.body.appendChild(frame);
+ });
+}
Modified: trunk/LayoutTests/http/tests/workers/service/resources/tainted-image-fetch.js (224875 => 224876)
--- trunk/LayoutTests/http/tests/workers/service/resources/tainted-image-fetch.js 2017-11-15 16:17:47 UTC (rev 224875)
+++ trunk/LayoutTests/http/tests/workers/service/resources/tainted-image-fetch.js 2017-11-15 16:24:31 UTC (rev 224876)
@@ -1,46 +1,23 @@
-async function loadedImage()
-{
- log("PASS: Loaded image");
- await logStatus();
- log("Image size: " + image.width + "x" + image.height);
-
- canvas.getContext("2d").drawImage(image, 0, 0);
- try {
- canvas.toDataURL("image/jpeg");
- log("FAIL: Image is not tainted");
- } catch (e) {
- log("PASS: canvas toDataURL fails with " + e);
- }
- finishSWTest();
-}
-
-async function erroredImage()
-{
- log("FAIL: image loading failed");
- await logStatus();
- finishSWTest();
-}
-
-async function logStatus()
-{
- var response = await fetch("status");
- log("Status is " + response.statusText);
-}
-
async function test()
{
- try {
- log("Registering service worker");
- await navigator.serviceWorker.register("resources/cors-image-fetch-worker.js", { });
- log("Service worker registered");
-
- await logStatus();
- log("Loading image");
- image.src = ""
- } catch(e) {
- log("Got exception: " + e);
- await logStatus();
- }
+ log("Registering service worker");
+ var frame = await interceptedFrame("/workers/service/resources/cors-image-fetch-worker.js", "/workers/service/resources/cors-image-fetch-iframe.html.fromserviceworker");
+ log("Service worker registered");
+ window.addEventListener("message", (event) => {
+ if (event.data ="" "end") {
+ canvas.getContext("2d").drawImage(frame.contentWindow.image, 0, 0);
+ try {
+ canvas.toDataURL("image/jpeg");
+ log("FAIL: Image is not tainted");
+ } catch (e) {
+ log("PASS: canvas toDataURL fails with " + e);
+ }
+ finishSWTest();
+ return;
+ }
+ log(event.data);
+ }, false);
+ frame.contentWindow.start("http://localhost:8000/resources/square100.png.fromserviceworker");
}
test();
Modified: trunk/LayoutTests/http/tests/workers/service/service-worker-fetch.https-expected.txt (224875 => 224876)
--- trunk/LayoutTests/http/tests/workers/service/service-worker-fetch.https-expected.txt 2017-11-15 16:17:47 UTC (rev 224875)
+++ trunk/LayoutTests/http/tests/workers/service/service-worker-fetch.https-expected.txt 2017-11-15 16:24:31 UTC (rev 224876)
@@ -1,3 +1,4 @@
+
Status is no status
Got response with buffer byte length being 12940
Status is https://127.0.0.1:8443/resources/square100.png through fetch
Modified: trunk/LayoutTests/http/tests/workers/service/tainted-image-fetch-expected.txt (224875 => 224876)
--- trunk/LayoutTests/http/tests/workers/service/tainted-image-fetch-expected.txt 2017-11-15 16:17:47 UTC (rev 224875)
+++ trunk/LayoutTests/http/tests/workers/service/tainted-image-fetch-expected.txt 2017-11-15 16:24:31 UTC (rev 224876)
@@ -1,7 +1,7 @@
Registering service worker
Service worker registered
-Status is no status
+Status is Got response for http://127.0.0.1:8000/workers/service/resources/cors-image-fetch-iframe.html, status code is 200
Loading image
PASS: Loaded image
Status is Got response for http://localhost:8000/resources/square100.png, status code is 200
Modified: trunk/LayoutTests/imported/w3c/ChangeLog (224875 => 224876)
--- trunk/LayoutTests/imported/w3c/ChangeLog 2017-11-15 16:17:47 UTC (rev 224875)
+++ trunk/LayoutTests/imported/w3c/ChangeLog 2017-11-15 16:24:31 UTC (rev 224876)
@@ -1,3 +1,12 @@
+2017-11-15 Youenn Fablet <[email protected]>
+
+ Remove service worker selection based on registration
+ https://bugs.webkit.org/show_bug.cgi?id=179705
+
+ Reviewed by Alex Christensen.
+
+ * web-platform-tests/service-workers/service-worker/controller-on-reload.https-expected.txt:
+
2017-11-14 Chris Dumez <[email protected]>
[Service Workers] Implement container.getRegistrations()
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/controller-on-reload.https-expected.txt (224875 => 224876)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/controller-on-reload.https-expected.txt 2017-11-15 16:17:47 UTC (rev 224875)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/controller-on-reload.https-expected.txt 2017-11-15 16:24:31 UTC (rev 224876)
@@ -1,4 +1,3 @@
+PASS controller is set upon reload after registration
-FAIL controller is set upon reload after registration assert_equals: controller should be null until the document is reloaded expected null but got object "[object ServiceWorker]"
-
Modified: trunk/Source/WebCore/ChangeLog (224875 => 224876)
--- trunk/Source/WebCore/ChangeLog 2017-11-15 16:17:47 UTC (rev 224875)
+++ trunk/Source/WebCore/ChangeLog 2017-11-15 16:24:31 UTC (rev 224876)
@@ -1,3 +1,20 @@
+2017-11-15 Youenn Fablet <[email protected]>
+
+ Remove service worker selection based on registration
+ https://bugs.webkit.org/show_bug.cgi?id=179705
+
+ Reviewed by Alex Christensen.
+
+ Covered by updated tests.
+
+ Selection is now handled at navigation time.
+ We can remove the selection/unselection of worker based on registration.
+
+ * workers/service/ServiceWorkerContainer.cpp:
+ (WebCore::ServiceWorkerContainer::jobResolvedWithUnregistrationResult):
+ * workers/service/ServiceWorkerRegistration.cpp:
+ (WebCore::ServiceWorkerRegistration::ServiceWorkerRegistration):
+
2017-11-15 Zan Dobersek <[email protected]>
[Cairo] GraphicsContext::setPlatformShadow() has to update state's shadow offset when ignoring transforms
Modified: trunk/Source/WebCore/workers/service/ServiceWorkerContainer.cpp (224875 => 224876)
--- trunk/Source/WebCore/workers/service/ServiceWorkerContainer.cpp 2017-11-15 16:17:47 UTC (rev 224875)
+++ trunk/Source/WebCore/workers/service/ServiceWorkerContainer.cpp 2017-11-15 16:24:31 UTC (rev 224876)
@@ -343,10 +343,6 @@
return;
}
- // FIXME: Implement proper selection of service workers.
- if (unregistrationResult)
- context->setActiveServiceWorker(nullptr);
-
context->postTask([job = makeRef(job), unregistrationResult](ScriptExecutionContext&) mutable {
job->promise().resolve<IDLBoolean>(unregistrationResult);
});
Modified: trunk/Source/WebCore/workers/service/ServiceWorkerRegistration.cpp (224875 => 224876)
--- trunk/Source/WebCore/workers/service/ServiceWorkerRegistration.cpp 2017-11-15 16:17:47 UTC (rev 224875)
+++ trunk/Source/WebCore/workers/service/ServiceWorkerRegistration.cpp 2017-11-15 16:24:31 UTC (rev 224876)
@@ -60,9 +60,6 @@
if (m_registrationData.activeWorker)
m_activeWorker = ServiceWorker::getOrCreate(context, WTFMove(*m_registrationData.activeWorker));
- // FIXME: Implement proper selection of service workers.
- context.setActiveServiceWorker(getNewestWorker());
-
m_container->addRegistration(*this);
}