| 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
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..bd7db5ec53635d274f79faabed4d262659caf1e4
|
| --- /dev/null
|
| +++ b/LayoutTests/http/tests/serviceworker/resources/fetch-event-test-worker.js
|
| @@ -0,0 +1,36 @@
|
| +function handleHelloWorld(event) {
|
| + event.respondWith(new Response(new Blob(["hello, world"])));
|
| +}
|
| +
|
| +function handleNullBody(event) {
|
| + event.respondWith(new Response(null));
|
| +}
|
| +
|
| +function handleReject(event) {
|
| + event.respondWith(new Promise(function(resolve, reject) {
|
| + reject('rejected!');
|
| + }));
|
| +}
|
| +
|
| +self.addEventListener('fetch', function(event) {
|
| + var url = event.request.url;
|
| + var handlers = [
|
| + { pattern: 'helloworld', fn: handleHelloWorld },
|
| + { pattern: '?ignore', fn: function() {} },
|
| + { pattern: '?null', fn: handleNullBody },
|
| + { pattern: '?reject', fn: handleReject }
|
| + ];
|
| +
|
| + var handler = null;
|
| + for (var i = 0; i < handlers.length; ++i) {
|
| + 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])));
|
| +});
|
|
|