_permission_features.json revision cedac228d2dd51db4b79ea1e72c7f249408ee061
1// Copyright (c) 2012 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// This features file defines permissions for extension APIs implemented
6// under src/chrome.
7// See extensions/common/features/* to understand this file, in particular
8// feature.h, simple_feature.h, and base_feature_provider.h.
9
10// To add a new whitelisted ID, SHA-1 it and force it to uppercase. In Bash:
11//
12// $ echo -n "aaaabbbbccccddddeeeeffffgggghhhh" | \
13// sha1sum | tr '[:lower:]' '[:upper:]'
14// 9A0417016F345C934A1A88F55CA17C05014EEEBA  -
15//
16// Google employees: please update http://go/chrome-api-whitelist to map
17// hashes back to ids.
18
19// If you add a new platform_app permission please update the "stubs_app" test:
20// chrome/test/data/extensions/api_test/stubs_app/manifest.json
21
22{
23  "accessibilityFeatures.modify": {
24    "channel": "dev",
25    "extension_types": ["extension", "platform_app"]
26  },
27  "accessibilityFeatures.read": {
28    "channel": "dev",
29    "extension_types": ["extension", "platform_app"]
30  },
31  "accessibilityPrivate": {
32    "channel": "stable",
33    "extension_types": ["extension", "legacy_packaged_app", "platform_app"],
34    "whitelist": [ "2FCBCE08B34CCA1728A85F1EFBD9A34DD2558B2E" ]
35  },
36  "activeTab": {
37    "channel": "stable",
38    "extension_types": ["extension", "legacy_packaged_app"],
39    "min_manifest_version": 2
40  },
41  "activityLogPrivate": {
42    "channel": "stable",
43    "extension_types": ["extension", "platform_app"],
44    "whitelist": [
45      "EE17C698905F7F2E6DDC87C9C30F11E164C829F4",  // Watchdog release
46      "90113DA9516526D24DAF156C629CC41C049E8882",  // Watchdog testing
47      "A9EFD71948A480C87D3B7C758FD938215F445F00",   // Obsolete
48      "AE27D69DBE571F4B1694F05C89B710C646792231", // Published ADT.
49      "5107DE9024C329EEA9C9A72D94C16723790C6422"  // Apps Developer Tool Dev.
50    ]
51  },
52  "adview": {
53    "channel": "dev",
54    "extension_types": ["platform_app"]
55  },
56  "alarms": {
57    "channel": "stable",
58    "extension_types": ["extension", "legacy_packaged_app", "platform_app"],
59    "min_manifest_version": 2
60  },
61  "app.window.alwaysOnTop": {
62    "channel": "stable",
63    "extension_types": ["platform_app"]
64  },
65  "app.window.fullscreen": {
66    "channel": "stable",
67    "extension_types": ["platform_app"]
68  },
69  "app.window.fullscreen.overrideEsc": {
70    "channel": "stable",
71    "extension_types": ["platform_app"]
72  },
73  "app.window.shape": [
74    {
75      "channel": "beta",
76      "extension_types": ["platform_app"]
77    },
78    {
79      "channel": "stable",
80      "extension_types": ["platform_app"],
81      "whitelist": [
82        "0F42756099D914A026DADFA182871C015735DD95",  // http://crbug.com/323773
83        "2D22CDB6583FD0A13758AEBE8B15E45208B4E9A7",
84        "E7E2461CE072DF036CF9592740196159E2D7C089",  // http://crbug.com/356200
85        "A74A4D44C7CFCD8844830E6140C8D763E12DD8F3",
86        "312745D9BF916161191143F6490085EEA0434997",
87        "53041A2FA309EECED01FFC751E7399186E860B2C",
88        "EBA908206905323CECE6DC4B276A58A0F4AC573F",
89        "2775E568AC98F9578791F1EAB65A1BF5F8CEF414",
90        "4AA3C5D69A4AECBD236CAD7884502209F0F5C169",
91        "E410CDAB2C6E6DD408D731016CECF2444000A912",
92        "9E930B2B5EABA6243AE6C710F126E54688E8FAF6",
93        "FAFE8EFDD2D6AE2EEB277AFEB91C870C79064D9E",  // http://crbug.com/327507
94        "3B52D273A271D4E2348233E322426DBAE854B567",
95        "5DF6ADC8708DF59FCFDDBF16AFBFB451380C2059",
96        "1037DEF5F6B06EA46153AD87B6C5C37440E3F2D1",
97        "F5815DAFEB8C53B078DD1853B2059E087C42F139",
98        "6A08EFFF9C16E090D6DCC7EC55A01CADAE840513",
99        "C32D6D93E12F5401DAA3A723E0C3CC5F25429BA4",  // http://crbug.com/354258
100        "9099782647D39C778E15C8C6E0D23C88F5CDE170",
101        "B7D5B52D1E5B106288BD7F278CAFA5E8D76108B0",
102        "89349DBAA2C4022FB244AA50182AB60934EB41EE",
103        "CB593E510640572A995CB1B6D41BD85ED51E63F8",
104        "1AD1AC86C87969CD3434FA08D99DBA6840AEA612",
105        "9C2EA21D7975BDF2B3C01C3A454EE44854067A6D",
106        "D2C488C80C3C90C3E01A991112A05E37831E17D0",
107        "6EEC061C0E74B46C7B5BE2EEFA49436368F4988F",
108        "8B344D9E8A4C505EF82A0DBBC25B8BD1F984E777",
109        "E06AFCB1EB0EFD237824CC4AC8FDD3D43E8BC868"
110      ]
111    }
112  ],
113  "audio": [
114    {
115      "channel": "dev",
116      "extension_types": ["platform_app"]
117    },
118    {
119      "channel": "stable",
120      "extension_types": ["platform_app"],
121      "whitelist": [
122        "8C3741E3AF0B93B6E8E0DDD499BB0B74839EA578",
123        "E703483CEF33DEC18B4B6DD84B5C776FB9182BDB",
124        "A3BC37E2148AC4E99BE4B16AF9D42DD1E592BBBE",  // http://crbug.com/335729
125        "1C93BD3CF875F4A73C0B2A163BB8FBDA8B8B3D80",  // http://crbug.com/335729
126        "307E96539209F95A1A8740C713E6998A73657D96"   // http://crbug.com/335729
127      ]
128    }
129  ],
130  "autotestPrivate": {
131    "channel": "stable",
132    "extension_types": ["extension", "legacy_packaged_app"],
133    "location": "component"
134  },
135  "audioCapture": [
136    {
137      "channel": "stable",
138      "extension_types": ["platform_app"]
139    },
140    {
141      "channel": "stable",
142      "extension_types": ["extension"],
143      "whitelist": [
144        // http://crbug.com/292856
145        "3F50C3A83839D9C76334BCE81CDEC06174F266AF",
146        "09FDCB5851B8F3378DB630D06E316076E89C95A6",
147        "39BE69F11F68E4EED080DA3DC2394F7885B7AFF9",
148        "FF78670081967CE21DB86A04AD94A0498F01E20A"
149      ]
150    }
151  ],
152  "background": [
153    {
154      "channel": "stable",
155      "extension_types": [
156        "extension", "legacy_packaged_app", "hosted_app"
157      ]
158    },
159    {
160      "channel": "stable",
161      "extension_types": ["platform_app"],
162      "whitelist": [
163        "5B5DA6D054D10DB917AF7D9EAE3C56044D1B0B03",  // http://crbug.com/286542
164        "2843C1E82A9B6C6FB49308FDDF4E157B6B44BC2B",  // http://crbug.com/286542
165        "3F596D221126DCDFD115CFAA2E5A3141806358AD",  // http://crbug.com/286542
166        "F7FA7ABC1ECB89BA8EE6656847EFABBF43BB9BCA",  // http://crbug.com/320952
167        "4B1D0E19C6C43C008C44A8278C8B5BFE15ABEB3C",  // http://crbug.com/320952
168        "4FE45FA56EF6A25FDE8C302C44045CA9CE8A605A"   // http://crbug.com/320952
169      ]
170    }
171  ],
172  "bluetoothPrivate": {
173    "channel": "stable",
174    "extension_types": ["platform_app"],
175    "location": "component"
176  },
177  "bookmarkManagerPrivate": {
178    "channel": "stable",
179    "extension_types": ["extension", "legacy_packaged_app"],
180    "whitelist": [
181      "CB2E4E7174A398FCB3AFA6840500C2E1D22DA7B2", // Bookmark Manager
182      "D5736E4B5CF695CB93A2FB57E4FDC6E5AFAB6FE2", // http://crbug.com/312900
183      "D57DE394F36DC1C3220E7604C575D29C51A6C495", // http://crbug.com/319444
184      "3F65507A3B39259B38C8173C6FFA3D12DF64CCE9"  // http://crbug.com/371562
185    ]
186  },
187  "bookmarks": {
188    "channel": "stable",
189    "extension_types": ["extension", "legacy_packaged_app"]
190  },
191  "brailleDisplayPrivate": {
192    "channel": "stable",
193    "extension_types": ["extension", "legacy_packaged_app", "platform_app"],
194    "location": "component"
195  },
196  "browser": {
197    "channel": "dev",
198    "extension_types": ["platform_app"]
199  },
200  "browsingData": {
201    "channel": "stable",
202    "extension_types": ["extension", "legacy_packaged_app"]
203  },
204  "cast": {
205    "channel": "stable",
206    "extension_types": ["extension", "legacy_packaged_app", "platform_app"],
207    "whitelist": [
208      "63ED55E43214C211F82122ED56407FF1A807F2A3",  // Dev
209      "FA01E0B81978950F2BC5A50512FD769725F57510",  // Beta
210      "B11A93E7E5B541F8010245EBDE2C74647D6C14B9",  // Canary
211      "F155646B5D1CA545F7E1E4E20D573DFDD44C2540",  // Google Cast Beta
212      "16CA7A47AAE4BE49B1E75A6B960C3875E945B264"   // Google Cast Stable
213    ]
214  },
215  "cast.streaming": [{
216    "channel": "dev",
217    "extension_types": ["extension"]
218  }, {
219    "channel": "stable",
220    "extension_types": ["extension"],
221    "whitelist": [
222      "63ED55E43214C211F82122ED56407FF1A807F2A3",  // Dev
223      "FA01E0B81978950F2BC5A50512FD769725F57510",  // Beta
224      "B11A93E7E5B541F8010245EBDE2C74647D6C14B9",  // Canary
225      "F155646B5D1CA545F7E1E4E20D573DFDD44C2540",  // Google Cast Beta
226      "16CA7A47AAE4BE49B1E75A6B960C3875E945B264"   // Google Cast Stable
227    ]
228  }],
229  "chromePrivate": {
230    "channel": "stable",
231    "extension_types": ["extension", "legacy_packaged_app"],
232    "whitelist": [
233      "2462D64ACB971A7E708757159C2B17761D4FF54A",  // Citrix Receiver
234      "3010EF507AFEF487EEA9CDE2930EC94867C60936",  // Citrix Receiver Beta
235      "ABAABC5F49E022A76CBB12972A53B58354C04AC6"   // Citrix Receiver Dev
236    ]
237  },
238  "chromeosInfoPrivate": {
239    "channel": "stable",
240    "extension_types": ["extension", "legacy_packaged_app", "platform_app"],
241    "whitelist": [
242      "1C93BD3CF875F4A73C0B2A163BB8FBDA8B8B3D80",  // http://crbug.com/293683
243      "A3BC37E2148AC4E99BE4B16AF9D42DD1E592BBBE",  // http://crbug.com/293683
244      "8C3741E3AF0B93B6E8E0DDD499BB0B74839EA578",  // http://crbug.com/234235
245      "E703483CEF33DEC18B4B6DD84B5C776FB9182BDB",  // http://crbug.com/234235
246      "307E96539209F95A1A8740C713E6998A73657D96",  // http://crbug.com/329690
247      "A291B26E088FA6BA53FFD72F0916F06EBA7C585A",  // http://crbug.com/341258
248      "D7986543275120831B39EF28D1327552FC343960",  // http://crbug.com/329088
249      // http://crbug.com/343701
250      // TODO(tbarzic): Remove the following six when http://crbug.com/346572
251      // gets fixed.
252      "63ED55E43214C211F82122ED56407FF1A807F2A3",  // Dev
253      "FA01E0B81978950F2BC5A50512FD769725F57510",  // Beta
254      "B11A93E7E5B541F8010245EBDE2C74647D6C14B9",  // Canary
255      "F155646B5D1CA545F7E1E4E20D573DFDD44C2540",  // Google Cast Beta
256      "16CA7A47AAE4BE49B1E75A6B960C3875E945B264"   // Google Cast Stable
257    ]
258  },
259  "clipboardRead": {
260    "channel": "stable",
261    "extension_types": [
262      "extension", "legacy_packaged_app", "hosted_app", "platform_app"
263    ]
264  },
265  "clipboardWrite": {
266    "channel": "stable",
267    "extension_types": [
268      "extension", "legacy_packaged_app", "hosted_app", "platform_app"
269    ]
270  },
271  "cloudPrintPrivate": {
272    "channel": "stable",
273    "extension_types": ["extension", "legacy_packaged_app", "hosted_app"],
274    // CloudPrint
275    "whitelist": ["99060B01DE911EB85FD630C8BA6320C9186CA3AB"]
276  },
277  "commandLinePrivate": {
278    "channel": "stable",
279    "extension_types": ["extension", "legacy_packaged_app", "platform_app"],
280    "location": "component"
281  },
282  "contentSettings": {
283    "channel": "stable",
284    "extension_types": ["extension", "legacy_packaged_app"]
285  },
286  "contextMenus": {
287    "channel": "stable",
288    "extension_types": ["extension", "legacy_packaged_app", "platform_app"]
289  },
290  "cookies": {
291    "channel": "stable",
292    "extension_types": ["extension", "legacy_packaged_app"]
293  },
294  "diagnostics": [
295    {
296      "channel": "dev",
297      "extension_types": ["platform_app"]
298    },
299    {
300      "channel": "stable",
301      "extension_types": ["platform_app"],
302      "whitelist": [
303        "7AE714FFD394E073F0294CFA134C9F91DB5FBAA4",  // CCD Development
304        "C7DA3A55C2355F994D3FDDAD120B426A0DF63843",  // CCD Testing
305        "75E3CFFFC530582C583E4690EF97C70B9C8423B7"   // CCD Release
306      ]
307    }
308  ],
309  "debugger": [
310    {
311      "channel": "stable",
312      "extension_types": ["extension", "legacy_packaged_app"]
313    },
314    {
315      "channel": "stable",
316      "extension_types": ["platform_app"],
317      "whitelist": [
318        "AE27D69DBE571F4B1694F05C89B710C646792231", // Published ADT.
319        // TODO(grv): clean up once Apps developer tool is published.
320        "5107DE9024C329EEA9C9A72D94C16723790C6422"  // Apps Developer Tool.
321      ]
322    }
323  ],
324  "developerPrivate": {
325    "channel": "stable",
326    "extension_types": ["platform_app"],
327    "whitelist": [
328        "AE27D69DBE571F4B1694F05C89B710C646792231", // Published ADT.
329        // TODO(grv): clean up once Apps developer tool is published.
330        "5107DE9024C329EEA9C9A72D94C16723790C6422",  // Apps Developer Tool.
331        "8C0B1873FFFB65E4D0F4D772879F7304CEF125C2",  // Apps Editor old.
332        // TODO(grv) : clean up once after publish.
333        "FA0501B579070BB9CBD4FCAEC8CB0EDF22BA2F04", // Apps Editor published.
334        "4A4EA121622FCA3D78ED2AB534197F43D7189EE0", // Spark nightly build
335        "9FDE6E7F06FCFA11D9A05041C7FF6D8AE662F5D1"  // Spark release
336    ]
337  },
338  "devtools": {
339    "channel": "stable",
340    "extension_types": ["extension", "legacy_packaged_app"]
341  },
342  "declarativeContent": {
343    "channel": "stable",
344    "extension_types": ["extension"]
345  },
346  "declarativeWebRequest": [
347    {
348      "channel": "beta",
349      "extension_types": ["extension", "legacy_packaged_app"]
350    }
351  ],
352  "desktopCapture": {
353    "channel": "stable",
354    "extension_types": ["extension", "platform_app"]
355  },
356  "downloads": {
357    "channel": "stable",
358    "extension_types": ["extension"]
359  },
360  "downloads.open": {
361    "channel": "stable",
362    "extension_types": ["extension"]
363  },
364  "downloads.shelf": {
365    "channel": "stable",
366    "extension_types": ["extension"]
367  },
368  "dial": {
369    "channel": "stable",
370    "extension_types": ["extension"],
371    "whitelist": [
372      "63ED55E43214C211F82122ED56407FF1A807F2A3",  // Dev
373      "FA01E0B81978950F2BC5A50512FD769725F57510",  // Beta
374      "B11A93E7E5B541F8010245EBDE2C74647D6C14B9",  // Canary
375      "F155646B5D1CA545F7E1E4E20D573DFDD44C2540",  // Google Cast Beta
376      "16CA7A47AAE4BE49B1E75A6B960C3875E945B264"   // Google Cast Stable
377    ]
378  },
379  "enterprise.platformKeys": {
380    "channel": "dev",
381    "platforms": ["chromeos"],
382    "extension_types": ["extension", "legacy_packaged_app"],
383    "location": "policy"
384  },
385  "enterprise.platformKeysPrivate": {
386    "channel": "stable",
387    "extension_types": ["extension", "legacy_packaged_app"],
388    "whitelist": [
389      "657FEC7E77355CA205B0E226586621F86B33F611",  // Dogfood
390      "5894126C625EF31852F215ED301A5FF1F9B7D026"   // Test
391    ]
392  },
393  "experimental": {
394    "channel": "stable",
395    "extension_types": [
396      "extension", "legacy_packaged_app", "hosted_app", "platform_app"
397    ]
398  },
399  "feedbackPrivate": {
400    "channel": "stable",
401    "extension_types": ["extension", "platform_app"],
402    "whitelist": [
403      "7910EAFDAF64B947E1CB31B333A9BD14CA556B6C",  // Feedback UI.
404      "1C93BD3CF875F4A73C0B2A163BB8FBDA8B8B3D80",  // http://crbug.com/293683
405      "A3BC37E2148AC4E99BE4B16AF9D42DD1E592BBBE",  // http://crbug.com/293683
406      "8C3741E3AF0B93B6E8E0DDD499BB0B74839EA578",  // http://crbug.com/234235
407      "E703483CEF33DEC18B4B6DD84B5C776FB9182BDB",  // http://crbug.com/234235
408      "307E96539209F95A1A8740C713E6998A73657D96"   // http://crbug.com/329690
409    ]
410  },
411  "fileBrowserHandler": {
412    "channel": "stable",
413    "extension_types": ["extension", "legacy_packaged_app", "platform_app"]
414  },
415  "fileBrowserPrivate": {
416    "channel": "stable",
417    "extension_types": ["extension", "legacy_packaged_app", "platform_app"],
418    "location": "component"
419  },
420  "fileSystem": [{
421    "channel": "stable",
422    "extension_types": ["platform_app"]
423  },{
424    "channel": "stable",
425    "extension_types": ["extension"],
426    "whitelist": [
427      "2FC374607C2DF285634B67C64A2E356C607091C3",  // Quickoffice
428      "3727DD3E564B6055387425027AD74C58784ACC15",  // Quickoffice internal
429      "12E618C3C6E97495AAECF2AC12DEB082353241C6",  // QO component extension
430      "D5736E4B5CF695CB93A2FB57E4FDC6E5AFAB6FE2",  // http://crbug.com/312900
431      "D57DE394F36DC1C3220E7604C575D29C51A6C495",  // http://crbug.com/319444
432      "3F65507A3B39259B38C8173C6FFA3D12DF64CCE9"   // http://crbug.com/371562
433    ]
434  }],
435  "fileSystem.directory": [{
436    "channel": "stable",
437    "extension_types": ["platform_app"]
438  }],
439  "fileSystem.retainEntries": [{
440    "channel": "stable",
441    "extension_types": ["platform_app"]
442  }],
443  "fileSystem.write": [{
444    "channel": "stable",
445    "extension_types": ["platform_app"]
446  },{
447    "channel": "stable",
448    "extension_types": ["extension"],
449    "whitelist": [
450      "2FC374607C2DF285634B67C64A2E356C607091C3",  // Quickoffice
451      "3727DD3E564B6055387425027AD74C58784ACC15",  // Quickoffice internal
452      "12E618C3C6E97495AAECF2AC12DEB082353241C6",  // QO component extension
453      "D5736E4B5CF695CB93A2FB57E4FDC6E5AFAB6FE2",  // http://crbug.com/312900
454      "D57DE394F36DC1C3220E7604C575D29C51A6C495",  // http://crbug.com/319444
455      "3F65507A3B39259B38C8173C6FFA3D12DF64CCE9"   // http://crbug.com/371562
456    ]
457  }],
458  "fileSystemProvider": {
459    "channel": "trunk",
460    "extension_types": ["platform_app"]
461  },
462  "firstRunPrivate": {
463    "channel": "stable",
464    "extension_types": ["platform_app"],
465    "location": "component"
466  },
467  "fontSettings": {
468    "channel": "stable",
469    "extension_types": ["extension", "legacy_packaged_app"]
470  },
471  "gcm": {
472    "channel": "stable",
473    "extension_types": ["extension", "platform_app"]
474  },
475  "geolocation": {
476    "channel": "stable",
477    "extension_types": [
478      "extension", "legacy_packaged_app", "hosted_app", "platform_app"
479    ]
480  },
481  "hid": [
482    {
483      "channel": "dev",
484      "extension_types": ["platform_app"]
485    },
486    {
487      "channel": "stable",
488      "extension_types": ["extension"],
489      "whitelist": [
490        "496B6890097EB6E19809ADEADD095A8721FBB2E0",  // FIDO U2F APIs
491        "E24F1786D842E91E74C27929B0B3715A4689A473"   // CryptoToken
492      ]
493    }
494  ],
495  "history": {
496    "channel": "stable",
497    "extension_types": ["extension", "legacy_packaged_app"]
498  },
499  "hotwordPrivate": {
500    "channel": "stable",
501    "extension_types": ["extension"],
502    "whitelist": [
503      "8CE39F175D076AD6BDF7CBF418F2409558B367E3",  // hotword_helper
504      "09FDCB5851B8F3378DB630D06E316076E89C95A6"   // hotword nacl
505    ]
506  },
507  "identity": {
508    "channel": "stable",
509    "extension_types": ["extension", "platform_app"]
510  },
511  "identityPrivate": {
512    "channel": "stable",
513    "extension_types": [
514      "legacy_packaged_app", "platform_app"
515    ],
516    "location": "component"
517  },
518  "idltest": {
519    "channel": "trunk",
520    "extension_types": ["extension"]
521  },
522  "idle": {
523    "channel": "stable",
524    "extension_types": ["extension", "legacy_packaged_app", "platform_app"]
525  },
526  "infobars": {
527    "channel": "dev",
528    "extension_types": ["extension", "legacy_packaged_app", "platform_app"]
529  },
530  "input": {
531    "channel": "stable",
532    "extension_types": ["extension", "legacy_packaged_app"],
533    "inplies_full_url_access": true
534  },
535  "inputMethodPrivate": [{
536    "channel": "stable",
537    "extension_types": ["extension", "legacy_packaged_app", "platform_app"],
538    "whitelist": [
539      "2462D64ACB971A7E708757159C2B17761D4FF54A",  // Citrix Receiver
540      "3010EF507AFEF487EEA9CDE2930EC94867C60936",  // Citrix Receiver Beta
541      "ABAABC5F49E022A76CBB12972A53B58354C04AC6",  // Citrix Receiver Dev
542      "0EA6B717932AD64C469C1CCB6911457733295907",  // HTerm
543      "58B0C2968C335964D5433E89CA4D86628A0E3D4B"   // HTerm dev
544    ]
545  },{
546    "channel": "stable",
547    "extension_types": ["extension", "legacy_packaged_app", "platform_app"],
548    "location": "component"
549  }],
550  "ledger": {
551    "channel": "trunk",
552    "extension_types": ["extension", "platform_app"]
553  },
554  "location": [
555    {
556      "channel": "dev",
557      "extension_types": [
558        "extension", "legacy_packaged_app", "platform_app"
559      ]
560    },
561    {
562      "channel": "stable",
563      "extension_types": [
564        "extension", "legacy_packaged_app", "hosted_app", "platform_app"
565      ],
566      "location": "component"
567    }
568  ],
569  "logPrivate": {
570    "channel": "dev",
571    "extension_types": ["extension", "legacy_packaged_app"],
572    "location": "component"
573  },
574  "webcamPrivate": {
575    "channel": "dev",
576    "extension_types": ["extension", "platform_app"]
577  },
578  "management": [
579    {
580      "channel": "stable",
581      "extension_types": ["extension", "legacy_packaged_app"]
582    },
583    {
584      "channel": "stable",
585      "extension_types": ["platform_app"],
586      "whitelist": [
587        "AE27D69DBE571F4B1694F05C89B710C646792231", // Published ADT
588        // TODO(grv): clean up once Apps developer tool is published.
589        "5107DE9024C329EEA9C9A72D94C16723790C6422",  // Apps Developer Tool.
590        "8C0B1873FFFB65E4D0F4D772879F7304CEF125C2",  // Apps Editor old.
591        "FA0501B579070BB9CBD4FCAEC8CB0EDF22BA2F04",  // Apps Editor published.
592        "EE17C698905F7F2E6DDC87C9C30F11E164C829F4",  // Watchdog (Activity Log)
593        "90113DA9516526D24DAF156C629CC41C049E8882",   // Watchdog Test Version
594        "4A4EA121622FCA3D78ED2AB534197F43D7189EE0", // Spark nightly build
595        "9FDE6E7F06FCFA11D9A05041C7FF6D8AE662F5D1"  // Spark release
596      ]
597    },
598    {
599      "channel": "stable",
600      "extension_types": ["hosted_app"],
601      "whitelist": [
602        "B44D08FD98F1523ED5837D78D0A606EA9D6206E5"  // Web Store
603      ]
604    }
605  ],
606  "mediaGalleries": {
607    "channel": "stable",
608    "extension_types": [ "platform_app" ]
609  },
610  "mediaGalleries.allAutoDetected": {
611    "channel": "stable",
612    "extension_types": [ "platform_app" ]
613  },
614  "mediaGalleries.scan": {
615    "channel": "dev",
616    "extension_types": [ "platform_app" ]
617  },
618  "mediaGalleries.read": {
619    "channel": "stable",
620    "extension_types": [ "platform_app" ]
621  },
622  "mediaGalleries.copyTo": {
623    "channel": "stable",
624    "extension_types": [ "platform_app" ]
625  },
626  "mediaGalleries.delete": {
627    "channel": "stable",
628    "extension_types": [ "platform_app" ]
629  },
630  // TODO(thestig) Remove this as part of http://crbug.com/166950
631  "mediaGalleriesPrivate": {
632    "channel": "stable",
633    "extension_types": [ "platform_app" ],
634    "whitelist": [
635      "4B1D0E19C6C43C008C44A8278C8B5BFE15ABEB3C",
636      "F7FA7ABC1ECB89BA8EE6656847EFABBF43BB9BCA",
637      "4FE45FA56EF6A25FDE8C302C44045CA9CE8A605A"
638    ]
639  },
640  "mediaPlayerPrivate": {
641    "channel": "stable",
642    "extension_types": ["extension", "legacy_packaged_app", "platform_app"],
643    "location": "component"
644  },
645  "metricsPrivate": {
646    "channel": "stable",
647    "extension_types": ["extension", "legacy_packaged_app", "platform_app"],
648    "whitelist": [
649      // The file manager and Google Now are component extensions, and they can
650      // currently use whitelisted interfaces without being on the corresponding
651      // whitelist.
652      // Adding it to this whitelist documents their dependency, however, and
653      // also doesn't hurt anything.
654      "A948368FC53BE437A55FEB414106E207925482F5",  // File manager
655      "2FC374607C2DF285634B67C64A2E356C607091C3",  // Quickoffice
656      "3727DD3E564B6055387425027AD74C58784ACC15",  // Quickoffice internal
657      "12E618C3C6E97495AAECF2AC12DEB082353241C6",  // QO component extension
658      "3727DD3E564B6055387425027AD74C58784ACC15",  // Editor
659      "C41AD9DCD670210295614257EF8C9945AD68D86E",  // Google Now
660      "6EEEA7775E79C735E4BA1F24DBB191BDACB1262C",  // RU-NTP
661      "7AE714FFD394E073F0294CFA134C9F91DB5FBAA4",  // CCD Development
662      "C7DA3A55C2355F994D3FDDAD120B426A0DF63843",  // CCD Testing
663      "75E3CFFFC530582C583E4690EF97C70B9C8423B7",  // CCD Release
664      "D5736E4B5CF695CB93A2FB57E4FDC6E5AFAB6FE2",  // http://crbug.com/312900.
665      "D57DE394F36DC1C3220E7604C575D29C51A6C495",  // http://crbug.com/319444.
666      "3F65507A3B39259B38C8173C6FFA3D12DF64CCE9",  // http://crbug.com/371562.
667      "06BE211D5F014BAB34BC22D9DDA09C63A81D828E",  // Official XKB virtual kbd
668      "CFBF7EE448FA48960FFDA7CEB30F7A21B26AA981",  // Official m17n virtual kbd
669      "B9EF10DDFEA11EF77873CC5009809E5037FC4C7A",  // Google input tools
670      "7D7A4B147FE39908A5AF13F85E38989C54BBE41C",  // http://crbug.com/374955
671      "0EEDFC0EED87871237213F34EBC7B4982A195C95",  // http://crbug.com/374955
672      "D2DAA9362153E8A5E3CF593E6DF4666421ABAD21"   // http://crbug.com/374965
673    ]
674  },
675  "mdns": {
676    "channel": "stable",
677    "extension_types": ["extension"],
678    "whitelist": [
679      "63ED55E43214C211F82122ED56407FF1A807F2A3",  // Dev
680      "FA01E0B81978950F2BC5A50512FD769725F57510",  // Beta
681      "B11A93E7E5B541F8010245EBDE2C74647D6C14B9",  // Canary
682      "F155646B5D1CA545F7E1E4E20D573DFDD44C2540",  // Google Cast Beta
683      "16CA7A47AAE4BE49B1E75A6B960C3875E945B264"   // Google Cast Stable
684    ]
685  },
686  "musicManagerPrivate": {
687    "channel": "stable",
688    "extension_types": ["platform_app"],
689    "whitelist": [
690      "4B1D0E19C6C43C008C44A8278C8B5BFE15ABEB3C", // Music Manager
691      "B8F61FD1B25DE03706DBB8906A73261E4DBB992A", // Test
692      "F7FA7ABC1ECB89BA8EE6656847EFABBF43BB9BCA",
693      "4FE45FA56EF6A25FDE8C302C44045CA9CE8A605A"
694    ]
695  },
696  "nativeMessaging": {
697    "channel": "stable",
698    "extension_types": [
699      "extension", "legacy_packaged_app", "platform_app"
700    ]
701  },
702  "networkingPrivate": {
703    "channel": "stable",
704    "extension_types": ["extension", "legacy_packaged_app", "platform_app"],
705    "whitelist": [
706      "1C93BD3CF875F4A73C0B2A163BB8FBDA8B8B3D80",  // http://crbug.com/293683
707      "A3BC37E2148AC4E99BE4B16AF9D42DD1E592BBBE",  // http://crbug.com/293683
708      "8C3741E3AF0B93B6E8E0DDD499BB0B74839EA578",  // http://crbug.com/234235
709      "E703483CEF33DEC18B4B6DD84B5C776FB9182BDB",  // http://crbug.com/234235
710      "307E96539209F95A1A8740C713E6998A73657D96",  // http://crbug.com/329690
711      "63ED55E43214C211F82122ED56407FF1A807F2A3",  // Dev
712      "FA01E0B81978950F2BC5A50512FD769725F57510",  // Beta
713      "B11A93E7E5B541F8010245EBDE2C74647D6C14B9",  // Canary
714      "F155646B5D1CA545F7E1E4E20D573DFDD44C2540",  // Google Cast Beta
715      "16CA7A47AAE4BE49B1E75A6B960C3875E945B264",  // Google Cast Stable
716      "7AE714FFD394E073F0294CFA134C9F91DB5FBAA4",  // CCD Development
717      "C7DA3A55C2355F994D3FDDAD120B426A0DF63843",  // CCD Testing
718      "75E3CFFFC530582C583E4690EF97C70B9C8423B7"   // CCD Release
719    ]
720  },
721  "notifications": {
722    // The chrome.notifications functionality listed in notifications.idl is
723    // available only to extension/platform_app types. The implementation of
724    // that functionality enforces that restriction in
725    // NotificationsApiFunction::IsNotificationsApiAvailable(). This is more
726    // complicated than other namespaces because we are sharing the
727    // notifications permission with WebKit/Blink notifications.
728    "channel": "stable",
729    "extension_types": [
730      "extension", "legacy_packaged_app", "hosted_app", "platform_app"
731    ]
732  },
733  "echoPrivate": {
734    "channel": "stable",
735    "extension_types": ["extension", "legacy_packaged_app", "platform_app"],
736    "location": "component"
737  },
738  "pageCapture": {
739    "channel": "stable",
740    "extension_types": ["extension", "legacy_packaged_app"]
741  },
742  "pointerLock": {
743    "channel": "stable",
744    "extension_types": ["platform_app"]
745  },
746  "plugin": {
747    "channel": "stable",
748    "extension_types": ["extension", "legacy_packaged_app"]
749  },
750  "power": {
751    "channel": "stable",
752    "extension_types": [
753      "extension", "legacy_packaged_app", "platform_app"
754    ]
755  },
756  "preferencesPrivate": {
757    "channel": "stable",
758    "extension_types": [
759      "extension"
760    ],
761    "whitelist": [
762      "C41AD9DCD670210295614257EF8C9945AD68D86E",  // Google Now
763      "D5736E4B5CF695CB93A2FB57E4FDC6E5AFAB6FE2",  // http://crbug.com/312900
764      "D57DE394F36DC1C3220E7604C575D29C51A6C495",  // http://crbug.com/319444
765      "3F65507A3B39259B38C8173C6FFA3D12DF64CCE9"   // http://crbug.com/371562
766    ]
767  },
768  "principalsPrivate": {
769    "channel": "stable",
770    "extension_types": ["extension"],
771    "whitelist": [
772      "2779FA8B45841D61A37207CCFAC9CB393964FE5B"  // Login Proxy (prototype)
773    ]
774  },
775  "privacy": {
776    "channel": "stable",
777    "extension_types": ["extension", "legacy_packaged_app"]
778  },
779  "processes": [{
780    "channel": "dev",
781    "extension_types": ["extension"]
782  }, {
783    "channel": "beta",
784    "extension_types": ["extension"],
785    "whitelist": [
786      "7D7A4B147FE39908A5AF13F85E38989C54BBE41C",  // http://crbug.com/370700
787      "0EEDFC0EED87871237213F34EBC7B4982A195C95"   // http://crbug.com/370700
788    ]
789  }, {
790    "channel": "stable",
791    "extension_types": ["extension"],
792    "whitelist": [
793      "DF84F03F9B960409CCDE0D895B9650EBE81C0A8E",  // Hangout Services
794      "80B9DC58E5210749F052F5B4DB239C50CF72AEB6",  // Hangouts test extension
795      "7D7A4B147FE39908A5AF13F85E38989C54BBE41C",  // http://crbug.com/370700
796      "0EEDFC0EED87871237213F34EBC7B4982A195C95"   // http://crbug.com/370700
797    ]
798  }],
799  "proxy": {
800    "channel": "stable",
801    "extension_types": ["extension", "legacy_packaged_app"]
802  },
803  "pushMessaging": {
804    "channel": "stable",
805    "extension_types": ["extension", "platform_app"]
806  },
807  "imageWriterPrivate": {
808    "channel": "stable",
809    "extension_types": ["platform_app"],
810    "whitelist": [
811      "A291B26E088FA6BA53FFD72F0916F06EBA7C585A", // http://crbug.com/329088
812      "D7986543275120831B39EF28D1327552FC343960", // http://crbug.com/329088
813      "BCC85C0D7F85897F2699974421EA402144C35C0C"  // API Test
814    ]
815  },
816  "readingListPrivate": {
817    "channel": "stable",
818    "extension_types": ["extension"],
819    "whitelist": [
820      "D5736E4B5CF695CB93A2FB57E4FDC6E5AFAB6FE2", // http://crbug.com/312900
821      "D57DE394F36DC1C3220E7604C575D29C51A6C495", // http://crbug.com/319444
822      "3F65507A3B39259B38C8173C6FFA3D12DF64CCE9"  // http://crbug.com/371562
823    ]
824  },
825  "rtcPrivate": {
826    "channel": "stable",
827    "extension_types": ["extension", "legacy_packaged_app"],
828    "whitelist": [
829      "53041A2FA309EECED01FFC751E7399186E860B2C",  // Google Talk prod
830      "A74A4D44C7CFCD8844830E6140C8D763E12DD8F3",  // Google Talk beta
831      "E7E2461CE072DF036CF9592740196159E2D7C089",  // Google Talk alpha
832      "312745D9BF916161191143F6490085EEA0434997"   // Google Talk debug
833    ]
834  },
835  "screenlockPrivate": {
836    "channel": "stable",
837    "extension_types": ["platform_app"],
838    "whitelist": [
839      "lkegkdgachcnekllcdfkijonogckdnjo",  // API test
840      "190C131D270994E7330E9A3CD48224061CB10E2D",  // dogfood 1
841      "7FDDD1C0CB0052596657FDEC92841D509DC8D404",  // dogfood 2
842      "E13990DC5440B6E270503DA27A35762F423725C3"   // dogfood 3
843    ]
844  },
845  "screensaver": {
846    "channel": "stable",
847    "extension_types": ["legacy_packaged_app", "hosted_app", "platform_app"]
848  },
849  "serial": {
850    "channel": "stable",
851    "extension_types": ["platform_app"]
852  },
853  "sessions": {
854    "channel": "dev",
855    "extension_types": ["extension", "legacy_packaged_app"]
856  },
857  "signedInDevices": {
858    "channel": "dev",
859    "extension_types": ["extension", "legacy_packaged_app", "platform_app"]
860  },
861  "streamsPrivate": {
862    "channel": "stable",
863    "extension_types": ["extension", "legacy_packaged_app", "platform_app"],
864    "whitelist": [
865      "787000072C6FBB934AF5A42275CDE73FC977D995",  // browser_tests
866      "2FC374607C2DF285634B67C64A2E356C607091C3",  // QuickOffice
867      "5D3851BEFF680AB6D954B76678EFCCE834465C23",  // QuickOffice Dev
868      "12E618C3C6E97495AAECF2AC12DEB082353241C6",  // QO component extension
869      "3727DD3E564B6055387425027AD74C58784ACC15",  // Editor
870      "CBCC42ABED43A4B58FE3810E62AFFA010EB0349F"   // PDF
871    ]
872  },
873  "syncFileSystem": {
874    "channel": "stable",
875    "extension_types": ["platform_app"]
876  },
877  "syncedNotificationsPrivate": {
878    "channel": "trunk",
879    "extension_types": ["platform_app"]
880  },
881  "system.cpu": {
882    "channel": "stable",
883    "extension_types": ["extension", "legacy_packaged_app", "platform_app"]
884  },
885  "system.memory": {
886    "channel": "stable",
887    "extension_types": ["extension", "legacy_packaged_app", "platform_app"]
888  },
889  "system.network": {
890    "channel": "stable",
891    "extension_types": ["platform_app"]
892  },
893  "system.storage": {
894    "channel": "stable",
895    "extension_types": ["extension", "legacy_packaged_app", "platform_app"]
896  },
897  "system.display": {
898    "channel": "stable",
899    "extension_types": ["extension", "legacy_packaged_app", "platform_app"]
900  },
901  "systemPrivate": {
902    "channel": "stable",
903    "extension_types": ["extension", "legacy_packaged_app"],
904    "location": "component"
905  },
906  "tabs": [
907    {
908      "channel": "stable",
909      "extension_types": ["extension", "legacy_packaged_app"]
910    },
911    {
912      "channel": "stable",
913      "extension_types": ["platform_app"],
914      "whitelist": [
915        "AE27D69DBE571F4B1694F05C89B710C646792231", // Published ADT.
916        // TODO(grv): clean up once Apps developer tool is published.
917        "5107DE9024C329EEA9C9A72D94C16723790C6422"  // Apps Developer Tool.
918      ]
919    }
920  ],
921  "tabCapture": {
922    "channel": "stable",
923    "extension_types": ["extension", "legacy_packaged_app"]
924  },
925  "terminalPrivate": {
926    "channel": "stable",
927    "extension_types": ["extension", "legacy_packaged_app", "platform_app"],
928    "whitelist": [
929      "0EA6B717932AD64C469C1CCB6911457733295907",  // HTerm
930      "58B0C2968C335964D5433E89CA4D86628A0E3D4B"   // HTerm dev
931    ]
932  },
933  "topSites": {
934    "channel": "stable",
935    "extension_types": ["extension", "legacy_packaged_app"]
936  },
937  "tts": {
938    "channel": "stable",
939    "extension_types": ["extension", "legacy_packaged_app", "platform_app"]
940  },
941  "ttsEngine": {
942    "channel": "stable",
943    "extension_types": ["extension", "legacy_packaged_app"]
944  },
945  "unlimitedStorage": {
946    "channel": "stable",
947    "extension_types": [
948      "extension", "legacy_packaged_app", "hosted_app", "platform_app"
949    ]
950  },
951  "videoCapture": [
952    {
953      "channel": "stable",
954      "extension_types": ["platform_app"]
955    },
956    {
957      "channel": "stable",
958      "extension_types": ["extension"],
959      "whitelist": [
960        // http://crbug.com/292856
961        "3F50C3A83839D9C76334BCE81CDEC06174F266AF",
962        "09FDCB5851B8F3378DB630D06E316076E89C95A6",
963        "A434B90223C3C52F2B69DB494736B63C612C774D"
964      ]
965    }
966  ],
967  "virtualKeyboardPrivate": {
968    "channel": "stable",
969    "whitelist": [
970      "3F50C3A83839D9C76334BCE81CDEC06174F266AF",  // System-level virtual kbd
971      "06BE211D5F014BAB34BC22D9DDA09C63A81D828E",  // Official XKB virtual kbd
972      "CFBF7EE448FA48960FFDA7CEB30F7A21B26AA981",  // Official m17n virtual kbd
973      "F94EE6AB36D6C6588670B2B01EB65212D9C64E33",  // Public XKB virtual kbd
974      "3E03D9B67FDD31B2438D1CF5070573415DCB3CBA"  // Public m17n virtual kbd
975    ],
976    "extension_types": ["extension"]
977  },
978  "wallpaper": {
979    "channel": "dev",
980    "extension_types": ["platform_app"]
981  },
982  "wallpaperPrivate": {
983    "channel": "stable",
984    "extension_types": ["platform_app"],
985    "location": "component"
986  },
987  "webNavigation": {
988    "channel": "stable",
989    "extension_types": ["extension", "legacy_packaged_app"]
990  },
991  "webrtcAudioPrivate": {
992    "channel": "stable",
993    "extension_types": ["extension"],
994    "whitelist": [
995      // Hangouts test extension
996      "80B9DC58E5210749F052F5B4DB239C50CF72AEB6",
997      // Hangout Services component extension.
998      "DF84F03F9B960409CCDE0D895B9650EBE81C0A8E",
999      // Extension used for API test.
1000      "ADFA45434ABA2F1A4647E673F53FF37F8F6047A3"
1001    ]
1002  },
1003  "webrtcLoggingPrivate": {
1004    "channel": "stable",
1005    "extension_types": ["extension"],
1006    "whitelist": [
1007      // Hangouts test extension
1008      "80B9DC58E5210749F052F5B4DB239C50CF72AEB6",
1009      // Hangout Services component extension.
1010      "DF84F03F9B960409CCDE0D895B9650EBE81C0A8E"
1011    ]
1012  },
1013  "webstorePrivate": {
1014    "channel": "stable",
1015    "extension_types": ["extension", "legacy_packaged_app", "hosted_app"],
1016    "whitelist": [
1017      "B44D08FD98F1523ED5837D78D0A606EA9D6206E5",  // Web Store
1018      "2653F6F6C39BC6EEBD36A09AFB92A19782FF7EB4",  // Enterprise Web Store
1019      "2779FA8B45841D61A37207CCFAC9CB393964FE5B"   // Login Proxy (prototype)
1020    ]
1021  },
1022  "webRequest": {
1023    "channel": "stable",
1024    "extension_types": ["extension", "legacy_packaged_app"]
1025  },
1026  "webRequestBlocking": {
1027    "channel": "stable",
1028    "extension_types": ["extension", "legacy_packaged_app"]
1029  },
1030  "webview": [{
1031    "channel": "stable",
1032    "extension_types": ["platform_app"]
1033  }, {
1034    // General support for webview in component extensions still in progress.
1035    // Only allowed for whitelisted extensions until all the caveats are
1036    // addressed. Tracked in crbug/285151.
1037    "channel": "stable",
1038    "extension_types": ["extension"],
1039    "location": "component",
1040    "whitelist": [
1041      "D519188F86D9ACCEE0412007B227D9936EB9676B"  // GAIA Component Extension
1042    ]
1043  }]
1044}
1045