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

Side by Side Diff: third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/request-end-to-end-worker.js

Issue 2889153004: Upstream service worker "request" tests to WPT (Closed)
Patch Set: Add "use strict" directive Created 3 years, 7 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 var port = undefined; 1 'use strict';
2 // Create a then-able object that is never resolved.
3 function createPending() {
4 return { then: createPending };
5 }
6
7 onmessage = function(e) {
8 var message = e.data;
9 if (typeof message === 'object' && 'port' in message) {
10 port = message.port;
11
12 port.postMessage('received port');
13 // The ServiceWorker which handles the "message" event must persist long
14 // enough to handle the subsequent "fetch" event. To promote test
15 // simplicity, the worker prevents its own termination indefinitely via a
16 // then-able that is never resolved.
17 e.waitUntil(createPending());
18 }
19 };
20 2
21 onfetch = function(e) { 3 onfetch = function(e) {
22 var headers = {}; 4 var headers = {};
23 var errorNameWhileAppendingHeader;
24 for (var header of e.request.headers) { 5 for (var header of e.request.headers) {
25 var key = header[0], value = header[1]; 6 var key = header[0], value = header[1];
26 headers[key] = value; 7 headers[key] = value;
27 } 8 }
28 var errorNameWhileAddingHeader = ''; 9 var append_header_error = '';
29 try { 10 try {
30 e.request.headers.append('Test-Header', 'TestValue'); 11 e.request.headers.append('Test-Header', 'TestValue');
31 } catch (e) { 12 } catch (error) {
32 errorNameWhileAppendingHeader = e.name; 13 append_header_error = error.name;
33 } 14 }
34 port.postMessage({ 15
35 url: e.request.url, 16 var request_construct_error = '';
36 mode: e.request.mode, 17 try {
37 method: e.request.method, 18 new Request(e.request, {method: 'GET'});
38 referrer: e.request.referrer, 19 } catch (error) {
39 headers: headers, 20 request_construct_error = error.name;
40 headerSize: e.request.headers.size, 21 }
41 errorNameWhileAppendingHeader: errorNameWhileAppendingHeader 22
42 }); 23 e.respondWith(new Response(JSON.stringify({
24 url: e.request.url,
25 method: e.request.method,
26 referrer: e.request.referrer,
27 headers: headers,
28 mode: e.request.mode,
29 credentials: e.request.credentials,
30 redirect: e.request.redirect,
31 append_header_error: append_header_error,
32 request_construct_error: request_construct_error
33 })));
43 }; 34 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698