Roll src/third_party/WebKit b3f094a:f697bbd (svn 194310:194313)
[chromium-blink-merge.git] / extensions / common / api / _manifest_features.json
blob8a1966d8f3ddb549228668f1285905c300b287b9
1 // Copyright 2014 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.
5 // This features file defines manifest keys implemented under src/extensions.
6 // See extensions/common/features/* to understand this file, in particular
7 // feature.h, simple_feature.h, and base_feature_provider.h.
9 // To add a new whitelisted ID, SHA-1 it and force it to uppercase. In Bash:
11 // $ echo -n "aaaabbbbccccddddeeeeffffgggghhhh" | \
12 // sha1sum | tr '[:lower:]' '[:upper:]'
13 // 9A0417016F345C934A1A88F55CA17C05014EEEBA  -
15 // Google employees: please update http://go/chrome-api-whitelist to map
16 // hashes back to ids.
19   "app": {
20     "channel": "stable",
21     "extension_types": ["legacy_packaged_app", "hosted_app", "platform_app"]
22   },
23   // The default platform app CSP can only be overridden by whitelisted apps.
24   // This is a separate key from the top-level content_security_policy one since
25   // we can't combine type restrictions with whitelisted ID restrictions. If
26   // there is a need for additional whitelisted entries, the feature system
27   // should instead be extended to support OR-ing of restrictions.
28   "app.content_security_policy": {
29     "channel": "stable",
30     "extension_types": ["platform_app"],
31     "min_manifest_version": 2,
32     "whitelist": [
33       "nckgahadagoaajjgafhacjanaoiihapd",  // Google Talk prod
34       "eggnbpckecmjlblplehfpjjdhhidfdoj",  // Google Talk beta
35       "ppleadejekpmccmnpjdimmlfljlkdfej",  // Google Talk alpha
36       "ljclpkphhpbpinifbeabbhlfddcpfdde",   // Google Talk debug
37       "lphgohfeebnhcpiohjndkgbhhkoapkjc" // Apps Debugger
38     ]
39   },
40   "app.background": {
41     "channel": "stable",
42     "extension_types": ["platform_app"],
43     "min_manifest_version": 2
44   },
45   "background": {
46     "channel": "stable",
47     "extension_types": [
48       // Platform apps specify their background page via app.background.
49       "extension", "legacy_packaged_app", "hosted_app"
50     ]
51   },
52   "background.persistent": {
53     "channel": "stable",
54     "extension_types": [
55       "extension", "legacy_packaged_app"
56     ],
57     "min_manifest_version": 2
58   },
59   "background_page": {
60     "channel": "stable",
61     "extension_types": [
62       "extension", "legacy_packaged_app", "hosted_app"
63     ],
64     "max_manifest_version": 1
65   },
66   "bluetooth": [{
67     // Note: The "bluetooth" manifest permission is used by the
68     // chrome.bluetooth, chrome.bluetoothSocket and chrome.bluetoothLowEnergy
69     // APIs.
70     "channel": "stable",
71     "extension_types": ["platform_app"],
72     "platforms": ["chromeos", "win", "mac"]
73   }, {
74     "channel": "stable",
75     "extension_types": ["platform_app"],
76     "platforms": ["linux"],
77     "whitelist": [
78       "9E287A8257E58EFB13E89C86A4B75A3AC4B058D8",  // unit_tests browser_tests
79       "1C93BD3CF875F4A73C0B2A163BB8FBDA8B8B3D80",  // http://crbug.com/396117
80       "A3BC37E2148AC4E99BE4B16AF9D42DD1E592BBBE",  // http://crbug.com/396117
81       "E703483CEF33DEC18B4B6DD84B5C776FB9182BDB",  // http://crbug.com/396117
82       "307E96539209F95A1A8740C713E6998A73657D96",  // http://crbug.com/396117
83       "4F25792AF1AA7483936DE29C07806F203C7170A0",  // http://crbug.com/407693
84       "BD8781D757D830FC2E85470A1B6E8A718B7EE0D9",  // http://crbug.com/407693
85       "4AC2B6C63C6480D150DFDA13E4A5956EB1D0DDBB",  // http://crbug.com/407693
86       "81986D4F846CEDDDB962643FA501D1780DD441BB"   // http://crbug.com/407693
87     ]
88   }],
89   "content_capabilities": [{
90     "channel": "stable",
91     "extension_types": ["extension"],
92     "whitelist": [
93       "950D13BB9B4794F4CA2A68D3597E5DFAA47C88AE"  // Drive
94     ]
95   }, {
96     "channel": "canary",
97     "extension_types": ["extension"]
98   }],
99   "content_security_policy": {
100     "channel": "stable",
101     // Platform apps have a restricted content security policy that cannot be
102     // overriden (except for a whitelist of exceptions, see the
103     // app.content_security_policy whitelist).
104     "extension_types": ["extension", "legacy_packaged_app"]
105   },
106   "copresence" : {
107     "channel": "stable",
108     "extension_types": "all"
109   },
110   "current_locale": {
111     "channel": "stable",
112     "extension_types": "all"
113   },
114   "default_locale": {
115     "channel": "stable",
116     "extension_types": "all"
117   },
118   "description": {
119     "channel": "stable",
120     "extension_types": "all"
121   },
122   "externally_connectable": {
123     "channel": "stable",
124     "extension_types": [
125       "extension", "hosted_app", "legacy_packaged_app", "platform_app"
126     ]
127   },
128   "file_handlers": [
129     {
130       "channel": "stable",
131       "extension_types": ["platform_app"]
132     }, {
133       "channel": "stable",
134       "extension_types": [ "extension"],
135       "whitelist": [
136         "2FC374607C2DF285634B67C64A2E356C607091C3",  // Quickoffice
137         "3727DD3E564B6055387425027AD74C58784ACC15",  // Quickoffice internal
138         "12E618C3C6E97495AAECF2AC12DEB082353241C6"   // QO component extension
139       ]
140     }
141   ],
142   "icons": {
143     "channel": "stable",
144     "extension_types": "all"
145   },
146   "incognito": [
147     {
148       "channel": "stable",
149       "extension_types": ["extension", "legacy_packaged_app"]
150     },
151     {
152       "channel": "stable",
153       "extension_types": ["platform_app"],
154       "location": "component"
155     }
156   ],
157   "key": {
158     "channel": "stable",
159     "extension_types": "all"
160   },
161   "kiosk_enabled": {
162     "channel": "stable",
163     "extension_types": [
164       "platform_app"
165     ]
166   },
167   "kiosk_only": {
168     "channel": "dev",
169     "extension_types": [
170       "platform_app"
171     ]
172   },
173   "launcher_page": {
174     "channel": "stable",
175     "min_manifest_version": 2,
176     "extension_types": ["platform_app"],
177     "whitelist": [
178       "07BD6A765FFC289FF755D7CAB2893A40EC337FEC",  // http://crbug.com/404000
179       "896B85CC7E913E11C34892C1425A093C0701D386",  // http://crbug.com/404000
180       "11A01C82EF355E674E4F9728A801F5C3CB40D83F",  // http://crbug.com/404000
181       "F410C88469990EE7947450311D24B8AF2ADB2595"   // http://crbug.com/404000
182     ]
183   },
184   "manifest_version": {
185     "channel": "stable",
186     "extension_types": "all"
187   },
188   "mime_types": {
189     "channel": "stable",
190     "extension_types": [ "extension", "legacy_packaged_app", "platform_app" ],
191     "whitelist": [
192       "oickdpebdnfbgkcaoklfcdhjniefkcji",  // browser_tests
193       "gbkeegbaiigmenfmjfclcdgdpimamgkj",  // QuickOffice
194       "ionpfmkccalenbmnddpbmocokhaknphg",  // QuickOffice Dev
195       "bpmcpldpdmajfigpchkicefoigmkfalc",  // Quickoffice component extension
196       "ehibbfinohgbchlgdbfpikodjaojhccn",  // Editor
197       "mhjfbmdgcfjbbpaeojofohoefgiehjai"   // PDF
198     ]
199   },
200   "mime_types_handler": {
201     "channel": "stable",
202     "extension_types": [ "extension", "legacy_packaged_app", "platform_app" ],
203     "whitelist": [
204       "oickdpebdnfbgkcaoklfcdhjniefkcji",  // browser_tests
205       "mhjfbmdgcfjbbpaeojofohoefgiehjai"   // PDF
206     ]
207   },
208   "nacl_modules": {
209     "channel": "stable",
210     "extension_types": [
211       "extension", "legacy_packaged_app", "hosted_app", "platform_app"
212     ]
213   },
214   "name": {
215     "channel": "stable",
216     "extension_types": "all"
217   },
218   "oauth2": {
219     "channel": "stable",
220     "extension_types": [
221       "extension", "legacy_packaged_app", "platform_app"
222     ]
223   },
224   "oauth2.auto_approve": {
225     "channel": "stable",
226     "extension_types": [
227       "extension", "platform_app"
228     ],
229     "whitelist": [
230       "mdbihdcgjmagbcapkhhkjbbdlkflmbfo",  // unit_tests
231       "pafkbggdmjlpgkdkcbjmhmfcdpncadgh",  // Google Now
232       "nmmhkkegccagdldgiimedpiccmgmieda",  // In-app payments support app.
233       "4B1D0E19C6C43C008C44A8278C8B5BFE15ABEB3C",
234       "F7FA7ABC1ECB89BA8EE6656847EFABBF43BB9BCA",
235       "1A26E32DE447A17CBE5E9750CDBA78F58539B39C",  // TODO(rockot): Kill these.
236       "E61F841D8210B6A9891E5384CB665FBED31FCD7B",  // http://crbug.com/281715
238       "07BD6A765FFC289FF755D7CAB2893A40EC337FEC",  // http://crbug.com/430730
239       "896B85CC7E913E11C34892C1425A093C0701D386",  // http://crbug.com/430730
240       "11A01C82EF355E674E4F9728A801F5C3CB40D83F",  // http://crbug.com/430730
241       "F410C88469990EE7947450311D24B8AF2ADB2595",  // http://crbug.com/430730
243       // TODO(joaodasilva): remove these two once we have the new policy to
244       // grant auto approval by ID. http://crbug.com/399392
245       "A8208CCC87F8261AFAEB6B85D5E8D47372DDEA6B",
246       "A4577D8C2AF4CF26F40CBCA83FFA4251D6F6C8F8"
247     ]
248   },
249   "offline_enabled": {
250     "channel": "stable",
251     "extension_types": [
252       "extension", "legacy_packaged_app", "hosted_app", "platform_app"
253     ]
254   },
255   "options_ui": {
256     "channel": "stable",
257     "extension_types": ["extension", "legacy_packaged_app"]
258   },
259   "sandbox": {
260     "channel": "stable",
261     "extension_types": [
262       "extension", "platform_app", "legacy_packaged_app"
263     ],
264     "min_manifest_version": 2
265   },
266   "sockets": {
267     "channel": "stable",
268     "extension_types": ["platform_app"]
269   },
270   "version": {
271     "channel": "stable",
272     "extension_types": "all"
273   },
274   "version_name": {
275     "channel": "stable",
276     "extension_types": "all"
277   },
278   "web_accessible_resources": [
279     {
280       "channel": "stable",
281       "extension_types": [
282         "extension", "legacy_packaged_app", "hosted_app"
283       ]
284     },
285     {
286       "channel": "stable",
287       "extension_types": ["platform_app"],
288       "location": "component"
289     }
290   ],
291   "webview": {
292     "channel": "stable",
293     "extension_types": ["platform_app"],
294     "min_manifest_version": 2
295   }