Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / third_party / WebKit / LayoutTests / http / tests / push_messaging / permission-state-granted-in-service-worker.html
blobdbe2c2639594be2f1a6f4ce67efd98fec8c6cce9
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <title>
5 permissionState when called in service worker resolves with granted when permission is granted
6 </title>
7 <link rel="manifest" href="resources/push_manifest.json">
8 <script src="../resources/testharness.js"></script>
9 <script src="../resources/testharnessreport.js"></script>
10 <script src="../serviceworker/resources/test-helpers.js"></script>
11 <script src="../notifications/resources/test-helpers.js"></script>
12 </head>
13 <body>
14 <script>
15 // This test uses the test runner. If running manually, grant permission when prompted.
16 async_test(function(test) {
17 if (window.testRunner)
18 testRunner.setPermission('push-messaging', 'granted', location.origin, location.origin);
20 var script = 'resources/instrumentation-service-worker.js';
21 var scope = 'resources/scope/' + location.pathname;
23 getActiveServiceWorkerWithMessagePort(test, script, scope).then(function(workerInfo) {
24 workerInfo.port.postMessage({command: 'permissionState', options: {userVisibleOnly: true}});
26 workerInfo.port.addEventListener('message', function(event) {
27 if (typeof event.data != 'object' || !event.data.command)
28 assert_unreached('Invalid message from the service worker');
30 assert_equals(event.data.command, 'permissionState');
31 assert_true(event.data.success,
32 'permissionState should succeed. Error message: ' + event.data.errorMessage);
33 assert_equals(event.data.permission, 'granted');
35 test.done();
36 });
37 }).catch(unreached_rejection(test));
38 }, 'permissionState when called in service worker resolves with granted when permission is granted');
39 </script>
40 </body>
41 </html>