1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 // See https://slightlyoff.github.io/ServiceWorker/spec/service_worker/index.html#cache
7 // FIXME: Blink doesn't support dictionary definitions. For now, we can use the
8 // Dictionary interface. See http://crbug.com/321462
10 // dictionary QueryParams {
11 // boolean ignoreSearch;
12 // boolean ignoreMethod;
13 // boolean ignoreVary;
14 // boolean prefixMatch;
15 // DOMString cacheName;
19 WillBeGarbageCollected,
21 Exposed=ServiceWorker,
22 RuntimeEnabled=ServiceWorker,
24 // FIXME: Blink doesn't support union types, we use overrides instead. See http://crbug.com/240176
26 // [CallWith=ScriptState] Promise match((Request or ScalarValueString) request, optional Dictionary queryParams);
27 [CallWith=ScriptState] Promise match(Request request, optional Dictionary queryParams);
28 [CallWith=ScriptState] Promise match(ScalarValueString request, optional Dictionary queryParams);
30 // [CallWith=ScriptState] Promise matchAll((Request or ScalarValueString) request, optional Dictionary queryParams);
31 [CallWith=ScriptState] Promise matchAll(Request request, optional Dictionary queryParams);
32 [CallWith=ScriptState] Promise matchAll(ScalarValueString request, optional Dictionary queryParams);
34 // [CallWith=ScriptState] Promise add((Request or ScalarValueString) request);
35 [CallWith=ScriptState] Promise add(Request request);
36 [CallWith=ScriptState] Promise add(ScalarValueString request);
38 // FIXME: The lack of union type support together with the sequence mean we can't use overrides here, instead
39 // bind a generic type.
40 // [CallWith=ScriptState] Promise addAll(sequence<Request or ScalarValueString> requests);
41 [CallWith=ScriptState] Promise addAll(sequence<any> requests);
43 // [CallWith=ScriptState] Promise put((Request or ScalarValueString) request, Response response);
44 [CallWith=ScriptState] Promise put(Request request, Response response);
45 [CallWith=ScriptState] Promise put(ScalarValueString request, Response response);
47 // [CallWith=ScriptState] Promise delete((Request or ScalarValueString) request, optional Dictionary queryParams);
48 [CallWith=ScriptState, ImplementedAs=deleteFunction] Promise delete(Request request, optional Dictionary queryParams);
49 [CallWith=ScriptState, ImplementedAs=deleteFunction] Promise delete(ScalarValueString request, optional Dictionary queryParams);
51 // [CallWith=ScriptState] Promise keys(optional (Request or ScalarValueString) request, optional Dictionary queryParams);
52 [CallWith=ScriptState] Promise keys(optional Request request, optional Dictionary queryParams);
53 [CallWith=ScriptState] Promise keys(ScalarValueString request, optional Dictionary queryParams);