4 <title>subscribe() is rejected when permission has been denied
</title>
5 <link rel=
"manifest" href=
"resources/push_manifest.json">
6 <script src=
"../resources/testharness.js"></script>
7 <script src=
"../resources/testharnessreport.js"></script>
8 <script src=
"../serviceworker/resources/test-helpers.js"></script>
12 async_test(function(test
) {
13 var workerUrl
= 'resources/empty_worker.js';
14 var workerScope
= 'resources/scope/' + location
.pathname
;
16 service_worker_unregister_and_register(test
, workerUrl
, workerScope
)
17 .then(function(serviceWorkerRegistration
) {
18 swRegistration
= serviceWorkerRegistration
;
19 return wait_for_state(test
, swRegistration
.installing
, 'activated');
22 // If running manually, deny permission when prompted.
23 if (window
.testRunner
)
24 testRunner
.setPermission('push-messaging', 'denied', location
.origin
, location
.origin
);
25 return swRegistration
.pushManager
.subscribe();
27 .then(function(pushSubscription
) {
28 assert_unreached('Subscription must not succeed after permission is denied.');
30 assert_equals(e
.name
, 'PermissionDeniedError');
31 assert_regexp_match(e
.message
, /permission denied/);
32 return service_worker_unregister_and_done(test
, workerScope
);
34 .catch(unreached_rejection(test
));
35 }, 'subscribe() is rejected when permission has been denied');