// GENERATED CONTENT - DO NOT EDIT // Content was automatically extracted by Reffy into reffy-reports // (https://github.com/tidoust/reffy-reports) // Source: Background Fetch (https://wicg.github.io/background-fetch/) partial interface ServiceWorkerGlobalScope { attribute EventHandler onbackgroundfetchsuccess; attribute EventHandler onbackgroundfetchfail; attribute EventHandler onbackgroundfetchabort; attribute EventHandler onbackgroundfetchclick; }; partial interface ServiceWorkerRegistration { readonly attribute BackgroundFetchManager backgroundFetch; }; [Exposed=(Window,Worker)] interface BackgroundFetchManager { Promise fetch(DOMString id, (RequestInfo or sequence) requests, optional BackgroundFetchOptions options); Promise get(DOMString id); Promise> getIds(); // TODO: in future this should become an async iterator for BackgroundFetchRegistration objects }; dictionary BackgroundFetchUIOptions { sequence icons = []; DOMString title = ""; }; dictionary BackgroundFetchOptions : BackgroundFetchUIOptions { unsigned long long downloadTotal = 0; }; // This is taken from https://w3c.github.io/manifest/#icons-member. // This definition should probably be moved somewhere more general. dictionary IconDefinition { DOMString src; DOMString sizes = ""; DOMString type = ""; }; [Exposed=(Window,Worker)] interface BackgroundFetchRegistration : EventTarget { readonly attribute DOMString id; readonly attribute unsigned long long uploadTotal; readonly attribute unsigned long long uploaded; readonly attribute unsigned long long downloadTotal; readonly attribute unsigned long long downloaded; readonly attribute BackgroundFetchState state; readonly attribute BackgroundFetchFailureReason failureReason; attribute EventHandler onprogress; Promise abort(); Promise match(RequestInfo request, optional CacheQueryOptions options); Promise> matchAll(optional RequestInfo request, optional CacheQueryOptions options); }; enum BackgroundFetchState { "pending", "success", "failure" }; enum BackgroundFetchFailureReason { "", // The operation was aborted by the user, or abort() was called. "aborted", // A response had a not-ok-status. "bad-status", // A fetch failed for other reasons, e.g. CORS, MIX, an invalid partial response, // or a general network failure for a fetch that cannot be retried. "fetch-error", // Storage quota was reached during the operation. "quota-exceeded", // The provided downloadTotal was exceeded. "total-download-exceeded" }; [Exposed=(Window,Worker)] interface BackgroundFetchRecord { readonly attribute Request request; readonly attribute Promise responseReady; // TODO: In future this will include a fetch observer }; [Constructor(DOMString type, BackgroundFetchEventInit init), Exposed=ServiceWorker] interface BackgroundFetchEvent : ExtendableEvent { readonly attribute BackgroundFetchRegistration registration; }; dictionary BackgroundFetchEventInit : ExtendableEventInit { required BackgroundFetchRegistration registration; }; [Constructor(DOMString type, BackgroundFetchEventInit init), Exposed=ServiceWorker] interface BackgroundFetchUpdateUIEvent : BackgroundFetchEvent { Promise updateUI(optional BackgroundFetchUIOptions options); };