|  | <!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> | 
|  |  |