Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / chrome / common / extensions / api / manifest_types.json
1 // Copyright 2013 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 // The type schemas for structured manifest items. Not actually a callable API.
6
7 [
8   {
9     "namespace": "manifestTypes",
10     "description": "Schemas for structured manifest entries",
11     "compiler_options": {
12       "generate_error_messages": true
13     },
14     "types": [
15       {
16         "id": "ChromeSettingsOverrides",
17         "type": "object",
18         "description": "Chrome settings which can be overriden by an extension.",
19         "properties": {
20           // TODO(wittman): Remove for M37.
21           "bookmarks_ui": {
22             "type": "object",
23             "description": "Settings to permit bookmarks user interface customization by extensions.",
24             "optional": true,
25             "nodoc": true,
26             "properties": {
27               "remove_button": {
28                 "type": "boolean",
29                 "description": "If <code>true</code>, the built-in bookmark button will be removed from the user interface.",
30                 "optional": true
31               },
32               "remove_bookmark_shortcut": {
33                 "type": "boolean",
34                 "description": "If <code>true</code>, the built-in \"Bookmark this page...\" shortcut key is removed and the extension is permitted to override the shortcut by binding it in the commands section of the manifest. The corresponding menu item is also removed or overridden as well.",
35                 "optional": true
36               },
37               "remove_bookmark_open_pages_shortcut": {
38                 "type": "boolean",
39                 "nodoc": true,
40                 "description": "[Private] If <code>true</code>, the built-in \"Bookmark open pages...\" shortcut key and corresponding menu item is removed.",
41                 "optional": true
42               },
43               "hide_bookmark_button": {
44                 "type": "boolean",
45                 "description": "Deprecated. Use remove_button instead.",
46                 "optional": true
47               }
48             }
49           },
50           "homepage": {
51             "description": "New value for the homepage.",
52             "optional": true,
53             "type": "string"
54           },
55           "search_provider": {
56             "type": "object",
57             "description": "A search engine",
58             "optional": true,
59             "properties": {
60               "name": {
61                 "type": "string",
62                 "description": "Name of the search engine displayed to user."
63               },
64               "keyword": {
65                 "type": "string",
66                 "description": "Omnibox keyword for the search engine."
67               },
68               "favicon_url": {
69                 "type": "string",
70                 "description": "An icon URL for the search engine."
71               },
72               "search_url": {
73                 "type": "string",
74                 "description": "An search URL used by the search engine."
75               },
76               "encoding": {
77                 "type": "string",
78                 "description": "Encoding of the search term."
79               },
80               "suggest_url": {
81                 "type": "string",
82                 "optional": true,
83                 "description": "If omitted, this engine does not support suggestions."
84               },
85               "instant_url": {
86                 "type": "string",
87                 "optional": true,
88                 "description": "If omitted, this engine does not support instant."
89               },
90               "image_url": {
91                 "type": "string",
92                 "optional": true,
93                 "description": "If omitted, this engine does not support image search."
94               },
95               "search_url_post_params": {
96                 "type": "string",
97                 "optional": true,
98                 "description": "The string of post parameters to search_url"
99               },
100               "suggest_url_post_params": {
101                 "type": "string",
102                 "optional": true,
103                 "description": "The string of post parameters to suggest_url"
104               },
105               "instant_url_post_params": {
106                 "type": "string",
107                 "optional": true,
108                 "description": "The string of post parameters to instant_url"
109               },
110               "image_url_post_params": {
111                 "type": "string",
112                 "optional": true,
113                 "description": "The string of post parameters to image_url"
114               },
115               "alternate_urls": {
116                 "type": "array",
117                 "items": { "type": "string" },
118                 "optional": true,
119                 "description": "A list of URL patterns that can be used, in addition to |search_url|."
120               },
121               "is_default": {
122                 "type": "boolean",
123                 "description": "Specifies if the search provider should be default."
124               }
125             }
126           },
127           "startup_pages": {
128             "description": "An array of length one containing a URL to be used as the startup page.",
129             "optional": true,
130             "type": "array",
131             "items": {"type": "string"}
132           }
133         }
134       },
135       {
136         "id": "ChromeUIOverrides",
137         "type": "object",
138         "description": "Chrome user interface features which can be overriden by an extension.",
139         "properties": {
140           "bookmarks_ui": {
141             "type": "object",
142             "description": "Settings to permit bookmarks user interface customization by extensions.",
143             "optional": true,
144             "properties": {
145               "remove_button": {
146                 "type": "boolean",
147                 "description": "If <code>true</code>, the built-in bookmark button will be removed from the user interface.",
148                 "optional": true
149               },
150               "remove_bookmark_shortcut": {
151                 "type": "boolean",
152                 "description": "If <code>true</code>, the built-in \"Bookmark this page...\" shortcut key is removed and the extension is permitted to override the shortcut by binding it in the commands section of the manifest.",
153                 "optional": true
154               },
155               "remove_bookmark_open_pages_shortcut": {
156                 "type": "boolean",
157                 "nodoc": true,
158                 "description": "[Private] If <code>true</code>, the built-in \"Bookmark open pages...\" shortcut key and corresponding menu item is removed.",
159                 "optional": true
160               }
161             }
162           }
163         }
164       },
165       {
166         "id": "bluetooth",
167         "type": "object",
168         "description": "The <code>bluetooth</code> manifest property give permission to an app to use the $(ref:bluetooth) API. A list of UUIDs can be optionally specified to enable communication with devices.",
169         "properties": {
170           "uuids": {
171             "description": "The <code>uuids</code> manifest property declares the list of protocols, profiles and services that an app can communicate using.",
172             "optional": true,
173             "type": "array",
174             "items": {
175               "description": "<p>The list specified as UUID strings.</p>",
176               "type": "string"
177             }
178           }
179         }
180       },
181       {
182         "id": "automation",
183         "description": "This API provides programmatic access to the user interface elements of Chrome. This includes everything in the web view, and optionally Chrome's full user interface.",
184         "choices": [
185           { "type": "boolean",
186             "description": "If true, enables non-interactive access to the automation tree only for the sites for which the extension has a <a href='https://developer.chrome.com/extensions/declare_permissions#host-permissions'>host permission</a> or <a href='https://developer.chrome.com/extensions/declare_permissions#activeTab'>activeTab permission</a>)." },
187           { "type": "object",
188             "properties": {
189               "desktop": {
190                 "description": "Whether to request permission to the whole ChromeOS desktop. If granted, this gives the extension access to every aspect of the desktop, and every site and app. If this permission is requested, all other permissions are implicitly included and do not need to be requested separately.",
191                 "optional": true,
192                 "type": "boolean"
193               },
194               "matches": {
195                 "description": "A list of URL patterns for which this extension may request an automation tree. If not specified, automation permission will be granted for the sites for which the extension has a <a href='https://developer.chrome.com/extensions/declare_permissions#host-permissions'>host permission</a> or <a href='https://developer.chrome.com/extensions/declare_permissions#activeTab'>activeTab permission</a>).",
196                 "optional": true,
197                 "type": "array",
198                 "items": { "type": "string" }
199               },
200               "interact": {
201                 "description": "Whether the extension is allowed interactive access (true) or read-only access (false; default) to the automation tree.",
202                 "optional": true,
203                 "type": "boolean"
204               }
205             }
206           }
207         ]
208       }
209     ]
210   }
211 ]