// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// https://w3c.github.io/ServiceWorker/#fetch-event-interface
[
    ActiveScriptWrappable,
    DependentLifetime,
    Constructor(DOMString type, FetchEventInit eventInitDict),
    ConstructorCallWith=ScriptState,
    Exposed=ServiceWorker
] interface FetchEvent : ExtendableEvent {
    [SameObject] readonly attribute Request request;
    readonly attribute DOMString? clientId;
    readonly attribute boolean isReload;

    [CallWith=ScriptState, RaisesException] void respondWith(Promise<Response> r);
    [RuntimeEnabled=ServiceWorkerNavigationPreload, CallWith=ScriptState] readonly attribute Promise<any> preloadResponse;
};
