OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <title>Service Worker: WindowClient.focus() tests (using testRunner)</title> | 2 <title>Service Worker: WindowClient.focus() tests (using testRunner)</title> |
3 <script src="../../resources/testharness.js"></script> | 3 <script src="../../resources/testharness.js"></script> |
4 <script src="../../resources/testharnessreport.js"></script> | 4 <script src="../../resources/testharnessreport.js"></script> |
5 <script src="../resources/test-helpers.js"></script> | 5 <script src="../resources/test-helpers.js"></script> |
6 <script> | 6 <script> |
7 // This test is using testRunner to grant itself the notification permission and | 7 // This test is using testRunner to grant itself the notification permission and |
8 // to simulate a click on a notification. A couple of changes would allow it to | 8 // to simulate a click on a notification. A couple of changes would allow it to |
9 // be run as a manual test by other browser vendors. | 9 // be run as a manual test by other browser vendors. |
10 if (window.testRunner) | 10 if (window.testRunner) |
11 testRunner.setPermission('notifications', 'granted', location.origin, locati
on.origin); | 11 testRunner.setPermission('notifications', 'granted', location.origin, locati
on.origin); |
12 | 12 |
13 var t = async_test('WindowClient.focus() behaved as expected'); | 13 var t = async_test('WindowClient.focus() behaved as expected'); |
14 t.step(function() { | 14 t.step(function() { |
15 var scope = 'resources/windowclient-focus.html' | 15 var scope = 'resources/windowclient-focus.html' |
16 service_worker_unregister_and_register( | 16 service_worker_unregister_and_register( |
17 t, 'resources/windowclient-focus.js', scope) | 17 t, 'resources/windowclient-focus.js', scope) |
18 .then(function(registration) { | 18 .then(function(registration) { |
19 return wait_for_state(t, registration.installing, 'activated'); | 19 return wait_for_state(t, registration.installing, 'activated'); |
20 }) | 20 }) |
21 .then(function() { return with_iframe(scope); }) | 21 .then(function() { return with_iframe(scope); }) |
22 .then(function(frame) { | 22 .then(function(frame) { |
23 var w = frame.contentWindow; | 23 var w = frame.contentWindow; |
24 w.onmessage = t.step_func(onMessage); | 24 w.navigator.serviceWorker.onmessage = t.step_func(onMessage); |
25 w.navigator.serviceWorker.controller.postMessage('start'); | 25 w.navigator.serviceWorker.controller.postMessage('start'); |
26 }) | 26 }) |
27 .catch(unreached_rejection(t)); | 27 .catch(unreached_rejection(t)); |
28 | 28 |
29 var result = []; | 29 var result = []; |
30 var expected = [ | 30 var expected = [ |
31 'focus() can\'t focus a window without a user interaction', | 31 'focus() can\'t focus a window without a user interaction', |
32 'focus() error is InvalidAccessError', | 32 'focus() error is InvalidAccessError', |
33 'focus() succeeded', | 33 'focus() succeeded', |
34 'focus() result: [object WindowClient]', | 34 'focus() result: [object WindowClient]', |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
81 if (message === 'quit') { | 81 if (message === 'quit') { |
82 assert_array_equals(result, expected, | 82 assert_array_equals(result, expected, |
83 'Worker should post back expected messages.'); | 83 'Worker should post back expected messages.'); |
84 service_worker_unregister_and_done(t, scope); | 84 service_worker_unregister_and_done(t, scope); |
85 } else { | 85 } else { |
86 result.push(message); | 86 result.push(message); |
87 } | 87 } |
88 } | 88 } |
89 }); | 89 }); |
90 </script> | 90 </script> |
OLD | NEW |