Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(111)

Side by Side Diff: LayoutTests/http/tests/serviceworker/postmessage-to-client.html

Issue 352423005: Add ServiceWorker InstallPhaseEvent.waitUntil() layout test. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: add FIXME Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <title>Service Worker: postMessage to Client</title> 2 <title>Service Worker: postMessage to Client</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 var t = async_test('postMessage from ServiceWorker to Client'); 7 var t = async_test('postMessage from ServiceWorker to Client');
8 t.step(function() { 8 t.step(function() {
9 var scope = 'resources/blank.html' 9 var scope = 'resources/blank.html'
10 service_worker_unregister_and_register( 10 service_worker_unregister_and_register(
11 t, 'resources/postmessage-to-client-worker.js', scope).then(t.step_func( onRegister)); 11 t, 'resources/postmessage-to-client-worker.js', scope).then(t.step_func( onRegister));
12 12
13 function onRegister(worker) { 13 function onRegister(worker) {
14 worker.addEventListener('statechange', t.step_func(function(event) { 14 worker.addEventListener('statechange', t.step_func(function(event) {
15 if (event.target.state == 'active') 15 if (event.target.state == 'activated')
16 onActive(); 16 onActive();
17 })); 17 }));
18 } 18 }
19 19
20 function onActive() { 20 function onActive() {
21 with_iframe(scope, t.step_func(function(frame) { 21 with_iframe(scope, t.step_func(function(frame) {
22 var w = frame.contentWindow; 22 var w = frame.contentWindow;
23 w.onmessage = t.step_func(onMessage); 23 w.onmessage = t.step_func(onMessage);
24 w.navigator.serviceWorker.controller.postMessage('ping'); 24 w.navigator.serviceWorker.controller.postMessage('ping');
25 })); 25 }));
26 } 26 }
27 27
28 var result = []; 28 var result = [];
29 var expected = ['Sending message via clients']; 29 var expected = ['Sending message via clients'];
30 30
31 function onMessage(e) { 31 function onMessage(e) {
32 var message = e.data; 32 var message = e.data;
33 if (message === 'quit') { 33 if (message === 'quit') {
34 assert_array_equals(result, expected, 'Worker should post back expec ted messages.'); 34 assert_array_equals(result, expected, 'Worker should post back expec ted messages.');
35 service_worker_unregister_and_done(t, scope); 35 service_worker_unregister_and_done(t, scope);
36 } else { 36 } else {
37 result.push(message); 37 result.push(message);
38 } 38 }
39 } 39 }
40 }); 40 });
41 </script> 41 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698