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 manifest keys implemented under src/chrome.
      6 // See extensions/common/features/* to understand this file, in particular
      7 // feature.h, simple_feature.h, and base_feature_provider.h.
      8 
      9 // To add a new whitelisted ID, SHA-1 it and force it to uppercase. In Bash:
     10 //
     11 // $ echo -n "aaaabbbbccccddddeeeeffffgggghhhh" | \
     12 // sha1sum | tr '[:lower:]' '[:upper:]'
     13 // 9A0417016F345C934A1A88F55CA17C05014EEEBA  -
     14 //
     15 // Google employees: please update http://go/chrome-api-whitelist to map
     16 // hashes back to ids.
     17 
     18 {
     19   "about_page": {
     20     "channel": "stable",
     21     "extension_types": ["shared_module"]
     22   },
     23   "app": {
     24     "channel": "stable",
     25     "extension_types": ["legacy_packaged_app", "hosted_app", "platform_app"]
     26   },
     27   "app.isolation": {
     28     "channel": "stable",
     29     // Platform apps always have isolated storage, thus they cannot specify it
     30     // via the manifest.
     31     "extension_types": ["legacy_packaged_app", "hosted_app"]
     32   },
     33   "app.launch": {
     34     "channel": "stable",
     35     "extension_types": ["legacy_packaged_app", "hosted_app"]
     36   },
     37   "author": {
     38     "channel": "stable",
     39     "extension_types": "all"
     40   },
     41   "automation": {
     42     "channel": "dev",
     43     "extension_types": ["extension", "legacy_packaged_app"]
     44   },
     45   "bluetooth": [{
     46     // Note: The "bluetooth" manifest permission is used by the
     47     // chrome.bluetooth, chrome.bluetoothSocket and chrome.bluetoothLowEnergy
     48     // APIs.
     49     "channel": "stable",
     50     "extension_types": ["platform_app"],
     51     "platforms": ["chromeos", "win", "mac"]
     52   }, {
     53     "channel": "stable",
     54     "extension_types": ["platform_app"],
     55     "platforms": ["linux"],
     56     "whitelist": [
     57       "9E287A8257E58EFB13E89C86A4B75A3AC4B058D8",  // unit_tests browser_tests
     58       "1C93BD3CF875F4A73C0B2A163BB8FBDA8B8B3D80",  // http://crbug.com/396117
     59       "A3BC37E2148AC4E99BE4B16AF9D42DD1E592BBBE",  // http://crbug.com/396117
     60       "E703483CEF33DEC18B4B6DD84B5C776FB9182BDB",  // http://crbug.com/396117
     61       "307E96539209F95A1A8740C713E6998A73657D96",  // http://crbug.com/396117
     62       "4F25792AF1AA7483936DE29C07806F203C7170A0",  // http://crbug.com/407693
     63       "BD8781D757D830FC2E85470A1B6E8A718B7EE0D9",  // http://crbug.com/407693
     64       "4AC2B6C63C6480D150DFDA13E4A5956EB1D0DDBB",  // http://crbug.com/407693
     65       "81986D4F846CEDDDB962643FA501D1780DD441BB"   // http://crbug.com/407693
     66     ]
     67   }],
     68   "browser_action": {
     69     "channel": "stable",
     70     "extension_types": ["extension"]
     71   },
     72   "chrome_settings_overrides": {
     73     "channel": "stable",
     74     "extension_types": ["extension"],
     75     "platforms": ["win"]
     76   },
     77   "chrome_ui_overrides": [{
     78     "channel": "dev",
     79     "extension_types": ["extension"]
     80   }, {
     81     "channel": "stable",
     82     "extension_types": ["extension"],
     83     "whitelist": [
     84       "CB2E4E7174A398FCB3AFA6840500C2E1D22DA7B2", // Bookmark Manager
     85       "D5736E4B5CF695CB93A2FB57E4FDC6E5AFAB6FE2", // http://crbug.com/312900
     86       "D57DE394F36DC1C3220E7604C575D29C51A6C495", // http://crbug.com/319444
     87       "3F65507A3B39259B38C8173C6FFA3D12DF64CCE9"  // http://crbug.com/371562
     88     ]
     89   }],
     90   "chrome_url_overrides": {
     91     "channel": "stable",
     92     "extension_types": ["extension", "legacy_packaged_app"]
     93   },
     94   "commands": {
     95     "channel": "stable",
     96     "extension_types": ["extension", "platform_app"],
     97     "min_manifest_version": 2
     98   },
     99   "content_pack": {
    100     "channel": "dev",
    101     "extension_types": ["extension"]
    102   },
    103   "content_scripts": {
    104     "channel": "stable",
    105     "extension_types": ["extension", "legacy_packaged_app"]
    106   },
    107   "converted_from_user_script": {
    108     "channel": "stable",
    109     "extension_types": [
    110       "extension", "legacy_packaged_app", "hosted_app"
    111     ],
    112     "no_doc": true
    113   },
    114   "current_locale": {
    115     "channel": "stable",
    116     "extension_types": "all"
    117   },
    118   "default_locale": {
    119     "channel": "stable",
    120     "extension_types": "all"
    121   },
    122   "devtools_page": {
    123     "channel": "stable",
    124     "extension_types": ["extension", "legacy_packaged_app"]
    125   },
    126   "display_in_launcher": [
    127     {
    128       "channel": "stable",
    129       "extension_types": ["legacy_packaged_app", "platform_app", "hosted_app"],
    130       "location": "component"
    131     },
    132     {
    133       "channel": "stable",
    134       "extension_types": ["legacy_packaged_app", "platform_app"],
    135       "whitelist": [
    136         "nmmhkkegccagdldgiimedpiccmgmieda"
    137       ]
    138     }
    139   ],
    140   "display_in_new_tab_page": [
    141     {
    142       "channel": "stable",
    143       "extension_types": ["legacy_packaged_app", "platform_app", "hosted_app"],
    144       "location": "component"
    145     },
    146     {
    147       "channel": "stable",
    148       "extension_types": ["legacy_packaged_app", "platform_app"],
    149       "whitelist": [
    150         "nmmhkkegccagdldgiimedpiccmgmieda"
    151       ]
    152     }
    153   ],
    154   "export": [
    155     {
    156       "channel": "stable",
    157       "extension_types": ["shared_module"],
    158       "whitelist": [
    159         "6EAED1924DB611B6EEF2A664BD077BE7EAD33B8F",
    160         "4EB74897CB187C7633357C2FE832E0AD6A44883A",
    161         // Next four: http://crbug.com/357213
    162         "mafeflapfdfljijmlienjedomfjfmhpd",
    163         "ajchadodoajkaojdidnbblnfcdipbple",
    164         "47F838F58D2A3B585DE50F29E3585D94999921D1",
    165         "8EBAFB8DEB647EA2FC887A5E01EBD9BDC0FDC536"
    166       ]
    167     },
    168     {
    169       "channel": "dev",
    170       "extension_types": ["shared_module"]
    171     }
    172   ],
    173   "file_browser_handlers": [
    174     {
    175       "channel": "stable",
    176       "extension_types": ["extension", "legacy_packaged_app"]
    177     },
    178     {
    179       "channel": "stable",
    180       "extension_types": ["platform_app"],
    181       "location": "component"
    182     }
    183   ],
    184   "homepage_url": {
    185     "channel": "stable",
    186     "extension_types": ["extension", "legacy_packaged_app"]
    187   },
    188   "import": {
    189     "channel": "stable",
    190     "extension_types": "all"
    191   },
    192   "input_components": {
    193     "channel": "stable",
    194     "extension_types": ["extension", "legacy_packaged_app"]
    195   },
    196   "key": {
    197     "channel": "stable",
    198     "extension_types": "all"
    199   },
    200   "mime_types": {
    201     "channel": "stable",
    202     "extension_types": [ "extension", "legacy_packaged_app", "platform_app" ],
    203     "whitelist": [
    204       "oickdpebdnfbgkcaoklfcdhjniefkcji",  // browser_tests
    205       "gbkeegbaiigmenfmjfclcdgdpimamgkj",  // QuickOffice
    206       "ionpfmkccalenbmnddpbmocokhaknphg",  // QuickOffice Dev
    207       "bpmcpldpdmajfigpchkicefoigmkfalc",  // Quickoffice component extension
    208       "ehibbfinohgbchlgdbfpikodjaojhccn",  // Editor
    209       "mhjfbmdgcfjbbpaeojofohoefgiehjai"   // PDF
    210     ]
    211   },
    212   "mime_types_handler": {
    213     "channel": "stable",
    214     "extension_types": [ "extension", "legacy_packaged_app", "platform_app" ],
    215     "whitelist": [
    216       "oickdpebdnfbgkcaoklfcdhjniefkcji",  // browser_tests
    217       "gbkeegbaiigmenfmjfclcdgdpimamgkj",  // QuickOffice
    218       "ionpfmkccalenbmnddpbmocokhaknphg",  // QuickOffice Dev
    219       "bpmcpldpdmajfigpchkicefoigmkfalc",  // Quickoffice component extension
    220       "ehibbfinohgbchlgdbfpikodjaojhccn",  // Editor
    221       "mhjfbmdgcfjbbpaeojofohoefgiehjai"   // PDF
    222     ]
    223   },
    224   "minimum_chrome_version": {
    225     "channel": "stable",
    226     "extension_types": [
    227       "extension", "legacy_packaged_app", "hosted_app", "platform_app"
    228     ]
    229   },
    230   "oauth2": {
    231     "channel": "stable",
    232     "extension_types": [
    233       "extension", "legacy_packaged_app", "platform_app"
    234     ]
    235   },
    236   "oauth2.auto_approve": {
    237     "channel": "stable",
    238     "extension_types": [
    239       "extension", "platform_app"
    240     ],
    241     "whitelist": [
    242       "mdbihdcgjmagbcapkhhkjbbdlkflmbfo",  // unit_tests
    243       "pafkbggdmjlpgkdkcbjmhmfcdpncadgh",  // Google Now
    244       "nmmhkkegccagdldgiimedpiccmgmieda",  // In-app payments support app.
    245       "4B1D0E19C6C43C008C44A8278C8B5BFE15ABEB3C",
    246       "F7FA7ABC1ECB89BA8EE6656847EFABBF43BB9BCA",
    247       "1A26E32DE447A17CBE5E9750CDBA78F58539B39C",  // TODO(rockot): Kill these.
    248       "E61F841D8210B6A9891E5384CB665FBED31FCD7B",  // http://crbug.com/281715
    249 
    250       // TODO(joaodasilva): remove these two once we have the new policy to
    251       // grant auto approval by ID. http://crbug.com/399392
    252       "A8208CCC87F8261AFAEB6B85D5E8D47372DDEA6B",
    253       "A4577D8C2AF4CF26F40CBCA83FFA4251D6F6C8F8"
    254     ]
    255   },
    256   "omnibox": {
    257     "channel": "stable",
    258     "extension_types": ["extension", "legacy_packaged_app"]
    259   },
    260   "optional_permissions": {
    261     "channel": "stable",
    262     "extension_types": [
    263       "extension", "legacy_packaged_app", "hosted_app", "platform_app"
    264     ]
    265   },
    266   "options_page": {
    267     "channel": "stable",
    268     "extension_types": [
    269       "extension", "legacy_packaged_app", "hosted_app"
    270     ]
    271   },
    272   "page_action": {
    273     "channel": "stable",
    274     "extension_types": ["extension"]
    275   },
    276   "page_actions": {
    277     "channel": "stable",
    278     "extension_types": ["extension"],
    279     "max_manifest_version": 1
    280   },
    281   "permissions": {
    282     "channel": "stable",
    283     "extension_types": [
    284       "extension", "legacy_packaged_app", "hosted_app", "platform_app"
    285     ]
    286   },
    287   "platforms": {
    288     "channel": "stable",
    289     "extension_types": "all"
    290   },
    291   "plugins": {
    292     "channel": "stable",
    293     "extension_types": ["extension", "legacy_packaged_app", "hosted_app"]
    294   },
    295   "requirements": {
    296     "channel": "stable",
    297     "extension_types": [
    298       "extension", "legacy_packaged_app", "hosted_app", "platform_app"
    299     ]
    300   },
    301   "script_badge": {
    302     "channel": "trunk",
    303     "extension_types": ["extension"]
    304   },
    305   "short_name": {
    306     "channel": "stable",
    307     "extension_types": "all"
    308   },
    309   "signature": {
    310     "channel": "stable",
    311     "extension_types": "all"
    312   },
    313   "spellcheck": {
    314     "channel": "dev",
    315     "extension_types": ["extension"]
    316   },
    317   "storage": {
    318     "channel": "stable",
    319     "extension_types": ["extension", "legacy_packaged_app", "platform_app"],
    320     "min_manifest_version": 2
    321   },
    322   "system_indicator": [
    323     {
    324       "channel": "dev",
    325       "extension_types": ["extension", "legacy_packaged_app", "platform_app"]
    326     },
    327     {
    328       "channel": "stable",
    329       "whitelist": [
    330         "F29716B08705C9D3C12CDFE3F638BAE709570C31",  // browser_tests
    331         // See crbug.com/245730 for details on the Hangouts whitelist.
    332         "53041A2FA309EECED01FFC751E7399186E860B2C",  // Hangouts
    333         "312745D9BF916161191143F6490085EEA0434997",  // Hangouts beta
    334         "A74A4D44C7CFCD8844830E6140C8D763E12DD8F3",  // Hangouts alpha
    335         "E7E2461CE072DF036CF9592740196159E2D7C089",  // Hangouts debug
    336         "49DA0B9CCEEA299186C6E7226FD66922D57543DC"   // Hangouts dev
    337       ],
    338       "extension_types": ["extension", "platform_app"]
    339     }
    340   ],
    341   "theme": {
    342     "channel": "stable",
    343     "extension_types": ["theme"]
    344   },
    345   "tts_engine": {
    346     "channel": "stable",
    347     "extension_types": ["extension", "legacy_packaged_app"]
    348   },
    349   "update_url": {
    350     "channel": "stable",
    351     "extension_types": "all"
    352   },
    353   "url_handlers": {
    354     "channel": "stable",
    355     "extension_types": ["platform_app"]
    356   }
    357 }
    358