Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / modules / serviceworkers / Cache.idl
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.
4
5 // See https://slightlyoff.github.io/ServiceWorker/spec/service_worker/index.html#cache
6
7 // FIXME: Blink doesn't support dictionary definitions. For now, we can use the
8 // Dictionary interface. See http://crbug.com/321462
9
10 // dictionary QueryParams {
11 //   boolean ignoreSearch;
12 //   boolean ignoreMethod;
13 //   boolean ignoreVary;
14 //   boolean prefixMatch;
15 //   DOMString cacheName;
16 // };
17
18 [
19     WillBeGarbageCollected,
20     NoInterfaceObject,
21     Exposed=ServiceWorker,
22     RuntimeEnabled=ServiceWorker,
23 ] interface Cache {
24   // FIXME: Blink doesn't support union types, we use overrides instead. See http://crbug.com/240176
25
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);
29
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);
33
34   // [CallWith=ScriptState] Promise add((Request or ScalarValueString) request);
35   [CallWith=ScriptState] Promise add(Request request);
36   [CallWith=ScriptState] Promise add(ScalarValueString request);
37
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);
42
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);
46
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);
50
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);
54 };