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

Side by Side Diff: third_party/WebKit/LayoutTests/imported/wpt/service-workers/service-worker/resources/fetch-event-test-worker.js

Issue 2415873002: Import w3c tests for the service workers (Closed)
Patch Set: Rebase Created 4 years, 2 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 function handleString(event) { 1 function handleString(event) {
2 event.respondWith(new Response('Test string')); 2 event.respondWith(new Response('Test string'));
3 } 3 }
4 4
5 function handleBlob(event) { 5 function handleBlob(event) {
6 event.respondWith(new Response(new Blob(['Test blob']))); 6 event.respondWith(new Response(new Blob(['Test blob'])));
7 } 7 }
8 8
9 function handleReferrer(event) { 9 function handleReferrer(event) {
10 event.respondWith(new Response(new Blob( 10 event.respondWith(new Response(new Blob(
11 ['Referrer: ' + event.request.referrer]))); 11 ['Referrer: ' + event.request.referrer])));
12 } 12 }
13 13
14 function handleReferrerPolicy(event) {
15 event.respondWith(new Response(new Blob(
16 ['ReferrerPolicy: ' + event.request.referrerPolicy])));
17 }
18
19 function handleReferrerFull(event) {
20 event.respondWith(new Response(new Blob(
21 ['Referrer: ' + event.request.referrer + '\n' +
22 'ReferrerPolicy: ' + event.request.referrerPolicy])));
23 }
24
14 function handleClientId(event) { 25 function handleClientId(event) {
15 var body; 26 var body;
16 if (event.clientId !== null) { 27 if (event.clientId !== null) {
17 body = 'Client ID Found: ' + event.clientId; 28 body = 'Client ID Found: ' + event.clientId;
18 } else { 29 } else {
19 body = 'Client ID Not Found'; 30 body = 'Client ID Not Found';
20 } 31 }
21 event.respondWith(new Response(body)); 32 event.respondWith(new Response(body));
22 } 33 }
23 34
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
63 event.respondWith(fetch('other.html').then(function(response) { 74 event.respondWith(fetch('other.html').then(function(response) {
64 lastResponseForUsedCheck = response; 75 lastResponseForUsedCheck = response;
65 return response; 76 return response;
66 })); 77 }));
67 } else { 78 } else {
68 event.respondWith(new Response( 79 event.respondWith(new Response(
69 'bodyUsed: ' + lastResponseForUsedCheck.bodyUsed)); 80 'bodyUsed: ' + lastResponseForUsedCheck.bodyUsed));
70 } 81 }
71 } 82 }
72 83
73 function handleHeaders(event) { 84 function handleFragmentCheck(event) {
74 const headers = Array.from(event.request.headers); 85 var body;
75 event.respondWith(new Response(JSON.stringify(headers))); 86 if (event.request.url.indexOf('#') === -1) {
87 body = 'Fragment Not Found';
88 } else {
89 body = 'Fragment Found';
90 }
91 event.respondWith(new Response(body));
92 }
93
94 function handleCache(event) {
95 event.respondWith(new Response(event.request.cache));
96 }
97
98 function handleEventSource(event) {
99 if (event.request.mode === 'navigate') {
100 return;
101 }
102 var data = {
103 mode: event.request.mode,
104 cache: event.request.cache,
105 credentials: event.request.credentials
106 };
107 var body = 'data:' + JSON.stringify(data) + '\n\n';
108 event.respondWith(new Response(body, {
109 headers: { 'Content-Type': 'text/event-stream' }
110 }
111 ));
112 }
113
114 function handleIntegrity(event) {
115 event.respondWith(new Response(event.request.integrity));
76 } 116 }
77 117
78 self.addEventListener('fetch', function(event) { 118 self.addEventListener('fetch', function(event) {
79 var url = event.request.url; 119 var url = event.request.url;
80 var handlers = [ 120 var handlers = [
81 { pattern: '?string', fn: handleString }, 121 { pattern: '?string', fn: handleString },
82 { pattern: '?blob', fn: handleBlob }, 122 { pattern: '?blob', fn: handleBlob },
123 { pattern: '?referrerFull', fn: handleReferrerFull },
124 { pattern: '?referrerPolicy', fn: handleReferrerPolicy },
83 { pattern: '?referrer', fn: handleReferrer }, 125 { pattern: '?referrer', fn: handleReferrer },
84 { pattern: '?clientId', fn: handleClientId }, 126 { pattern: '?clientId', fn: handleClientId },
85 { pattern: '?ignore', fn: function() {} }, 127 { pattern: '?ignore', fn: function() {} },
86 { pattern: '?null', fn: handleNullBody }, 128 { pattern: '?null', fn: handleNullBody },
87 { pattern: '?fetch', fn: handleFetch }, 129 { pattern: '?fetch', fn: handleFetch },
88 { pattern: '?form-post', fn: handleFormPost }, 130 { pattern: '?form-post', fn: handleFormPost },
89 { pattern: '?multiple-respond-with', fn: handleMultipleRespondWith }, 131 { pattern: '?multiple-respond-with', fn: handleMultipleRespondWith },
90 { pattern: '?used-check', fn: handleUsedCheck }, 132 { pattern: '?used-check', fn: handleUsedCheck },
91 { pattern: '?headers', fn: handleHeaders } 133 { pattern: '?fragment-check', fn: handleFragmentCheck },
134 { pattern: '?cache', fn: handleCache },
135 { pattern: '?eventsource', fn: handleEventSource },
136 { pattern: '?integrity', fn: handleIntegrity },
92 ]; 137 ];
93 138
94 var handler = null; 139 var handler = null;
95 for (var i = 0; i < handlers.length; ++i) { 140 for (var i = 0; i < handlers.length; ++i) {
96 if (url.indexOf(handlers[i].pattern) != -1) { 141 if (url.indexOf(handlers[i].pattern) != -1) {
97 handler = handlers[i]; 142 handler = handlers[i];
98 break; 143 break;
99 } 144 }
100 } 145 }
101 146
102 if (handler) { 147 if (handler) {
103 handler.fn(event); 148 handler.fn(event);
104 } else { 149 } else {
105 event.respondWith(new Response(new Blob( 150 event.respondWith(new Response(new Blob(
106 ['Service Worker got an unexpected request: ' + url]))); 151 ['Service Worker got an unexpected request: ' + url])));
107 } 152 }
108 }); 153 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698