blob: 6da74e950821054742d76b225f95ca879f97b3fe [file] [log] [blame]
// 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.
// See https://slightlyoff.github.io/ServiceWorker/spec/service_worker/index.html#cache
[
GarbageCollected,
Exposed=ServiceWorker,
RuntimeEnabled=ServiceWorkerOnFetch,
] interface Cache {
// FIXME: Blink doesn't support union types, we use overrides instead. See http://crbug.com/240176
// [CallWith=ScriptState] Promise match((Request or ScalarValueString) request, optional QueryParams queryParams);
[CallWith=ScriptState] Promise match(Request request, optional QueryParams queryParams);
[CallWith=ScriptState] Promise match(ScalarValueString request, optional QueryParams queryParams);
// [CallWith=ScriptState] Promise matchAll((Request or ScalarValueString) request, optional QueryParams queryParams);
[CallWith=ScriptState] Promise matchAll(Request request, optional QueryParams queryParams);
[CallWith=ScriptState] Promise matchAll(ScalarValueString request, optional QueryParams queryParams);
// [CallWith=ScriptState] Promise add((Request or ScalarValueString) request);
[CallWith=ScriptState] Promise add(Request request);
[CallWith=ScriptState] Promise add(ScalarValueString request);
// FIXME: The lack of union type support together with the sequence mean we can't use overrides here, instead
// bind a generic type.
// [CallWith=ScriptState] Promise addAll(sequence<Request or ScalarValueString> requests);
[CallWith=ScriptState] Promise addAll(sequence<any> requests);
// [CallWith=ScriptState] Promise put((Request or ScalarValueString) request, Response response);
[CallWith=ScriptState] Promise put(Request request, Response response);
[CallWith=ScriptState] Promise put(ScalarValueString request, Response response);
// [CallWith=ScriptState] Promise delete((Request or ScalarValueString) request, optional QueryParams queryParams);
[CallWith=ScriptState, ImplementedAs=deleteFunction] Promise delete(Request request, optional QueryParams queryParams);
[CallWith=ScriptState, ImplementedAs=deleteFunction] Promise delete(ScalarValueString request, optional QueryParams queryParams);
// [CallWith=ScriptState] Promise keys(optional (Request or ScalarValueString) request, optional QueryParams queryParams);
[CallWith=ScriptState] Promise keys(optional Request request, optional QueryParams queryParams);
[CallWith=ScriptState] Promise keys(ScalarValueString request, optional QueryParams queryParams);
};