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

Side by Side Diff: LayoutTests/http/tests/push_messaging/resources/instrumentation-service-worker.js

Issue 1130233003: Reject the permissionState promise with NotSupported Exception (1/3) (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 5 years, 7 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
1 // Allows a document to exercise the Push API within a service worker by sending commands. 1 // Allows a document to exercise the Push API within a service worker by sending commands.
2 2
3 // The port through which the document sends commands to the service worker. 3 // The port through which the document sends commands to the service worker.
4 var port = null; 4 var port = null;
5 5
6 // The most recently seen subscription. 6 // The most recently seen subscription.
7 var lastSeenSubscription = null; 7 var lastSeenSubscription = null;
8 8
9 self.addEventListener('message', function(workerEvent) { 9 self.addEventListener('message', function(workerEvent) {
10 port = workerEvent.data; 10 port = workerEvent.data;
11 11
12 // Listen to incoming commands on the message port. 12 // Listen to incoming commands on the message port.
13 port.onmessage = function(event) { 13 port.onmessage = function(event) {
14 if (typeof event.data != 'object' || !event.data.command) 14 if (typeof event.data != 'object' || !event.data.command)
15 return; 15 return;
16 16 var options = event.data.options || {}
17 switch (event.data.command) { 17 switch (event.data.command) {
18 case 'permissionState': 18 case 'permissionState':
19 self.registration.pushManager.permissionState().then(function(pe rmissionStatus) { 19 self.registration.pushManager.permissionState(options).then(func tion(permissionStatus) {
20 port.postMessage({ command: event.data.command, 20 port.postMessage({ command: event.data.command,
21 success: true, 21 success: true,
22 permission: permissionStatus }); 22 permission: permissionStatus });
23 }).catch(makeErrorHandler(event.data.command)); 23 }).catch(makeErrorHandler(event.data.command));
24 break; 24 break;
25 25
26 case 'subscribe': 26 case 'subscribe':
27 self.registration.pushManager.subscribe().then(function(subscrip tion) { 27 self.registration.pushManager.subscribe(options).then(function(s ubscription) {
28 lastSeenSubscription = subscription; 28 lastSeenSubscription = subscription;
29 port.postMessage({ command: event.data.command, 29 port.postMessage({ command: event.data.command,
30 success: true, 30 success: true,
31 subscriptionId: subscription.subscription Id, 31 subscriptionId: subscription.subscription Id,
32 endpoint: subscription.endpoint }); 32 endpoint: subscription.endpoint });
33 }).catch(makeErrorHandler(event.data.command)); 33 }).catch(makeErrorHandler(event.data.command));
34 break; 34 break;
35 35
36 case 'getSubscription': 36 case 'getSubscription':
37 self.registration.pushManager.getSubscription().then(function(su bscription) { 37 self.registration.pushManager.getSubscription().then(function(su bscription) {
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
73 }); 73 });
74 74
75 function makeErrorHandler(command) { 75 function makeErrorHandler(command) {
76 return function(error) { 76 return function(error) {
77 var errorMessage = error ? error.message : 'unknown error'; 77 var errorMessage = error ? error.message : 'unknown error';
78 port.postMessage({ command: command, 78 port.postMessage({ command: command,
79 success: false, 79 success: false,
80 errorMessage: errorMessage }); 80 errorMessage: errorMessage });
81 }; 81 };
82 } 82 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698