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

Side by Side Diff: third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/fetch-event-test-worker.js

Issue 1588003005: Revert of Service Worker: Add FetchEvent.clientId (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 11 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 handleClientId(event) {
15 var body;
16 if (event.clientId !== null) {
17 body = 'Client ID Found: ' + event.clientId;
18 } else {
19 body = 'Client ID Not Found';
20 }
21 event.respondWith(new Response(body));
22 }
23
24 function handleNullBody(event) { 14 function handleNullBody(event) {
25 event.respondWith(new Response()); 15 event.respondWith(new Response());
26 } 16 }
27 17
28 function handleFetch(event) { 18 function handleFetch(event) {
29 event.respondWith(fetch('other.html')); 19 event.respondWith(fetch('other.html'));
30 } 20 }
31 21
32 function handleFormPost(event) { 22 function handleFormPost(event) {
33 event.respondWith(new Promise(function(resolve) { 23 event.respondWith(new Promise(function(resolve) {
34 event.request.text() 24 event.request.text()
35 .then(function(result) { 25 .then(function(result) {
36 resolve(new Response(event.request.method + ':' + 26 resolve(new Response(event.request.method + ':' + result));
37 event.request.headers.get('Content-Type') + ':' +
38 result));
39 }); 27 });
40 })); 28 }));
41 } 29 }
42 30
31 var logForMultipleRespondWith = '';
32
43 function handleMultipleRespondWith(event) { 33 function handleMultipleRespondWith(event) {
44 var logForMultipleRespondWith = '';
45 for (var i = 0; i < 3; ++i) { 34 for (var i = 0; i < 3; ++i) {
46 logForMultipleRespondWith += '(' + i + ')'; 35 logForMultipleRespondWith += '(' + i + ')';
47 try { 36 try {
48 event.respondWith(new Promise(function(resolve) { 37 event.respondWith(new Response(logForMultipleRespondWith));
49 setTimeout(function() {
50 resolve(new Response(logForMultipleRespondWith));
51 }, 0);
52 }));
53 } catch (e) { 38 } catch (e) {
54 logForMultipleRespondWith += '[' + e.name + ']'; 39 logForMultipleRespondWith += '[' + e.name + ']';
55 } 40 }
56 } 41 }
57 } 42 }
58 43
59 var lastResponseForUsedCheck = undefined; 44 var lastResponseForUsedCheck = undefined;
60 45
61 function handleUsedCheck(event) { 46 function handleUsedCheck(event) {
62 if (!lastResponseForUsedCheck) { 47 if (!lastResponseForUsedCheck) {
63 event.respondWith(fetch('other.html').then(function(response) { 48 event.respondWith(fetch('other.html').then(function(response) {
64 lastResponseForUsedCheck = response; 49 lastResponseForUsedCheck = response;
65 return response; 50 return response;
66 })); 51 }));
67 } else { 52 } else {
68 event.respondWith(new Response( 53 event.respondWith(new Response(
69 'bodyUsed: ' + lastResponseForUsedCheck.bodyUsed)); 54 'bodyUsed: ' + lastResponseForUsedCheck.bodyUsed));
70 } 55 }
71 } 56 }
72 57
73 self.addEventListener('fetch', function(event) { 58 self.addEventListener('fetch', function(event) {
74 var url = event.request.url; 59 var url = event.request.url;
75 var handlers = [ 60 var handlers = [
76 { pattern: '?string', fn: handleString }, 61 { pattern: '?string', fn: handleString },
77 { pattern: '?blob', fn: handleBlob }, 62 { pattern: '?blob', fn: handleBlob },
78 { pattern: '?referrer', fn: handleReferrer }, 63 { pattern: '?referrer', fn: handleReferrer },
79 { pattern: '?clientId', fn: handleClientId },
80 { pattern: '?ignore', fn: function() {} }, 64 { pattern: '?ignore', fn: function() {} },
81 { pattern: '?null', fn: handleNullBody }, 65 { pattern: '?null', fn: handleNullBody },
82 { pattern: '?fetch', fn: handleFetch }, 66 { pattern: '?fetch', fn: handleFetch },
83 { pattern: '?form-post', fn: handleFormPost }, 67 { pattern: '?form-post', fn: handleFormPost },
84 { pattern: '?multiple-respond-with', fn: handleMultipleRespondWith }, 68 { pattern: '?multiple-respond-with', fn: handleMultipleRespondWith },
85 { pattern: '?used-check', fn: handleUsedCheck } 69 { pattern: '?used-check', fn: handleUsedCheck }
86 ]; 70 ];
87 71
88 var handler = null; 72 var handler = null;
89 for (var i = 0; i < handlers.length; ++i) { 73 for (var i = 0; i < handlers.length; ++i) {
90 if (url.indexOf(handlers[i].pattern) != -1) { 74 if (url.indexOf(handlers[i].pattern) != -1) {
91 handler = handlers[i]; 75 handler = handlers[i];
92 break; 76 break;
93 } 77 }
94 } 78 }
95 79
96 if (handler) { 80 if (handler) {
97 handler.fn(event); 81 handler.fn(event);
98 } else { 82 } else {
99 event.respondWith(new Response(new Blob( 83 event.respondWith(new Response(new Blob(
100 ['Service Worker got an unexpected request: ' + url]))); 84 ['Service Worker got an unexpected request: ' + url])));
101 } 85 }
102 }); 86 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698