Move parseFontFaceDescriptor to CSSPropertyParser.cpp
[chromium-blink-merge.git] / third_party / WebKit / LayoutTests / http / tests / notifications / serviceworkerregistration-service-worker-no-permission.html
blobe5f5b3f6614bf492e6056e666fab3bb83265791a
1 <!doctype html>
2 <html>
3 <head>
4 <title>Notifications: ServiceWorkerRegistration.showNotification().</title>
5 <script src="../resources/testharness.js"></script>
6 <script src="../resources/testharnessreport.js"></script>
7 <script src="../serviceworker/resources/test-helpers.js"></script>
8 <script src="resources/test-helpers.js"></script>
9 </head>
10 <body>
11 <script>
12 // Tests that the showNotification() function when used in a Service Worker
13 // rejects when no permission has been granted. This test requires the test runner.
15 async_test(function(test) {
16 var scope = 'resources/scope/serviceworkerregistration-service-worker-click',
17 script = 'resources/instrumentation-service-worker.js';
19 getActiveServiceWorkerWithMessagePort(test, script, scope).then(function(workerInfo) {
20 // (1) Tell the Service Worker to display a Web Notification.
21 workerInfo.port.postMessage({
22 command: 'show',
24 title: 'My Notification',
25 options: { body: 'Hello, world!' }
26 });
28 workerInfo.port.addEventListener('message', function(event) {
29 if (typeof event.data != 'object' || !event.data.command) {
30 assert_unreached('Invalid message from the Service Worker.');
31 return;
34 // (2) Listen for confirmation from the Service Worker that the
35 // notification could not be displayed because of a permission error.
36 assert_equals(event.data.command, 'show');
38 assert_false(event.data.success);
39 assert_equals(event.data.message, 'No notification permission has been granted for this origin.');
41 test.done();
42 });
43 }).catch(unreached_rejection(test));
45 }, 'showNotification() must reject if no Web Notification permission has been granted.');
46 </script>
47 </body>
48 </html>