| Index: chrome/test/data/extensions/api_test/service_worker/web_accessible_resources/sw.js
|
| diff --git a/chrome/test/data/extensions/api_test/service_worker/web_accessible_resources/sw.js b/chrome/test/data/extensions/api_test/service_worker/web_accessible_resources/sw.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..18e4bbe8d5adb8f7dff611da12945fd8fad2fc39
|
| --- /dev/null
|
| +++ b/chrome/test/data/extensions/api_test/service_worker/web_accessible_resources/sw.js
|
| @@ -0,0 +1,41 @@
|
| +// Copyright 2015 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +var swIframeHTMLResponse =
|
| + '<script src="iframe-sw.js"></script>';
|
| +
|
| +var swIframeJSResponse =
|
| + 'window.onmessage = function(e) {' +
|
| + ' if (e.data == "ping") {' +
|
| + ' e.source.postMessage("FROM_SW_RESOURCE", "*")' +
|
| + ' }' +
|
| + '};';
|
| +
|
| +self.onfetch = function(e) {
|
| + if (/data_for_extension$/.test(e.request.url)) {
|
| + e.respondWith(new Response('SW served data'));
|
| + } else if (/iframe.html$/.test(e.request.url)) {
|
| + e.respondWith(new Response(swIframeHTMLResponse, {
|
| + headers: {'Content-Type': 'text/html'}
|
| + }));
|
| + } else if (/iframe-sw.js$/.test(e.request.url)) {
|
| + e.respondWith(new Response(swIframeJSResponse));
|
| + }
|
| +};
|
| +
|
| +self.onmessage = function(e) {
|
| + var request = e.data;
|
| + switch (request) {
|
| + case 'claim':
|
| + self.clients.claim().then(function() {
|
| + e.ports[0].postMessage('clients claimed');
|
| + }).catch(function(err) {
|
| + e.ports[0].postMessage('FAIL' + err);
|
| + });
|
| + break;
|
| + default:
|
| + e.ports[0].postMessage('FAIL: Incorrect request.');
|
| + break;
|
| + }
|
| +};
|
|
|