]>
Commit | Line | Data |
---|---|---|
ed1e77d3 A |
1 | { |
2 | "domain": "IndexedDB", | |
3 | "featureGuard": "ENABLE(INDEXED_DATABASE)", | |
4 | "availability": "web", | |
5 | "types": [ | |
6 | { | |
7 | "id": "DatabaseWithObjectStores", | |
8 | "type": "object", | |
9 | "description": "Database with an array of object stores.", | |
10 | "properties": [ | |
11 | { "name": "name", "type": "string", "description": "Database name." }, | |
12 | { "name": "version", "type": "number", "description": "Database version." }, | |
13 | { "name": "objectStores", "type": "array", "items": { "$ref": "ObjectStore" }, "description": "Object stores in this database." } | |
14 | ] | |
15 | }, | |
16 | { | |
17 | "id": "ObjectStore", | |
18 | "type": "object", | |
19 | "description": "Object store.", | |
20 | "properties": [ | |
21 | { "name": "name", "type": "string", "description": "Object store name." }, | |
22 | { "name": "keyPath", "$ref": "KeyPath", "description": "Object store key path." }, | |
23 | { "name": "autoIncrement", "type": "boolean", "description": "If true, object store has auto increment flag set." }, | |
24 | { "name": "indexes", "type": "array", "items": { "$ref": "ObjectStoreIndex" }, "description": "Indexes in this object store." } | |
25 | ] | |
26 | }, | |
27 | { | |
28 | "id": "ObjectStoreIndex", | |
29 | "type": "object", | |
30 | "description": "Object store index.", | |
31 | "properties": [ | |
32 | { "name": "name", "type": "string", "description": "Index name." }, | |
33 | { "name": "keyPath", "$ref": "KeyPath", "description": "Index key path." }, | |
34 | { "name": "unique", "type": "boolean", "description": "If true, index is unique." }, | |
35 | { "name": "multiEntry", "type": "boolean", "description": "If true, index allows multiple entries for a key." } | |
36 | ] | |
37 | }, | |
38 | { | |
39 | "id": "Key", | |
40 | "type": "object", | |
41 | "description": "Key.", | |
42 | "properties": [ | |
43 | { "name": "type", "type": "string", "enum": ["number", "string", "date", "array"], "description": "Key type." }, | |
44 | { "name": "number", "type": "number", "optional": true, "description": "Number value." }, | |
45 | { "name": "string", "type": "string", "optional": true, "description": "String value." }, | |
46 | { "name": "date", "type": "number", "optional": true, "description": "Date value." }, | |
47 | { "name": "array", "type": "array", "optional": true, "items": { "$ref": "Key" }, "description": "Array value." } | |
48 | ] | |
49 | }, | |
50 | { | |
51 | "id": "KeyRange", | |
52 | "type": "object", | |
53 | "description": "Key range.", | |
54 | "properties": [ | |
55 | { "name": "lower", "$ref": "Key", "optional": true, "description": "Lower bound." }, | |
56 | { "name": "upper", "$ref": "Key", "optional": true, "description": "Upper bound." }, | |
57 | { "name": "lowerOpen", "type": "boolean", "description": "If true lower bound is open." }, | |
58 | { "name": "upperOpen", "type": "boolean", "description": "If true upper bound is open." } | |
59 | ] | |
60 | }, | |
61 | { | |
62 | "id": "DataEntry", | |
63 | "type": "object", | |
64 | "description": "Data entry.", | |
65 | "properties": [ | |
66 | { "name": "key", "$ref": "Runtime.RemoteObject", "description": "Key." }, | |
67 | { "name": "primaryKey", "$ref": "Runtime.RemoteObject", "description": "Primary key." }, | |
68 | { "name": "value", "$ref": "Runtime.RemoteObject", "description": "Value." } | |
69 | ] | |
70 | }, | |
71 | { | |
72 | "id": "KeyPath", | |
73 | "type": "object", | |
74 | "description": "Key path.", | |
75 | "properties": [ | |
76 | { "name": "type", "type": "string", "enum": ["null", "string", "array"], "description": "Key path type." }, | |
77 | { "name": "string", "type": "string", "optional": true, "description": "String value." }, | |
78 | { "name": "array", "type": "array", "optional": true, "items": { "type": "string" }, "description": "Array value." } | |
79 | ] | |
80 | } | |
81 | ], | |
82 | "commands": [ | |
83 | { | |
84 | "name": "enable", | |
85 | "description": "Enables events from backend." | |
86 | }, | |
87 | { | |
88 | "name": "disable", | |
89 | "description": "Disables events from backend." | |
90 | }, | |
91 | { | |
92 | "name": "requestDatabaseNames", | |
93 | "async": true, | |
94 | "parameters": [ | |
95 | { "name": "securityOrigin", "type": "string", "description": "Security origin." } | |
96 | ], | |
97 | "returns": [ | |
98 | { "name": "databaseNames", "type": "array", "items": { "type": "string" }, "description": "Database names for origin." } | |
99 | ], | |
100 | "description": "Requests database names for given security origin." | |
101 | }, | |
102 | { | |
103 | "name": "requestDatabase", | |
104 | "async": true, | |
105 | "parameters": [ | |
106 | { "name": "securityOrigin", "type": "string", "description": "Security origin." }, | |
107 | { "name": "databaseName", "type": "string", "description": "Database name." } | |
108 | ], | |
109 | "returns": [ | |
110 | { "name": "databaseWithObjectStores", "$ref": "DatabaseWithObjectStores", "description": "Database with an array of object stores." } | |
111 | ], | |
112 | "description": "Requests database with given name in given frame." | |
113 | }, | |
114 | { | |
115 | "name": "requestData", | |
116 | "async": true, | |
117 | "parameters": [ | |
118 | { "name": "securityOrigin", "type": "string", "description": "Security origin." }, | |
119 | { "name": "databaseName", "type": "string", "description": "Database name." }, | |
120 | { "name": "objectStoreName", "type": "string", "description": "Object store name." }, | |
121 | { "name": "indexName", "type": "string", "description": "Index name, empty string for object store data requests." }, | |
122 | { "name": "skipCount", "type": "integer", "description": "Number of records to skip." }, | |
123 | { "name": "pageSize", "type": "integer", "description": "Number of records to fetch." }, | |
124 | { "name": "keyRange", "$ref": "KeyRange", "optional": true, "description": "Key range." } | |
125 | ], | |
126 | "returns": [ | |
127 | { "name": "objectStoreDataEntries", "type": "array", "items": { "$ref": "DataEntry" }, "description": "Array of object store data entries." }, | |
128 | { "name": "hasMore", "type": "boolean", "description": "If true, there are more entries to fetch in the given range." } | |
129 | ], | |
130 | "description": "Requests data from object store or index." | |
131 | }, | |
132 | { | |
133 | "name": "clearObjectStore", | |
134 | "async": true, | |
135 | "parameters": [ | |
136 | { "name": "securityOrigin", "type": "string", "description": "Security origin." }, | |
137 | { "name": "databaseName", "type": "string", "description": "Database name." }, | |
138 | { "name": "objectStoreName", "type": "string", "description": "Object store name." } | |
139 | ], | |
140 | "returns": [ | |
141 | ], | |
142 | "description": "Clears all entries from an object store." | |
143 | } | |
144 | ] | |
145 | } |