5 permissionState when called in service worker resolves with granted when permission is granted
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>
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');
37 }).catch(unreached_rejection(test
));
38 }, 'permissionState when called in service worker resolves with granted when permission is granted');