• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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": "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  }
273]
274