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

Side by Side Diff: LayoutTests/http/tests/serviceworker/request-end-to-end.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: Request end-to-end</title> 2 <title>Service Worker: Request end-to-end</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('Request: end-to-end'); 7 var t = async_test('Request: end-to-end');
8 t.step(function() { 8 t.step(function() {
9 var url = 'resources/request-end-to-end-worker.js'; 9 var url = 'resources/request-end-to-end-worker.js';
10 var scope = 'resources/blank.html'; 10 var scope = 'resources/blank.html';
11 11
12 service_worker_unregister_and_register(t, url, scope).then(onRegister); 12 service_worker_unregister_and_register(t, url, scope).then(onRegister);
13 13
14 function sendMessagePort(worker) { 14 function sendMessagePort(worker) {
15 var messageChannel = new MessageChannel(); 15 var messageChannel = new MessageChannel();
16 worker.postMessage({port:messageChannel.port2}, [messageChannel.port2]); 16 worker.postMessage({port:messageChannel.port2}, [messageChannel.port2]);
17 return messageChannel.port1; 17 return messageChannel.port1;
18 } 18 }
19 19
20 function onRegister(sw) { 20 function onRegister(sw) {
21 var port = sendMessagePort(sw); 21 var port = sendMessagePort(sw);
22 port.addEventListener('message', t.step_func(function(event) { 22 port.addEventListener('message', t.step_func(function(event) {
23 onMessage(event); 23 onMessage(event);
24 }), false); 24 }), false);
25 port.start(); 25 port.start();
26 sw.addEventListener('statechange', t.step_func(function(event) { 26 sw.addEventListener('statechange', t.step_func(function(event) {
27 if (event.target.state == 'active') 27 if (event.target.state == 'activated')
28 onActive(); 28 onActive();
29 })); 29 }));
30 } 30 }
31 31
32 function onActive() { 32 function onActive() {
33 with_iframe(scope, t.step_func(function(frame) {})); 33 with_iframe(scope, t.step_func(function(frame) {}));
34 } 34 }
35 35
36 function onMessage(event) { 36 function onMessage(event) {
37 assert_equals( 37 assert_equals(
38 event.data.url, 38 event.data.url,
39 location.href.substring(0, location.href.lastIndexOf('/') + 1) + sco pe, 39 location.href.substring(0, location.href.lastIndexOf('/') + 1) + sco pe,
40 'request.url should be passed to onfetch event.'); 40 'request.url should be passed to onfetch event.');
41 assert_equals(event.data.method, 'GET', 41 assert_equals(event.data.method, 'GET',
42 'request.method should be passed to onfetch event.'); 42 'request.method should be passed to onfetch event.');
43 assert_equals(event.data.headers['User-Agent'], navigator.userAgent, 43 assert_equals(event.data.headers['User-Agent'], navigator.userAgent,
44 'User-Agent header should be passed to onfetch event.') 44 'User-Agent header should be passed to onfetch event.')
45 service_worker_unregister_and_done(t, scope); 45 service_worker_unregister_and_done(t, scope);
46 } 46 }
47 }); 47 });
48 </script> 48 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698