- add sources.
[platform/framework/web/crosswalk.git] / src / chrome / common / extensions / api / devtools / panels.json
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.
4
5 [
6   {
7     "namespace": "devtools.panels",
8     "description": "Use the <code>chrome.devtools.panels</code> API to integrate your extension into Developer Tools window UI: create your own panels, access existing panels, and add sidebars.",
9     "nocompile": true,
10     "types": [
11       {
12         "id": "ElementsPanel",
13         "type": "object",
14         "description": "Represents the Elements panel.",
15         "events": [
16           {
17             "name": "onSelectionChanged",
18             "description": "Fired when an object is selected in the panel."
19           }
20         ],
21         "functions": [
22           {
23             "name": "createSidebarPane",
24             "type": "function",
25             "description": "Creates a pane within panel's sidebar.",
26             "parameters": [
27               {
28                 "name": "title",
29                 "type": "string",
30                 "description": "Text that is displayed in sidebar caption."
31               },
32               {
33                 "name": "callback",
34                 "type": "function",
35                 "description": "A callback invoked when the sidebar is created.",
36                 "optional": true,
37                 "parameters": [
38                   {
39                     "name": "result",
40                     "description": "An ExtensionSidebarPane object for created sidebar pane.",
41                     "$ref": "ExtensionSidebarPane"
42                   }
43                 ]
44               }
45             ]
46           }
47         ]
48       },
49       {
50         "id": "ExtensionPanel",
51         "type": "object",
52         "description": "Represents a panel created by extension.",
53         "functions": [
54           {
55             "name": "createStatusBarButton",
56             "description": "Appends a button to the status bar of the panel.",
57             "parameters": [
58               {
59                 "name": "iconPath",
60                 "type": "string",
61                 "description": "Path to the icon of the button. The file should contain a 64x24-pixel image composed of two 32x24 icons. The left icon is used when the button is inactive; the right icon is displayed when the button is pressed."
62               },
63               {
64                 "name": "tooltipText",
65                 "type": "string",
66                 "description": "Text shown as a tooltip when user hovers the mouse over the button."
67               },
68               {
69                 "name": "disabled",
70                 "type": "boolean",
71                 "description": "Whether the button is disabled."
72               }
73             ],
74             "returns": { "$ref": "Button" }
75           }
76         ],
77         "events": [
78           {
79             "name": "onSearch",
80             "description": "Fired upon a search action (start of a new search, search result navigation, or search being canceled).",
81             "parameters": [
82               {
83                 "name": "action",
84                 "type": "string",
85                 "description": "Type of search action being performed."
86               },
87               {
88                 "name": "queryString",
89                 "type": "string",
90                 "optional": true,
91                 "description": "Query string (only for 'performSearch')."
92               }
93             ]
94           },
95           {
96             "name": "onShown",
97             "type": "function",
98             "description": "Fired when the user switches to the panel.",
99             "parameters": [
100               {
101                 "name": "window",
102                 "$ref": "windows.Window",
103                 "description": "The <code>window</code> object of panel's page."
104               }
105             ]
106           },
107           {
108             "name": "onHidden",
109             "type": "function",
110             "description": "Fired when the user switches away from the panel."
111           }
112         ]
113       },
114       {
115         "id": "ExtensionSidebarPane",
116         "type": "object",
117         "description": "A sidebar created by the extension.",
118         "functions": [
119           {
120             "name": "setHeight",
121             "type": "function",
122             "description": "Sets the height of the sidebar.",
123             "parameters": [
124               {
125                 "name": "height",
126                 "type": "string",
127                 "description": "A CSS-like size specification, such as <code>'100px'</code> or <code>'12ex'</code>."
128               }
129             ]
130           },
131           {
132             "name": "setExpression",
133             "type": "function",
134             "description": "Sets an expression that is evaluated within the inspected page. The result is displayed in the sidebar pane.",
135             "parameters": [
136               {
137                 "name": "expression",
138                 "type": "string",
139                 "description": "An expression to be evaluated in context of the inspected page. JavaScript objects and DOM nodes are displayed in an expandable tree similar to the console/watch."
140               },
141               {
142                 "name": "rootTitle",
143                 "type": "string",
144                 "optional": true,
145                 "description": "An optional title for the root of the expression tree."
146               },
147               {
148                 "name": "callback",
149                 "type": "function",
150                 "optional": true,
151                 "description": "A callback invoked after the sidebar pane is updated with the expression evaluation results."
152               }
153             ]
154           },
155           {
156             "name": "setObject",
157             "type": "function",
158             "description": "Sets a JSON-compliant object to be displayed in the sidebar pane.",
159             "parameters": [
160               {
161                 "name": "jsonObject",
162                 "type": "string",
163                 "description": "An object to be displayed in context of the inspected page. Evaluated in the context of the caller (API client)."
164               },
165               {
166                 "name": "rootTitle",
167                 "type": "string",
168                 "optional": true,
169                 "description": "An optional title for the root of the expression tree."
170               },
171               {
172                 "name": "callback",
173                 "type": "function",
174                 "optional": true,
175                 "description": "A callback invoked after the sidebar is updated with the object."
176               }
177             ]
178           },
179           {
180             "name": "setPage",
181             "type": "function",
182             "description": "Sets an HTML page to be displayed in the sidebar pane.",
183             "parameters": [
184               {
185                 "name": "path",
186                 "type": "string",
187                 "description": "Relative path of an extension page to display within the sidebar."
188               }
189             ]
190           }
191         ],
192         "events": [
193           {
194             "name": "onShown",
195             "type": "function",
196             "description": "Fired when the sidebar pane becomes visible as a result of user switching to the panel that hosts it.",
197             "parameters": [
198               {
199                 "name": "window",
200                 "$ref": "windows.Window",
201                 "optional": true,
202                 "description": "The <code>window</code> object of the sidebar page, if one was set with the <code>setPage()</code> method."
203               }
204             ]
205           },
206           {
207             "name": "onHidden",
208             "type": "function",
209             "description": "Fired when the sidebar pane becomes hidden as a result of the user switching away from the panel that hosts the sidebar pane."
210           }
211         ]
212       },
213       {
214         "id": "Button",
215         "type": "object",
216         "description": "A button created by the extension.",
217         "functions": [
218           {
219             "name": "update",
220             "description": "Updates the attributes of the button. If some of the arguments are omitted or <code>null</code>, the corresponding attributes are not updated.",
221             "parameters": [
222               {
223                 "name": "iconPath",
224                 "type": "string",
225                 "optional": true,
226                 "description": "Path to the new icon of the button."
227               },
228               {
229                 "name": "tooltipText",
230                 "type": "string",
231                 "optional": true,
232                 "description": "Text shown as a tooltip when user hovers the mouse over the button."
233               },
234               {
235                 "name": "disabled",
236                 "type": "boolean",
237                 "optional": true,
238                 "description": "Whether the button is disabled."
239               }
240             ]
241           }
242         ],
243         "events": [
244           {
245             "name": "onClicked",
246             "type": "function",
247             "description": "Fired when the button is clicked."
248           }
249         ]
250       }
251     ],
252     "properties": {
253       "elements": {
254         "$ref": "ElementsPanel",
255         "description": "Elements panel."
256       }
257     },
258     "functions": [
259       {
260         "name": "create",
261         "type": "function",
262         "description": "Creates an extension panel.",
263         "parameters": [
264           {
265             "name": "title",
266             "type": "string",
267             "description": "Title that is displayed next to the extension icon in the Developer Tools toolbar."
268           },
269           {
270             "name": "iconPath",
271             "type": "string",
272             "description": "Path of the panel's icon relative to the extension directory."
273           },
274           {
275             "name": "pagePath",
276             "type": "string",
277             "description": "Path of the panel's HTML page relative to the extension directory."
278           },
279           {
280             "name": "callback",
281             "type": "function",
282             "optional": true,
283             "description": "A function that is called when the panel is created.",
284             "parameters": [
285               {
286                 "name": "panel",
287                 "description": "An ExtensionPanel object representing the created panel.",
288                 "$ref": "ExtensionPanel"
289               }
290             ]
291           }
292         ]
293       },
294       {
295         "name": "setOpenResourceHandler",
296         "type": "function",
297         "description": "Specifies the function to be called when the user clicks a resource link in the Developer Tools window. To unset the handler, either call the method with no parameters or pass null as the parameter.",
298         "parameters": [
299           {
300             "name": "callback",
301             "type": "function",
302             "optional": true,
303             "description": "A function that is called when the user clicks on a valid resource link in Developer Tools window. Note that if the user clicks an invalid URL or an XHR, this function is not called.",
304             "parameters": [
305               {
306                 "name": "resource",
307                 "$ref": "devtools.inspectedWindow.Resource",
308                 "description": "A $ref:devtools.inspectedWindow.Resource object for the resource that was clicked."
309               }
310             ]
311           }
312         ]
313       }
314     ]
315   }
316 ]