OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <html> | 2 <html> |
3 <head> | 3 <head> |
4 <title> | 4 <title> |
5 Push API: permissionState when called in service worker resolves with prompt
when no permission is set | 5 Push API: permissionState when called in service worker resolves with prompt
when no permission is set |
6 </title> | 6 </title> |
7 <link rel="manifest" href="resources/push_manifest.json"> | 7 <link rel="manifest" href="resources/push_manifest.json"> |
8 <script src="../resources/testharness.js"></script> | 8 <script src="../resources/testharness.js"></script> |
9 <script src="../resources/testharnessreport.js"></script> | 9 <script src="../resources/testharnessreport.js"></script> |
10 <script src="../serviceworker/resources/test-helpers.js"></script> | 10 <script src="../serviceworker/resources/test-helpers.js"></script> |
11 <script src="../notifications/resources/test-helpers.js"></script> | 11 <script src="../notifications/resources/test-helpers.js"></script> |
12 </head> | 12 </head> |
13 <body> | 13 <body> |
14 <script> | 14 <script> |
15 // This test uses the test runner. If running manually, clear permissions before
running this test. | 15 // This test uses the test runner. If running manually, clear permissions before
running this test. |
16 async_test(function(test) { | 16 async_test(function(test) { |
17 if (window.testRunner) | 17 if (window.testRunner) |
18 testRunner.setPermission('push-messaging', 'prompt', location.origin, lo
cation.origin); | 18 testRunner.setPermission('push-messaging', 'prompt', location.origin, lo
cation.origin); |
19 | 19 |
20 var script = 'resources/instrumentation-service-worker.js'; | 20 var script = 'resources/instrumentation-service-worker.js'; |
21 var scope = 'resources/scope/' + location.pathname; | 21 var scope = 'resources/scope/' + location.pathname; |
22 | 22 |
23 getActiveServiceWorkerWithMessagePort(test, script, scope).then(function(wor
kerInfo) { | 23 getActiveServiceWorkerWithMessagePort(test, script, scope).then(function(wor
kerInfo) { |
24 workerInfo.port.postMessage({command: 'permissionState'}); | 24 workerInfo.port.postMessage({command: 'permissionState', options: {userV
isibleOnly: true}}); |
25 | 25 |
26 workerInfo.port.addEventListener('message', function(event) { | 26 workerInfo.port.addEventListener('message', function(event) { |
27 if (typeof event.data != 'object' || !event.data.command) | 27 if (typeof event.data != 'object' || !event.data.command) |
28 assert_unreached('Invalid message from the service worker'); | 28 assert_unreached('Invalid message from the service worker'); |
29 | 29 |
30 assert_equals(event.data.command, 'permissionState'); | 30 assert_equals(event.data.command, 'permissionState'); |
31 assert_true(event.data.success, | 31 assert_true(event.data.success, |
32 'permissionState should succeed. Error message: ' + even
t.data.errorMessage); | 32 'permissionState should succeed. Error message: ' + even
t.data.errorMessage); |
33 assert_equals(event.data.permission, 'prompt'); | 33 assert_equals(event.data.permission, 'prompt'); |
34 | 34 |
35 test.done(); | 35 test.done(); |
36 }); | 36 }); |
37 }).catch(unreached_rejection(test)); | 37 }).catch(unreached_rejection(test)); |
38 }, 'permissionState when called in service worker resolves with prompt when no p
ermission is set'); | 38 }, 'permissionState when called in service worker resolves with prompt when no p
ermission is set'); |
39 </script> | 39 </script> |
40 </body> | 40 </body> |
41 </html> | 41 </html> |
OLD | NEW |