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

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

Issue 442183003: FetchEvent should not forcibly reject an unresolved Promise when destructed (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 4 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 | Annotate | Revision Log
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(['Referrer: ' + event.request.referr er]))); 10 event.respondWith(new Response(new Blob(['Referrer: ' + event.request.referr er])));
11 } 11 }
12 12
13 function handleNullBody(event) { 13 function handleNullBody(event) {
14 event.respondWith(new Response(null)); 14 event.respondWith(new Response(null));
15 } 15 }
16 16
17 function handleReject(event) { 17 function handleReject(event) {
18 event.respondWith(new Promise(function(resolve, reject) { 18 event.respondWith(new Promise(function(resolve, reject) {
19 reject('rejected!'); 19 reject('rejected!');
20 })); 20 }));
21 } 21 }
22 22
23 function handleUnresolved(event) {
24 event.respondWith(new Promise(function(resolve, reject) { }));
25 }
26
27 function handleFetch(event) { 23 function handleFetch(event) {
28 event.respondWith(fetch('other.html')); 24 event.respondWith(fetch('other.html'));
29 } 25 }
30 26
31 self.addEventListener('fetch', function(event) { 27 self.addEventListener('fetch', function(event) {
32 var url = event.request.url; 28 var url = event.request.url;
33 var handlers = [ 29 var handlers = [
34 { pattern: '?string', fn: handleString }, 30 { pattern: '?string', fn: handleString },
35 { pattern: '?blob', fn: handleBlob }, 31 { pattern: '?blob', fn: handleBlob },
36 { pattern: '?referrer', fn: handleReferrer }, 32 { pattern: '?referrer', fn: handleReferrer },
37 { pattern: '?ignore', fn: function() {} }, 33 { pattern: '?ignore', fn: function() {} },
38 { pattern: '?null', fn: handleNullBody }, 34 { pattern: '?null', fn: handleNullBody },
39 { pattern: '?reject', fn: handleReject }, 35 { pattern: '?reject', fn: handleReject },
40 { pattern: '?unresolved', fn: handleUnresolved },
41 { pattern: '?fetch', fn: handleFetch } 36 { pattern: '?fetch', fn: handleFetch }
42 ]; 37 ];
43 38
44 var handler = null; 39 var handler = null;
45 for (var i = 0; i < handlers.length; ++i) { 40 for (var i = 0; i < handlers.length; ++i) {
46 if (url.indexOf(handlers[i].pattern) != -1) { 41 if (url.indexOf(handlers[i].pattern) != -1) {
47 handler = handlers[i]; 42 handler = handlers[i];
48 break; 43 break;
49 } 44 }
50 } 45 }
51 46
52 if (handler) 47 if (handler)
53 handler.fn(event); 48 handler.fn(event);
54 else 49 else
55 event.respondWith(new Response(new Blob(['Service Worker got an unexpect ed request: ' + url]))); 50 event.respondWith(new Response(new Blob(['Service Worker got an unexpect ed request: ' + url])));
56 }); 51 });
OLDNEW
« no previous file with comments | « LayoutTests/http/tests/serviceworker/fetch-event.html ('k') | Source/modules/serviceworkers/RespondWithObserver.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698