| <!DOCTYPE html> | |
| <html> | |
| <title>Service Workers: FetchEvent</title> | |
| <head> | |
| <link rel="help" href="https://slightlyoff.github.io/ServiceWorker/spec/service_worker/#fetch-event-section"> | |
| <script src="/resources/testharness.js"></script> | |
| <script src="/resources/testharnessreport.js"></script> | |
| <script src=/resources/WebIDLParser.js></script> | |
| <script src=/resources/idlharness.js></script> | |
| </head> | |
| <body> | |
| <script type=text/plain id="idl_0"> | |
| [Constructor] | |
| interface FetchEvent : Event { | |
| readonly attribute Request request; | |
| readonly attribute Client client; // The window issuing the request. | |
| readonly attribute Context context; | |
| readonly attribute boolean isReload; | |
| void respondWith(Promise<AbstractResponse> r); | |
| Promise<any> forwardTo(ScalarValueString url); | |
| Promise<any> default(); | |
| }; | |
| enum Context { | |
| "connect", | |
| "font", | |
| "img", | |
| "object", | |
| "script", | |
| "style", | |
| "worker", | |
| "popup", | |
| "child", | |
| "navigate" | |
| }; | |
| </pre> | |
| <!-- | |
| Service Workers use the `[FetchEvent][1]` interface for `[fetch][2]` event. | |
| [1]: #fetch-event-interface | |
| [2]: #fetch-event | |
| --> | |
| <script type=text/plain id="untested_idls"> | |
| interface Request {}; | |
| interface Client {}; | |
| interface AbstractResponse {}; | |
| interface ScalarValueString {}; | |
| interface Event {}; | |
| </pre> | |
| <script> | |
| var idl_array = new IdlArray(); | |
| idl_array.add_untested_idls(document.getElementById("untested_idls").textContent); | |
| idl_array.add_idls(document.getElementById("idl_0").textContent); | |
| idl_array.add_objects({ | |
| FetchEvent: ["throw new Error ('No object defined for the FetchEvent interface')"], | |
| Context: ["throw new Error ('No object defined for the Context enum')"] | |
| }); | |
| idl_array.test(); | |
| </script> | |
| </body> | |
| </html> | |