Blink roll 25b6bd3a7a131ffe68d809546ad1a20707915cdc:3a503f41ae42e5b79cfcd2ff10e65afde...
[chromium-blink-merge.git] / extensions / common / api / _manifest_features.json
blobb5809f62fbebc62802eed976245d9bc5c4b79cfb
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_security_policy": {
90     "channel": "stable",
91     // Platform apps have a restricted content security policy that cannot be
92     // overriden (except for a whitelist of exceptions, see the
93     // app.content_security_policy whitelist).
94     "extension_types": ["extension", "legacy_packaged_app"]
95   },
96   "current_locale": {
97     "channel": "stable",
98     "extension_types": "all"
99   },
100   "default_locale": {
101     "channel": "stable",
102     "extension_types": "all"
103   },
104   "description": {
105     "channel": "stable",
106     "extension_types": "all"
107   },
108   "externally_connectable": {
109     "channel": "stable",
110     "extension_types": [
111       "extension", "hosted_app", "legacy_packaged_app", "platform_app"
112     ]
113   },
114   "file_handlers": [
115     {
116       "channel": "stable",
117       "extension_types": ["platform_app"]
118     }, {
119       "channel": "stable",
120       "extension_types": [ "extension"],
121       "whitelist": [
122         "2FC374607C2DF285634B67C64A2E356C607091C3",  // Quickoffice
123         "3727DD3E564B6055387425027AD74C58784ACC15",  // Quickoffice internal
124         "12E618C3C6E97495AAECF2AC12DEB082353241C6"   // QO component extension
125       ]
126     }
127   ],
128   "icons": {
129     "channel": "stable",
130     "extension_types": "all"
131   },
132   "incognito": [
133     {
134       "channel": "stable",
135       "extension_types": ["extension", "legacy_packaged_app"]
136     },
137     {
138       "channel": "stable",
139       "extension_types": ["platform_app"],
140       "location": "component"
141     }
142   ],
143   "key": {
144     "channel": "stable",
145     "extension_types": "all"
146   },
147   "kiosk_enabled": {
148     "channel": "stable",
149     "extension_types": [
150       "platform_app"
151     ]
152   },
153   "kiosk_only": {
154     "channel": "dev",
155     "extension_types": [
156       "platform_app"
157     ]
158   },
159   "launcher_page": {
160     "channel": "stable",
161     "min_manifest_version": 2,
162     "extension_types": ["platform_app"],
163     "whitelist": [
164       "07BD6A765FFC289FF755D7CAB2893A40EC337FEC",  // http://crbug.com/404000
165       "896B85CC7E913E11C34892C1425A093C0701D386",  // http://crbug.com/404000
166       "11A01C82EF355E674E4F9728A801F5C3CB40D83F",  // http://crbug.com/404000
167       "F410C88469990EE7947450311D24B8AF2ADB2595"   // http://crbug.com/404000
168     ]
169   },
170   "manifest_version": {
171     "channel": "stable",
172     "extension_types": "all"
173   },
174   "nacl_modules": {
175     "channel": "stable",
176     "extension_types": [
177       "extension", "legacy_packaged_app", "hosted_app", "platform_app"
178     ]
179   },
180   "name": {
181     "channel": "stable",
182     "extension_types": "all"
183   },
184   "oauth2": {
185     "channel": "stable",
186     "extension_types": [
187       "extension", "legacy_packaged_app", "platform_app"
188     ]
189   },
190   "oauth2.auto_approve": {
191     "channel": "stable",
192     "extension_types": [
193       "extension", "platform_app"
194     ],
195     "whitelist": [
196       "mdbihdcgjmagbcapkhhkjbbdlkflmbfo",  // unit_tests
197       "pafkbggdmjlpgkdkcbjmhmfcdpncadgh",  // Google Now
198       "nmmhkkegccagdldgiimedpiccmgmieda",  // In-app payments support app.
199       "4B1D0E19C6C43C008C44A8278C8B5BFE15ABEB3C",
200       "F7FA7ABC1ECB89BA8EE6656847EFABBF43BB9BCA",
201       "1A26E32DE447A17CBE5E9750CDBA78F58539B39C",  // TODO(rockot): Kill these.
202       "E61F841D8210B6A9891E5384CB665FBED31FCD7B",  // http://crbug.com/281715
204       "07BD6A765FFC289FF755D7CAB2893A40EC337FEC",  // http://crbug.com/430730
205       "896B85CC7E913E11C34892C1425A093C0701D386",  // http://crbug.com/430730
206       "11A01C82EF355E674E4F9728A801F5C3CB40D83F",  // http://crbug.com/430730
207       "F410C88469990EE7947450311D24B8AF2ADB2595",  // http://crbug.com/430730
209       // TODO(joaodasilva): remove these two once we have the new policy to
210       // grant auto approval by ID. http://crbug.com/399392
211       "A8208CCC87F8261AFAEB6B85D5E8D47372DDEA6B",
212       "A4577D8C2AF4CF26F40CBCA83FFA4251D6F6C8F8"
213     ]
214   },
215   "offline_enabled": {
216     "channel": "stable",
217     "extension_types": [
218       "extension", "legacy_packaged_app", "hosted_app", "platform_app"
219     ]
220   },
221   "options_ui": {
222     "channel": "stable",
223     "extension_types": ["extension", "legacy_packaged_app"]
224   },
225   "sandbox": {
226     "channel": "stable",
227     "extension_types": [
228       "extension", "platform_app", "legacy_packaged_app"
229     ],
230     "min_manifest_version": 2
231   },
232   "sockets": {
233     "channel": "stable",
234     "extension_types": ["platform_app"]
235   },
236   "version": {
237     "channel": "stable",
238     "extension_types": "all"
239   },
240   "web_accessible_resources": [
241     {
242       "channel": "stable",
243       "extension_types": [
244         "extension", "legacy_packaged_app", "hosted_app"
245       ]
246     },
247     {
248       "channel": "stable",
249       "extension_types": ["platform_app"],
250       "location": "component"
251     }
252   ],
253   "webview": {
254     "channel": "stable",
255     "extension_types": ["platform_app"],
256     "min_manifest_version": 2
257   }