Chromium Code Reviews| Index: chrome/test/data/extensions/api_test/service_worker/events/page.js |
| diff --git a/chrome/test/data/extensions/api_test/service_worker/events/page.js b/chrome/test/data/extensions/api_test/service_worker/events/page.js |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..1e1b7ec2204656dcac6b47ebbf8586001c6cb48f |
| --- /dev/null |
| +++ b/chrome/test/data/extensions/api_test/service_worker/events/page.js |
| @@ -0,0 +1,35 @@ |
| +// Copyright 2017 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 workerPromise = new Promise(function(resolve, reject) { |
| + navigator.serviceWorker.register('sw.js').then(function() { |
| + return navigator.serviceWorker.ready; |
| + }).then(function(registration) { |
| + var sw = registration.active; |
| + var channel = new MessageChannel(); |
| + channel.port1.onmessage = function(e) { |
| + var data = e.data; |
| + console.error('data: ' + data); |
|
Devlin
2017/06/01 04:54:49
probably remove this or replace with chrome.test.l
lazyboy
2017/06/01 23:33:29
Removed.
|
| + if (data == 'listener-added') { |
| + var url = chrome.extension.getURL('on_updated.html'); |
| + chrome.tabs.create({url: url}); |
| + } else if (data == 'chrome.tabs.onUpdated callback') { |
| + resolve(data); |
| + } else { |
| + reject(data); |
| + } |
| + }; |
| + sw.postMessage('addOnUpdatedListener', [channel.port2]); |
| + }).catch(function(err) { |
| + reject(err); |
| + }); |
| +}); |
| + |
| +window.runEventTest = function() { |
| + workerPromise.then(function(message) { |
| + window.domAutomationController.send(message); |
| + }).catch(function(err) { |
| + window.domAutomationController.send('FAILURE'); |
| + }); |
| +}; |