Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / extensions / common / api / _permission_features.json
blob44a2ae04bceef9cc8663d35da248afef65917691
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 permissions for extension APIs implemented
6 // under src/extensions.
8 // See extensions/common/features/* to understand this file, in particular
9 // feature.h, simple_feature.h, and base_feature_provider.h.
11 // To add a new whitelisted ID, SHA-1 it and force it to uppercase. In Bash:
13 // $ echo -n "aaaabbbbccccddddeeeeffffgggghhhh" | \
14 // sha1sum | tr '[:lower:]' '[:upper:]'
15 // 9A0417016F345C934A1A88F55CA17C05014EEEBA  -
17 // Google employees: please update http://go/chrome-api-whitelist to map
18 // hashes back to ids.
20 // If you add a new platform_app permission please update the "stubs_app" test:
21 // chrome/test/data/extensions/api_test/stubs_app/manifest.json
24   "alarms": {
25     "channel": "stable",
26     "extension_types": ["extension", "legacy_packaged_app", "platform_app"],
27     "min_manifest_version": 2
28   },
29   "app.window.alwaysOnTop": {
30     "channel": "stable",
31     "extension_types": ["platform_app"]
32   },
33   "app.window.fullscreen": {
34     "channel": "stable",
35     "extension_types": ["platform_app"]
36   },
37   "app.window.fullscreen.overrideEsc": {
38     "channel": "stable",
39     "extension_types": ["platform_app"]
40   },
41   "app.window.alpha": [
42     {
43       "channel": "dev",
44       "extension_types": ["platform_app"]
45     },
46     {
47       "channel": "stable",
48       "extension_types": ["platform_app"],
49       "whitelist": [
50         "0F42756099D914A026DADFA182871C015735DD95",  // http://crbug.com/323773
51         "2D22CDB6583FD0A13758AEBE8B15E45208B4E9A7",
52         "E7E2461CE072DF036CF9592740196159E2D7C089",  // http://crbug.com/356200
53         "A74A4D44C7CFCD8844830E6140C8D763E12DD8F3",
54         "312745D9BF916161191143F6490085EEA0434997",
55         "53041A2FA309EECED01FFC751E7399186E860B2C",
56         "A07A5B743CD82A1C2579DB77D353C98A23201EEF",  // http://crbug.com/413748
57         "F16F23C83C5F6DAD9B65A120448B34056DD80691",
58         "0F585FB1D0FDFBEBCE1FEB5E9DFFB6DA476B8C9B"
59       ]
60     },
61     {
62       "channel": "stable",
63       "extension_types": ["extension"],
64       "whitelist": [
65         "06BE211D5F014BAB34BC22D9DDA09C63A81D828E",  // http://crbug.com/425539
66         "F94EE6AB36D6C6588670B2B01EB65212D9C64E33",
67         "B9EF10DDFEA11EF77873CC5009809E5037FC4C7A"   // http://crbug.com/435380
68       ]
69     }
70   ],
71   "app.window.shape": {
72     "channel": "stable",
73     "extension_types": ["platform_app"]
74   },
75   "app.window.ime": [
76     {
77        "channel": "stable",
78        "extension_types": ["extension"],
79        "platforms": ["chromeos"],
80        "whitelist": [
81          "06BE211D5F014BAB34BC22D9DDA09C63A81D828E",
82          "F94EE6AB36D6C6588670B2B01EB65212D9C64E33",
83          "B9EF10DDFEA11EF77873CC5009809E5037FC4C7A"   // http://crbug.com/435380
84        ]
85     }
86   ],
87   "appview": {
88     "channel": "stable",
89     "extension_types": ["platform_app"]
90   },
91   "audio": [
92     {
93       "channel": "dev",
94       "extension_types": ["platform_app"]
95     },
96     {
97       "channel": "stable",
98       "extension_types": ["platform_app"],
99       "whitelist": [
100         "8C3741E3AF0B93B6E8E0DDD499BB0B74839EA578",
101         "E703483CEF33DEC18B4B6DD84B5C776FB9182BDB",
102         "A3BC37E2148AC4E99BE4B16AF9D42DD1E592BBBE",  // http://crbug.com/335729
103         "1C93BD3CF875F4A73C0B2A163BB8FBDA8B8B3D80",  // http://crbug.com/335729
104         "307E96539209F95A1A8740C713E6998A73657D96",  // http://crbug.com/335729
105         "4F25792AF1AA7483936DE29C07806F203C7170A0",  // http://crbug.com/407693
106         "BD8781D757D830FC2E85470A1B6E8A718B7EE0D9",  // http://crbug.com/407693
107         "4AC2B6C63C6480D150DFDA13E4A5956EB1D0DDBB",  // http://crbug.com/407693
108         "81986D4F846CEDDDB962643FA501D1780DD441BB"   // http://crbug.com/407693
109       ]
110     }
111   ],
112   "audioCapture": [
113     {
114       "channel": "stable",
115       "extension_types": ["platform_app"]
116     },
117     {
118       "channel": "stable",
119       "extension_types": ["extension"],
120       "whitelist": [
121         // http://crbug.com/292856
122         "3F50C3A83839D9C76334BCE81CDEC06174F266AF",
123         "39BE69F11F68E4EED080DA3DC2394F7885B7AFF9",
124         "FF78670081967CE21DB86A04AD94A0498F01E20A",  // http://crbug.com/409192
125         // Hotword component extension
126         "62CCAAD339E6451BBF97C4BBDF758E934A05AD0B",
127         "0C0426C12F94156F330FFAF346A976BA8878DE78",  // http://crbug.com/496954
128         "AC4538682FCECD28587C7A0F80849F78F4872BC2",  // http://crbug.com/496954
129         "CCA4D85A67ADD65DA6C02E49EE3C080C54A8211C",  // http://crbug.com/496954
130         "05EBA3051DFCA6AF17070AEE5FE8C66322FF4738",  // http://crbug.com/431978
131         "11B478CEC461C766A2DC1E5BEEB7970AE06DC9C2",  // http://crbug.com/458218
132         "0EFB879311E9EFBB7C45251F89EC655711B1F6ED",  // http://crbug.com/458218
133         "9193D3A51E2FE33B496CDA53EA330423166E7F02",  // http://crbug.com/458218
134         "F9119B8B18C7C82B51E7BC6FF816B694F2EC3E89"   // http://crbug.com/458218
135      ]
136     }
137   ],
138   "bluetoothPrivate": {
139     "channel": "stable",
140     "extension_types": ["platform_app"],
141     "platforms": ["chromeos", "win", "mac"],
142     "whitelist": [
143       "1C93BD3CF875F4A73C0B2A163BB8FBDA8B8B3D80",  // http://crbug.com/387169
144       "A3BC37E2148AC4E99BE4B16AF9D42DD1E592BBBE",  // http://crbug.com/387169
145       "E703483CEF33DEC18B4B6DD84B5C776FB9182BDB",  // http://crbug.com/387169
146       "307E96539209F95A1A8740C713E6998A73657D96",  // http://crbug.com/387169
147       "4F25792AF1AA7483936DE29C07806F203C7170A0",  // http://crbug.com/407693
148       "BD8781D757D830FC2E85470A1B6E8A718B7EE0D9",  // http://crbug.com/407693
149       "4AC2B6C63C6480D150DFDA13E4A5956EB1D0DDBB",  // http://crbug.com/407693
150       "81986D4F846CEDDDB962643FA501D1780DD441BB",  // http://crbug.com/407693
151       "89715614FAA2B4C2853802D70261D2A9D0756FC8"   // http://crbug.com/455986
152     ]
153   },
154   "cast": {
155     "channel": "stable",
156     "extension_types": ["extension", "legacy_packaged_app", "platform_app"],
157     "whitelist": [
158       "9448CAB302F268FB4917D06F70703893DCDA26C4",  // Cast Test Extension
159       "63ED55E43214C211F82122ED56407FF1A807F2A3",  // Dev
160       "FA01E0B81978950F2BC5A50512FD769725F57510",  // Beta
161       "B11A93E7E5B541F8010245EBDE2C74647D6C14B9",  // Canary
162       "F155646B5D1CA545F7E1E4E20D573DFDD44C2540",  // Google Cast Beta
163       "16CA7A47AAE4BE49B1E75A6B960C3875E945B264",  // Google Cast Stable
164       "C17CD9E6868D7B9C67926E0EC612EA25C768418F",  // http://crbug.com/457908
165       "EF2AB692559EA97C3BBDEA018A8C45F92457BD4E"   // http://crbug.com/457908
166     ]
167   },
168   "declarativeWebRequest": {
169       "channel": "beta",
170       "extension_types": ["extension", "legacy_packaged_app"]
171   },
172   "diagnostics": [
173     {
174       "channel": "dev",
175       "extension_types": ["platform_app"]
176     },
177     {
178       "channel": "stable",
179       "extension_types": ["platform_app"],
180       "whitelist": [
181         "7AE714FFD394E073F0294CFA134C9F91DB5FBAA4",  // CCD Development
182         "C7DA3A55C2355F994D3FDDAD120B426A0DF63843",  // CCD Testing
183         "75E3CFFFC530582C583E4690EF97C70B9C8423B7"   // CCD Release
184       ]
185     }
186   ],
187   "dns": [
188     {
189       "channel": "dev",
190       "extension_types": ["extension", "platform_app"]
191     },
192     {
193       "channel": "stable",
194       "extension_types": ["extension", "platform_app"],
195       "whitelist": [
196         "7AE714FFD394E073F0294CFA134C9F91DB5FBAA4",  // CCD Development
197         "C7DA3A55C2355F994D3FDDAD120B426A0DF63843",  // CCD Testing
198         "75E3CFFFC530582C583E4690EF97C70B9C8423B7"   // CCD Release
199       ]
200     }
201   ],
202   "documentScan": {
203     "channel": "stable",
204     "extension_types": ["extension", "platform_app"],
205     "platforms": ["chromeos"]
206   },
207   "extensionview": {
208     "channel": "stable",
209     "extension_types": ["platform_app"],
210     "whitelist": [
211       // Used in browser tests: http://crbug.com/515284
212       "BD2EB5085B5324203BCCC3DF3CF102B8AB850402"
213     ]
214   },
215   "externally_connectable.all_urls": {
216     "channel": "stable",
217     "extension_types": [
218       "extension", "hosted_app", "legacy_packaged_app", "platform_app"
219     ],
220     "whitelist": [
221       "54ECAB4579BDE8FDAF9B29ED335F9946EE504A52",  // Used in unit tests
222       "E24F1786D842E91E74C27929B0B3715A4689A473",  // http://crbug.com/417494
223       "A28C9619C4C41306FA5236FB4D94DA812F504DE8"   // http://crbug.com/429886
224     ]
225   },
226   "hid": [
227     {
228       "channel": "stable",
229       "extension_types": ["platform_app"]
230     },
231     {
232       "channel": "stable",
233       "extension_types": ["extension"],
234       "whitelist": [
235         "496B6890097EB6E19809ADEADD095A8721FBB2E0",  // FIDO U2F APIs
236         "AD8ED80B705E1818AAD4684F9FF62B43D6D79620",  // FIDO U2F APIs (dev)
237         "E24F1786D842E91E74C27929B0B3715A4689A473",  // CryptoToken
238         "A28C9619C4C41306FA5236FB4D94DA812F504DE8"   // CryptoToken (dev)
239       ]
240     }
241   ],
242   "idle": {
243     "channel": "stable",
244     "extension_types": ["extension", "legacy_packaged_app", "platform_app"]
245   },
246   "networking.config": {
247     "channel": "stable",
248     "platforms": ["chromeos"],
249     "extension_types": ["extension", "platform_app"]
250   },
251   "networkingPrivate": {
252     "channel": "stable",
253     "extension_types": ["extension", "legacy_packaged_app", "platform_app"],
254     "platforms": ["chromeos", "mac", "win", "linux"],
255     "whitelist": [
256       "0DE0F05680A4A056BCEC864ED8DDA84296F82B40",  // http://crbug.com/434651
257       "1C93BD3CF875F4A73C0B2A163BB8FBDA8B8B3D80",  // http://crbug.com/293683
258       "A3BC37E2148AC4E99BE4B16AF9D42DD1E592BBBE",  // http://crbug.com/293683
259       "8C3741E3AF0B93B6E8E0DDD499BB0B74839EA578",  // http://crbug.com/234235
260       "E703483CEF33DEC18B4B6DD84B5C776FB9182BDB",  // http://crbug.com/234235
261       "307E96539209F95A1A8740C713E6998A73657D96",  // http://crbug.com/329690
262       "11B478CEC461C766A2DC1E5BEEB7970AE06DC9C2",  // http://crbug.com/380890
263       "0EFB879311E9EFBB7C45251F89EC655711B1F6ED",  // http://crbug.com/380890
264       "9193D3A51E2FE33B496CDA53EA330423166E7F02",  // http://crbug.com/380890
265       "F9119B8B18C7C82B51E7BC6FF816B694F2EC3E89",  // http://crbug.com/380890
266       "63ED55E43214C211F82122ED56407FF1A807F2A3",  // Dev
267       "FA01E0B81978950F2BC5A50512FD769725F57510",  // Beta
268       "B11A93E7E5B541F8010245EBDE2C74647D6C14B9",  // Canary
269       "F155646B5D1CA545F7E1E4E20D573DFDD44C2540",  // Google Cast Beta
270       "16CA7A47AAE4BE49B1E75A6B960C3875E945B264",  // Google Cast Stable
271       "7AE714FFD394E073F0294CFA134C9F91DB5FBAA4",  // CCD Development
272       "C7DA3A55C2355F994D3FDDAD120B426A0DF63843",  // CCD Testing
273       "75E3CFFFC530582C583E4690EF97C70B9C8423B7",  // CCD Release
274       "4F25792AF1AA7483936DE29C07806F203C7170A0",  // http://crbug.com/407693
275       "BD8781D757D830FC2E85470A1B6E8A718B7EE0D9",  // http://crbug.com/407693
276       "4AC2B6C63C6480D150DFDA13E4A5956EB1D0DDBB",  // http://crbug.com/407693
277       "81986D4F846CEDDDB962643FA501D1780DD441BB"   // http://crbug.com/407693
278     ]
279   },
280   "power": {
281     "channel": "stable",
282     "extension_types": [ "extension", "legacy_packaged_app", "platform_app" ]
283   },
284   "printerProvider": {
285     "channel": "stable",
286     "extension_types": ["extension", "platform_app" ]
287   },
288   // Note: runtime is not actually a permission, but some systems check these
289   // values to verify restrictions.
290   "runtime": {
291     "channel": "stable",
292     "extension_types": ["extension", "legacy_packaged_app", "platform_app"]
293   },
294   "serial": {
295     "channel": "stable",
296     "extension_types": ["platform_app"]
297   },
298   "socket": [
299     {
300       "channel": "stable",
301       "extension_types": ["platform_app"]
302     },
303     {
304       "channel": "stable",
305       "extension_types": ["extension"],
306       "whitelist": [
307         // The connectivity diagnostic utility is a component extension that is
308         // used to try to provide suggestions on how to fix connection issues.
309         // It should be the only non-app allowed to use the socket API.
310         "32A1BA997F8AB8DE29ED1BA94AAF00CF2A3FEFA7"
311       ]
312     }
313   ],
314   "storage": {
315     "channel": "stable",
316     "extension_types": ["extension", "legacy_packaged_app", "platform_app"],
317     "min_manifest_version": 2
318   },
319   "system.cpu": [
320     {
321       "channel": "stable",
322       "extension_types": ["extension", "legacy_packaged_app", "platform_app"]
323     },
324     {
325       "channel": "stable",
326       "extension_types": ["hosted_app"],
327       "whitelist": ["B44D08FD98F1523ED5837D78D0A606EA9D6206E5"]  // Web Store
328     }
329   ],
330   "system.memory": [
331     {
332       "channel": "stable",
333       "extension_types": ["extension", "legacy_packaged_app", "platform_app"]
334     },
335     {
336       "channel": "stable",
337       "extension_types": ["hosted_app"],
338       "whitelist": ["B44D08FD98F1523ED5837D78D0A606EA9D6206E5"]  // Web Store
339     }
340   ],
341   "system.network": [
342     {
343       "channel": "stable",
344       "extension_types": ["platform_app"]
345     },
346     {
347       "channel": "stable",
348       "extension_types": ["hosted_app"],
349       "whitelist": ["B44D08FD98F1523ED5837D78D0A606EA9D6206E5"]  // Web Store
350     }
351   ],
352   "system.storage": [
353     {
354       "channel": "stable",
355       "extension_types": ["extension", "legacy_packaged_app", "platform_app"]
356     },
357     {
358       "channel": "stable",
359       "extension_types": ["hosted_app"],
360       "whitelist": ["B44D08FD98F1523ED5837D78D0A606EA9D6206E5"]  // Web Store
361     }
362   ],
363   "system.display": [
364     {
365       "channel": "stable",
366       "extension_types": ["extension", "legacy_packaged_app", "platform_app"]
367     },
368     {
369       "channel": "stable",
370       "extension_types": ["hosted_app"],
371       "whitelist": ["B44D08FD98F1523ED5837D78D0A606EA9D6206E5"]  // Web Store
372     }
373   ],
374   "u2fDevices": [
375     {
376       "channel": "stable",
377       "extension_types": ["extension", "platform_app"],
378       "whitelist": [
379         "496B6890097EB6E19809ADEADD095A8721FBB2E0",  // FIDO U2F APIs
380         "AD8ED80B705E1818AAD4684F9FF62B43D6D79620",  // FIDO U2F APIs (dev)
381         "E24F1786D842E91E74C27929B0B3715A4689A473",  // CryptoToken
382         "A28C9619C4C41306FA5236FB4D94DA812F504DE8",  // CryptoToken (dev)
383         "6F9E349A0561C78A0D3F41496FE521C5151C7F71",  // Security Key
384         "C06709A259378015404ED20F75C7D08547E0F10B"   // Security Key (dev)
385       ]
386     }
387   ],
388   "unlimitedStorage": {
389     "channel": "stable",
390     "extension_types": [
391       "extension", "legacy_packaged_app", "hosted_app", "platform_app"
392     ]
393   },
394   "usb": [
395     {
396       "channel": "stable",
397       "extension_types": ["platform_app"]
398     },
399     {
400       "channel": "stable",
401       "extension_types": ["extension"],
402       "whitelist": [
403         "496B6890097EB6E19809ADEADD095A8721FBB2E0",  // FIDO U2F APIs
404         "AD8ED80B705E1818AAD4684F9FF62B43D6D79620",  // FIDO U2F APIs (dev)
405         "E24F1786D842E91E74C27929B0B3715A4689A473",  // CryptoToken
406         "A28C9619C4C41306FA5236FB4D94DA812F504DE8"   // CryptoToken (dev)
407       ]
408     }
409   ],
410   "usbDevices": [
411     {
412       "channel": "stable",
413       "extension_types": ["platform_app"]
414     },
415     {
416       "channel": "stable",
417       "extension_types": ["extension"],
418       "whitelist": [
419         "496B6890097EB6E19809ADEADD095A8721FBB2E0",  // FIDO U2F APIs
420         "AD8ED80B705E1818AAD4684F9FF62B43D6D79620",  // FIDO U2F APIs (dev)
421         "E24F1786D842E91E74C27929B0B3715A4689A473",  // CryptoToken
422         "A28C9619C4C41306FA5236FB4D94DA812F504DE8"   // CryptoToken (dev)
423       ]
424     }
425   ],
426   "videoCapture": [
427     {
428       "channel": "stable",
429       "extension_types": ["platform_app"]
430     },
431     {
432       "channel": "stable",
433       "extension_types": ["extension"],
434       "whitelist": [
435         // http://crbug.com/292856
436         "A434B90223C3C52F2B69DB494736B63C612C774D"
437       ]
438     }
439   ],
440   "virtualKeyboardPrivate": {
441     "channel": "stable",
442     "extension_types": ["extension", "platform_app"],
443     "platforms": ["chromeos"],
444     "whitelist": [
445       "3F50C3A83839D9C76334BCE81CDEC06174F266AF",  // System-level virtual kbd
446       "06BE211D5F014BAB34BC22D9DDA09C63A81D828E",  // Official XKB virtual kbd
447       "CFBF7EE448FA48960FFDA7CEB30F7A21B26AA981",  // Official m17n virtual kbd
448       "F94EE6AB36D6C6588670B2B01EB65212D9C64E33",  // Public XKB virtual kbd
449       "3E03D9B67FDD31B2438D1CF5070573415DCB3CBA",  // Public m17n virtual kbd
450       "E703483CEF33DEC18B4B6DD84B5C776FB9182BDB",  // Stable external hotrod app
451       "A3BC37E2148AC4E99BE4B16AF9D42DD1E592BBBE",  // Beta external hotrod app
452       "1C93BD3CF875F4A73C0B2A163BB8FBDA8B8B3D80",  // Alpha external hotrod app
453       "307E96539209F95A1A8740C713E6998A73657D96",  // Dev external hotrod app
454       "4F25792AF1AA7483936DE29C07806F203C7170A0",  // Stable internal hotrod app
455       "BD8781D757D830FC2E85470A1B6E8A718B7EE0D9",  // Beta internal hotrod app
456       "4AC2B6C63C6480D150DFDA13E4A5956EB1D0DDBB",  // Alpha external hotrod app
457       "81986D4F846CEDDDB962643FA501D1780DD441BB"   // Dev external hotrod app
458     ]
459   },
460   "vpnProvider": {
461     "channel": "stable",
462     "extension_types": ["extension", "platform_app"],
463     "platforms": ["chromeos"]
464   },
465   "webview": [{
466     "channel": "stable",
467     "extension_types": ["platform_app"]
468   }, {
469     "channel": "stable",
470     "extension_types": ["extension"],
471     "whitelist": [
472       "16CA7A47AAE4BE49B1E75A6B960C3875E945B264",  // http://crbug.com/500075
473       "F155646B5D1CA545F7E1E4E20D573DFDD44C2540",  // http://crbug.com/500075
474       "FA01E0B81978950F2BC5A50512FD769725F57510",  // http://crbug.com/500075
475       "B11A93E7E5B541F8010245EBDE2C74647D6C14B9",  // http://crbug.com/500075
476       "63ED55E43214C211F82122ED56407FF1A807F2A3"   // http://crbug.com/500075
477     ]
478   }],
479   "webRequest": {
480     "channel": "stable",
481     "extension_types": ["extension", "legacy_packaged_app"]
482    },
483   "webRequestBlocking": {
484     "channel": "stable",
485     "extension_types": ["extension", "legacy_packaged_app"]
486   }