Roll src/third_party/WebKit f007c95:0171005 (svn 185074:185088)
[chromium-blink-merge.git] / tools / json_schema_compiler / test / browser_action.json
blob934d56dc27aa694f6466cff8d8eb770aa0cc96bc
1 // Copyright (c) 2012 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.
6   {
7     "namespace": "browserAction",
8     "description": "The browserAction API.",
9     "dependencies": [ "tabs" ],
10     "types": [
11       {
12         "id": "ColorArray",
13         "type": "array",
14         "items": {
15           "type": "integer",
16           "minimum": 0,
17           "maximum": 255
18         },
19         "minItems": 4,
20         "maxItems": 4
21       }
22     ],
23     "functions": [
24       {
25         "name": "setTitle",
26         "type": "function",
27         "description": "Sets the title of the browser action. This shows up in the tooltip.",
28         "parameters": [
29           {
30             "name": "details",
31             "type": "object",
32             "properties": {
33               "title": {
34                 "type": "string",
35                 "description": "The string the browser action should display when moused over."
36               },
37               "tabId": {
38                 "type": "integer",
39                 "optional": true,
40                 "description": "Limits the change to when a particular tab is selected. Automatically resets when the tab is closed."
41               }
42             }
43           }
44         ]
45       },
46       {
47         "name": "getTitle",
48         "type": "function",
49         "description": "Gets the title of the browser action.",
50         "parameters": [
51           {
52             "name": "details",
53             "type": "object",
54             "properties": {
55               "tabId": {
56                 "type": "integer",
57                 "optional": true,
58                 "description": "Specify the tab to get the title from. If no tab is specified, the non-tab-specific title is returned."
59               }
60             }
61           },
62           {
63             "type": "function",
64             "name": "callback",
65             "parameters": [
66               {
67                 "name": "result",
68                 "type": "string"
69               }
70             ]
71           }
72         ]
73       },
74       {
75         "name": "setIcon",
76         "type": "function",
77         "description": "Sets the icon for the browser action. The icon can be specified either as the path to an image file or as the pixel data from a canvas element. Either the <b>path</b> or the <b>imageData</b> property must be specified.",
78         "parameters": [
79           {
80             "name": "details",
81             "type": "object",
82             "properties": {
83               "imageData": {
84                 "type": "object",
85                 "isInstanceOf": "ImageData",
86                 "additionalProperties": { "type": "any" },
87                 "description": "Pixel data for an image. Must be an ImageData object (for example, from a <code>canvas</code> element).",
88                 "optional": true
89               },
90               "path": {
91                 "type": "string",
92                 "description": "Relative path to an image in the extension to show in the browser action.",
93                 "optional": true
94               },
95               "tabId": {
96                 "type": "integer",
97                 "optional": true,
98                 "description": "Limits the change to when a particular tab is selected. Automatically resets when the tab is closed."
99               }
100             }
101           }
102         ]
103       },
104       {
105         "name": "setPopup",
106         "type": "function",
107         "description": "Sets the html document to be opened as a popup when the user clicks on the browser action's icon.",
108         "parameters": [
109           {
110             "name": "details",
111             "type": "object",
112             "properties": {
113               "tabId": {
114                 "type": "integer",
115                 "optional": true,
116                 "minimum": 0,
117                 "description": "Limits the change to when a particular tab is selected. Automatically resets when the tab is closed."
118               },
119               "popup": {
120                 "type": "string",
121                 "description": "The html file to show in a popup.  If set to the empty string (''), no popup is shown."
122               }
123             }
124           }
125         ]
126       },
127       {
128         "name": "getPopup",
129         "type": "function",
130         "description": "Gets the html document set as the popup for this browser action.",
131         "parameters": [
132           {
133             "name": "details",
134             "type": "object",
135             "properties": {
136               "tabId": {
137                 "type": "integer",
138                 "optional": true,
139                 "description": "Specify the tab to get the popup from. If no tab is specified, the non-tab-specific popup is returned."
140               }
141             }
142           },
143           {
144             "type": "function",
145             "name": "callback",
146             "parameters": [
147               {
148                 "name": "result",
149                 "type": "string"
150               }
151             ]
152           }
153         ]
154       },
155       {
156         "name": "setBadgeText",
157         "type": "function",
158         "description": "Sets the badge text for the browser action. The badge is displayed on top of the icon.",
159         "parameters": [
160           {
161             "name": "details",
162             "type": "object",
163             "properties": {
164               "text": {
165                 "type": "string",
166                 "description": "Any number of characters can be passed, but only about four can fit in the space."
167               },
168               "tabId": {
169                 "type": "integer",
170                 "optional": true,
171                 "description": "Limits the change to when a particular tab is selected. Automatically resets when the tab is closed."
172               }
173             }
174           }
175         ]
176       },
177       {
178         "name": "getBadgeText",
179         "type": "function",
180         "description": "Gets the badge text of the browser action. If no tab is specified, the non-tab-specific badge text is returned.",
181         "parameters": [
182           {
183             "name": "details",
184             "type": "object",
185             "properties": {
186               "tabId": {
187                 "type": "integer",
188                 "optional": true,
189                 "description": "Specify the tab to get the badge text from. If no tab is specified, the non-tab-specific badge text is returned."
190               }
191             }
192           },
193           {
194             "type": "function",
195             "name": "callback",
196             "parameters": [
197               {
198                 "name": "result",
199                 "type": "string"
200               }
201             ]
202           }
203         ]
204       },
205       {
206         "name": "setBadgeBackgroundColor",
207         "type": "function",
208         "description": "Sets the background color for the badge.",
209         "parameters": [
210           {
211             "name": "details",
212             "type": "object",
213             "properties": {
214               "color": {
215                 "description": "An array of four integers in the range [0,255] that make up the RGBA color of the badge. For example, opaque red is <code>[255, 0, 0, 255]</code>. Can also be a string with a CSS value, with opaque red being <code>#FF0000</code> or <code>#F00</code>.",
216                 "choices": [
217                   {"type": "string"},
218                   {"$ref": "ColorArray"}
219                 ]
220               },
221               "tabId": {
222                 "type": "integer",
223                 "optional": true,
224                 "description": "Limits the change to when a particular tab is selected. Automatically resets when the tab is closed."
225               }
226             }
227           }
228         ]
229       },
230       {
231         "name": "getBadgeBackgroundColor",
232         "type": "function",
233         "description": "Gets the background color of the browser action.",
234         "parameters": [
235           {
236             "name": "details",
237             "type": "object",
238             "properties": {
239               "tabId": {
240                 "type": "integer",
241                 "optional": true,
242                 "description": "Specify the tab to get the badge background color from. If no tab is specified, the non-tab-specific badge background color is returned."
243               }
244             }
245           },
246           {
247             "type": "function",
248             "name": "callback",
249             "parameters": [
250               {
251                 "name": "result",
252                 "$ref": "ColorArray"
253               }
254             ]
255           }
256         ]
257       }
258     ],
259     "events": [
260       {
261         "name": "onClicked",
262         "type": "function",
263         "description": "Fired when a browser action icon is clicked.  This event will not fire if the browser action has a popup.",
264         "parameters": [
265           {
266             "name": "tab",
267             "$ref": "Tab"
268           }
269         ]
270       }
271     ]
272   }