- add sources.
[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": "ExternallyConnectable",
17         "type": "object",
18         // Note: description commented out because externally_connectable.html
19         // already describes it, and the repetition looks odd.
20         // "description": "The <code>externally_connectable</code> manifest property declares which extensions, apps, and web pages can connect to your extension via $ref:runtime.connect and $ref:runtime.sendMessage.",
21         "properties": {
22           "ids": {
23             "description": "<p>The IDs of extensions or apps that are allowed to connect. If left empty or unspecified, no extensions or apps can connect.</p><p>The wildcard <code>\"*\"</code> will allow all extensions and apps to connect.</p>",
24             "optional": true,
25             "type": "array",
26             "items": {"type": "string"}
27           },
28           "matches": {
29             "description": "<p>The URL patterns for <em>web pages</em> that are allowed to connect. <em>This does not affect content scripts.</em> If left empty or unspecified, no web pages can connect.</p><p>Patterns cannot include wildcard domains nor subdomains of (effective) top level domains; <code>*://google.com/*</code> and <code>http://*.chromium.org/*</code> are valid, while <code>&lt;all_urls&gt;</code>, <code>http://*/*</code>, <code>*://*.com/*</code>, and even <code>http://*.appspot.com/*</code> are not.</p>",
30             "optional": true,
31             "type": "array",
32             "items": {"type": "string"}
33           },
34           "accepts_tls_channel_id": {
35             "description": "If <code>true</code>, messages sent via $ref:runtime.connect or $ref:runtime.sendMessage will set $ref:runtime.MessageSender.tlsChannelId if those methods request it to be. If <code>false</code>, $ref:runtime.MessageSender.tlsChannelId will never be set under any circumstance.",
36             "optional": true,
37             "type": "boolean"
38           }
39         }
40       },
41       {
42         "id": "ChromeSettingsOverrides",
43         "type": "object",
44         "description": "Chrome settings which can be overriden by an extension.",
45         "properties": {
46           "homepage": {
47             "description": "New value for the homepage.",
48             "optional": true,
49             "type": "string"
50           },
51           "search_provider": {
52             "type": "object",
53             "description": "A search engine",
54             "optional": true,
55             "properties": {
56               "name": {
57                 "type": "string",
58                 "description": "Name of the search engine displayed to user."
59               },
60               "keyword": {
61                 "type": "string",
62                 "description": "Omnibox keyword for the search engine."
63               },
64               "favicon_url": {
65                 "type": "string",
66                 "description": "An icon URL for the search engine."
67               },
68               "search_url": {
69                 "type": "string",
70                 "description": "An search URL used by the search engine."
71               },
72               "encoding": {
73                 "type": "string",
74                 "description": "Encoding of the search term."
75               },
76               "suggest_url": {
77                 "type": "string",
78                 "optional": true,
79                 "description": "If omitted, this engine does not support suggestions."
80               },
81               "instant_url": {
82                 "type": "string",
83                 "optional": true,
84                 "description": "If omitted, this engine does not support instant."
85               },
86               "image_url": {
87                 "type": "string",
88                 "optional": true,
89                 "description": "If omitted, this engine does not support image search."
90               },
91               "search_url_post_params": {
92                 "type": "string",
93                 "optional": true,
94                 "description": "The string of post parameters to search_url"
95               },
96               "suggest_url_post_params": {
97                 "type": "string",
98                 "optional": true,
99                 "description": "The string of post parameters to suggest_url"
100               },
101               "instant_url_post_params": {
102                 "type": "string",
103                 "optional": true,
104                 "description": "The string of post parameters to instant_url"
105               },
106               "image_url_post_params": {
107                 "type": "string",
108                 "optional": true,
109                 "description": "The string of post parameters to image_url"
110               },
111               "alternate_urls": {
112                 "type": "array",
113                 "items": { "type": "string" },
114                 "optional": true,
115                 "description": "A list of URL patterns that can be used, in addition to |search_url|."
116               },
117               "is_default": {
118                 "type": "boolean",
119                 "description": "Specifies if the search provider should be default."
120               }
121             }
122           },
123           "startup_pages": {
124             "description": "A new startup page to be added to the list.",
125             "optional": true,
126             "type": "array",
127             "items": {"type": "string"}
128           }
129         }
130       },
131       {
132         "id": "sockets",
133         "type": "object",
134         "description": "The <code>sockets</code> manifest property declares which sockets operations an app can issue.",
135         "properties": {
136           "udp": {
137             "description": "The <code>udp</code> manifest property declares which sockets.udp operations an app can issue.",
138             "optional": true,
139             "type": "object",
140             "properties": {
141               "bind": {
142                 "description": "<p>The host:port pattern for <code>bind</code> operations.</p>",
143                 "optional": true,
144                 "type": "string"
145               },
146               "send": {
147                 "description": "<p>The host:port pattern for <code>send</code> operations.</p>",
148                 "optional": true,
149                 "type": "string"
150               },
151               "multicastMembership": {
152                 "description": "<p>The host:port pattern for <code>joinGroup</code> operations.</p>",
153                 "optional": true,
154                 "type": "string"
155               }
156             }
157           },
158           "tcp": {
159             "description": "The <code>tcp</code> manifest property declares which sockets.tcp operations an app can issue.",
160             "optional": true,
161             "type": "object",
162             "properties": {
163               "connect": {
164                 "description": "<p>The host:port pattern for <code>connect</code> operations.</p>",
165                 "optional": true,
166                 "type": "string"
167               }
168             }
169           },
170           "tcpServer": {
171             "description": "The <code>tcpServer</code> manifest property declares which sockets.tcpServer operations an app can issue.",
172             "optional": true,
173             "type": "object",
174             "properties": {
175               "listen": {
176                 "description": "<p>The host:port pattern for <code>listen</code> operations.</p>",
177                 "optional": true,
178                 "type": "string"
179               }
180             }
181           }
182         }
183       }
184     ]
185   }
186 ]