Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / extensions / common / api / web_view_internal.json
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 [
6   {
7     "namespace": "webViewInternal",
8     "description": "none",
9     "compiler_options": {
10       "implemented_in": "extensions/browser/api/web_view/web_view_internal_api.h"
11     },
12     "types": [
13       {
14         "id": "DataTypeSet",
15         "type": "object",
16         "description": "A set of data types. Missing data types are interpreted as <code>false</code>.",
17         "properties": {
18           "appcache": {
19             "type": "boolean",
20             "optional": true,
21             "description": "Websites' appcaches."
22           },
23           "cookies": {
24             "type": "boolean",
25             "optional": true,
26             "description": "The browser's cookies."
27           },
28           "fileSystems": {
29             "type": "boolean",
30             "optional": true,
31             "description": "Websites' file systems."
32           },
33           "indexedDB": {
34             "type": "boolean",
35             "optional": true,
36             "description": "Websites' IndexedDB data."
37           },
38           "localStorage": {
39             "type": "boolean",
40             "optional": true,
41             "description": "Websites' local storage data."
42           },
43           "webSQL": {
44             "type": "boolean",
45             "optional": true,
46             "description": "Websites' WebSQL data."
47           }
48         }
49       },
50       {
51         "id": "RemovalOptions",
52         "type": "object",
53         "description": "Options that determine exactly what data will be removed.",
54         "properties": {
55           "since": {
56             "type": "number",
57             "optional": true,
58             "description": "Remove data accumulated on or after this date, represented in milliseconds since the epoch (accessible via the <code>getTime</code> method of the JavaScript <code>Date</code> object). If absent, defaults to 0 (which would remove all browsing data)."
59           }
60         }
61       }
62     ],
63     "functions": [
64       {
65         "name": "executeScript",
66         "type": "function",
67         "description": "Injects JavaScript code into a <webview> page.",
68         "parameters": [
69           {
70             "type": "integer",
71             "name": "instanceId",
72             "description": "The instance ID of the guest <webview> process."
73           },
74           {
75             "type": "string",
76             "name": "src",
77             "description": "The src of the guest <webview> tag."
78           },
79           {
80             "$ref": "extensionTypes.InjectDetails",
81             "name": "details",
82             "description": "Details of the script to run."
83           },
84           {
85             "type": "function",
86             "name": "callback",
87             "optional": true,
88             "description": "Called after all the JavaScript has been executed.",
89             "parameters": [
90               {
91                 "name": "result",
92                 "optional": true,
93                 "type": "array",
94                 "items": {"type": "any", "minimum": 0},
95                 "description": "The result of the script in every injected frame."
96               }
97             ]
98           }
99         ]
100       },
101       {
102         "name": "insertCSS",
103         "type": "function",
104         "description": "Injects CSS into a <webview> page. For details, see the <a href='/extensions/content_scripts#pi'>programmatic injection</a> section of the content scripts doc.",
105         "parameters": [
106           {
107             "type": "integer",
108             "name": "instanceId",
109             "description": "The instance ID of the guest <webview> process."
110           },
111           {
112             "type": "string",
113             "name": "src",
114             "description": "The src of the guest <webview> tag."
115           },
116           {
117             "$ref": "extensionTypes.InjectDetails",
118             "name": "details",
119             "description": "Details of the CSS text to insert."
120           },
121           {
122             "type": "function",
123             "name": "callback",
124             "optional": true,
125             "description": "Called when all the CSS has been inserted.",
126             "parameters": []
127           }
128         ]
129       },
130       {
131         "name": "captureVisibleRegion",
132         "type": "function",
133         "description": "Captures the visible area of the currently loaded page inside <webview>.",
134         "parameters": [
135           {
136             "type": "integer",
137             "name": "instanceId",
138             "description": "The instance ID of the guest <webview> process."
139           },
140           {
141             "$ref": "extensionTypes.ImageDetails",
142             "name": "options",
143             "optional": true
144           },
145           {
146             "type": "function", "name": "callback", "parameters": [
147               {"type": "string", "name": "dataUrl", "description": "A data URL which encodes an image of the visible area of the captured tab. May be assigned to the 'src' property of an HTML Image element for display."}
148             ]
149           }
150         ]
151       },
152       {
153         "name": "setZoom",
154         "type": "function",
155         "parameters": [
156           {
157             "type": "integer",
158             "name": "instanceId",
159             "description": "The instance ID of the guest <webview> process."
160           },
161           {
162             "type": "number",
163             "name": "zoomFactor",
164             "description" : "The new zoom factor."
165           },
166           {
167             "type": "function",
168             "name": "callback",
169             "description": "Called after the zoom message has been sent to the guest process.",
170             "optional": true,
171             "parameters": []
172           }
173         ]
174       },
175       {
176         "name": "getZoom",
177         "type": "function",
178         "parameters": [
179           {
180             "type": "integer",
181             "name": "instanceId",
182             "description": "The instance ID of the guest <webview> process."
183           },
184           {
185             "type": "function",
186             "name": "callback",
187             "description": "Called after the current zoom factor is retreived.",
188             "parameters": [
189               {
190                 "type": "number",
191                 "name": "zoomFactor",
192                 "description": "The current zoom factor."
193               }
194             ]
195           }
196         ]
197       },
198       {
199         "name": "find",
200         "type": "function",
201         "description": "Initiates a find-in-page request.",
202         "parameters": [
203           {
204             "type": "integer",
205             "name": "instanceId",
206             "description": "The instance ID of the guest <webview> process."
207           },
208           {
209             "type": "string",
210             "name": "searchText",
211             "description": "The string to find in the page."
212           },
213           {
214             "type": "object",
215             "name": "options",
216             "optional": true,
217             "properties": {
218               "backward": {
219                 "type": "boolean",
220                 "description": "Flag to find matches in reverse order.",
221                 "optional": true
222               },
223               "matchCase": {
224                 "type": "boolean",
225                 "description": "Flag to match |searchText| with case-sensitivity.",
226                 "optional": true
227               }
228             }
229           },
230           {
231             "type": "function",
232             "name": "callback",
233             "description": "Called after all find results have been returned for this find request.",
234             "optional": true,
235             "parameters": [
236               {
237                 "type": "object",
238                 "name": "results",
239                 "optional": true,
240                 "properties": {
241                   "numberOfMatches": {
242                     "type": "integer",
243                     "description": "The number of times |searchText| was matched on the page."
244                   },
245                   "activeMatchOrdinal": {
246                     "type": "integer",
247                     "description": "The ordinal number of the current match."
248                   },
249                   "selectionRect": {
250                     "type": "object",
251                     "description": "Describes a rectangle around the active match.",
252                     "properties": {
253                       "left": {
254                         "type": "integer"
255                       },
256                       "top": {
257                         "type": "integer"
258                       },
259                       "width": {
260                         "type": "integer"
261                       },
262                       "height": {
263                         "type": "integer"
264                       }
265                     }
266                   },
267                   "canceled": {
268                     "type": "boolean",
269                     "description": "Indicates whether this find request was canceled."
270                   }
271                 }
272               }
273             ]
274           }
275         ]
276       },
277       {
278         "name": "stopFinding",
279         "type": "function",
280         "description": "Ends the current find session (clearing all highlighting) and cancels all find requests in progress.",
281         "parameters": [
282           {
283             "type": "integer",
284             "name": "instanceId",
285             "description": "The instance ID of the guest <webview> process."
286           },
287           {
288             "type": "string",
289             "name": "action",
290             "description": "Determines what to do with the active match after the find session has ended. 'clear' will clear the highlighting over the active match; 'keep' will keep the active match highlighted; 'activate' will keep the active match highlighted and simulate a user click on that match.",
291             "optional": true,
292             "enum": ["clear", "keep", "activate"]
293           }
294         ]
295       },
296       {
297         "name": "go",
298         "type": "function",
299         "parameters": [
300           {
301             "type": "integer",
302             "name": "instanceId"
303           },
304           {
305             "type": "integer",
306             "name": "relativeIndex"
307           }
308         ]
309       },
310       {
311         "name": "overrideUserAgent",
312         "type": "function",
313         "parameters": [
314           {
315             "type": "integer",
316             "name": "instanceId"
317           },
318           {
319             "type": "string",
320             "name": "userAgentOverride"
321           }
322         ]
323       },
324       {
325         "name": "reload",
326         "type": "function",
327         "parameters": [
328           {
329             "type": "integer",
330             "name": "instanceId"
331           }
332         ]
333       },
334       {
335         "name": "setAllowTransparency",
336         "type": "function",
337         "parameters": [
338           {
339             "type": "integer",
340             "name": "instanceId"
341           },
342           {
343             "type": "boolean",
344             "name": "allow"
345           }
346         ]
347       },
348       {
349         "name": "setName",
350         "type": "function",
351         "parameters": [
352           {
353             "type": "integer",
354             "name": "instanceId"
355           },
356           {
357             "type": "string",
358             "name": "frameName"
359           }
360         ]
361       },
362       {
363         "name": "setPermission",
364         "type": "function",
365         "parameters": [
366           {
367             "type": "integer",
368             "name": "instanceId"
369           },
370           {
371             "type": "integer",
372             "name": "requestId"
373           },
374           {
375             "type": "string",
376             "name": "action",
377             "enum": ["allow", "deny", "default"]
378           },
379           {
380             "type": "string",
381             "name": "userInput",
382             "optional": true
383           },
384           {
385             "type": "function",
386             "name": "callback",
387             "optional": true,
388             "parameters": [
389               {
390                 "name": "allowed",
391                 "type": "boolean"
392               }
393             ]
394           }
395         ]
396       },
397       {
398         "name": "navigate",
399         "type": "function",
400         "parameters": [
401           {
402             "type": "integer",
403             "name": "instanceId"
404           },
405           {
406             "type": "string",
407             "name": "src"
408           }
409         ]
410       },
411       {
412         "name": "stop",
413         "type": "function",
414         "parameters": [
415           {
416             "type": "integer",
417             "name": "instanceId"
418           }
419         ]
420       },
421       {
422         "name": "terminate",
423         "type": "function",
424         "parameters": [
425           {
426             "type": "integer",
427             "name": "instanceId"
428           }
429         ]
430       },
431       {
432         "name": "clearData",
433         "type": "function",
434         "description": "Clears various types of browsing data stored in a storage partition of a <webview>.",
435         "parameters": [
436           {
437             "type": "integer",
438             "name": "instanceId",
439             "description": "The instance ID of the guest <webview> process."
440           },
441           {
442             "$ref": "RemovalOptions",
443             "name": "options"
444           },
445           {
446             "name": "dataToRemove",
447             "$ref": "DataTypeSet",
448             "description": "The set of data types to remove."
449           },
450           {
451             "name": "callback",
452             "type": "function",
453             "description": "Called when deletion has completed.",
454             "optional": true,
455             "parameters": []
456           }
457         ]
458       }
459     ]
460   }
461 ]