Index: LayoutTests/http/tests/serviceworker/resources/fetch-event-test-worker.js |
diff --git a/LayoutTests/http/tests/serviceworker/resources/fetch-event-test-worker.js b/LayoutTests/http/tests/serviceworker/resources/fetch-event-test-worker.js |
index 8e906cbb6a9e9f1d04d588a224e1d9ab46e59c7e..a925ffe2b3071db24992f71b19e65b7f4289ab2e 100644 |
--- a/LayoutTests/http/tests/serviceworker/resources/fetch-event-test-worker.js |
+++ b/LayoutTests/http/tests/serviceworker/resources/fetch-event-test-worker.js |
@@ -1,51 +1,64 @@ |
function handleString(event) { |
- event.respondWith(new Response('Test string')); |
+ event.respondWith(new Response('Test string')); |
} |
function handleBlob(event) { |
- event.respondWith(new Response(new Blob(['Test blob']))); |
+ event.respondWith(new Response(new Blob(['Test blob']))); |
} |
function handleReferrer(event) { |
- event.respondWith(new Response(new Blob(['Referrer: ' + event.request.referrer]))); |
+ event.respondWith(new Response(new Blob( |
+ ['Referrer: ' + event.request.referrer]))); |
} |
function handleNullBody(event) { |
- event.respondWith(new Response(null)); |
+ event.respondWith(new Response(null)); |
} |
function handleReject(event) { |
- event.respondWith(new Promise(function(resolve, reject) { |
- reject('rejected!'); |
+ event.respondWith(new Promise(function(resolve, reject) { |
+ reject('rejected!'); |
})); |
} |
function handleFetch(event) { |
- event.respondWith(fetch('other.html')); |
+ event.respondWith(fetch('other.html')); |
+} |
+ |
+function handleFormPost(event) { |
+ event.respondWith(new Promise(function(resolve) { |
+ event.request.body.asText() |
+ .then(function(result) { |
+ resolve(new Response(event.request.method + ':' + result)); |
+ }) |
+ })); |
} |
self.addEventListener('fetch', function(event) { |
var url = event.request.url; |
var handlers = [ |
- { pattern: '?string', fn: handleString }, |
- { pattern: '?blob', fn: handleBlob }, |
- { pattern: '?referrer', fn: handleReferrer }, |
- { pattern: '?ignore', fn: function() {} }, |
- { pattern: '?null', fn: handleNullBody }, |
- { pattern: '?reject', fn: handleReject }, |
- { pattern: '?fetch', fn: handleFetch } |
+ { pattern: '?string', fn: handleString }, |
+ { pattern: '?blob', fn: handleBlob }, |
+ { pattern: '?referrer', fn: handleReferrer }, |
+ { pattern: '?ignore', fn: function() {} }, |
+ { pattern: '?null', fn: handleNullBody }, |
+ { pattern: '?reject', fn: handleReject }, |
+ { pattern: '?fetch', fn: handleFetch }, |
+ { pattern: '?form-post', fn: handleFormPost } |
]; |
var handler = null; |
for (var i = 0; i < handlers.length; ++i) { |
- if (url.indexOf(handlers[i].pattern) != -1) { |
- handler = handlers[i]; |
- break; |
- } |
+ if (url.indexOf(handlers[i].pattern) != -1) { |
+ handler = handlers[i]; |
+ break; |
+ } |
} |
- if (handler) |
- handler.fn(event); |
- else |
- event.respondWith(new Response(new Blob(['Service Worker got an unexpected request: ' + url]))); |
-}); |
+ if (handler) { |
+ handler.fn(event); |
+ } else { |
+ event.respondWith(new Response(new Blob( |
+ ['Service Worker got an unexpected request: ' + url]))); |
+ } |
+ }); |