Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(311)

Side by Side Diff: chrome/test/data/extensions/api_test/service_worker/events/page.js

Issue 2886923002: [extension SW]: Support event listener registration and event dispatching. (Closed)
Patch Set: sync Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2017 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 var workerPromise = new Promise(function(resolve, reject) {
6 navigator.serviceWorker.register('sw.js').then(function() {
7 return navigator.serviceWorker.ready;
8 }).then(function(registration) {
9 var sw = registration.active;
10 var channel = new MessageChannel();
11 channel.port1.onmessage = function(e) {
12 var data = e.data;
13 if (data == 'listener-added') {
14 var url = chrome.extension.getURL('on_updated.html');
15 chrome.tabs.create({url: url});
16 } else if (data == 'chrome.tabs.onUpdated callback') {
17 resolve(data);
18 } else {
19 reject(data);
20 }
21 };
22 sw.postMessage('addOnUpdatedListener', [channel.port2]);
23 }).catch(function(err) {
24 reject(err);
25 });
26 });
27
28 window.runEventTest = function() {
29 workerPromise.then(function(message) {
30 window.domAutomationController.send(message);
31 }).catch(function(err) {
32 window.domAutomationController.send('FAILURE');
33 });
34 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698