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