Home | History | Annotate | Download | only in api
      1 // Copyright 2014 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 // This features file defines manifest keys implemented under src/extensions.
      6 // See extensions/common/features/* to understand this file, in particular
      7 // feature.h, simple_feature.h, and base_feature_provider.h.
      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   // The default platform app CSP can only be overridden by whitelisted apps.
     20   // This is a separate key from the top-level content_security_policy one since
     21   // we can't combine type restrictions with whitelisted ID restrictions. If
     22   // there is a need for additional whitelisted entries, the feature system
     23   // should instead be extended to support OR-ing of restrictions.
     24   "app.content_security_policy": {
     25     "channel": "stable",
     26     "extension_types": ["platform_app"],
     27     "min_manifest_version": 2,
     28     "whitelist": [
     29       "nckgahadagoaajjgafhacjanaoiihapd",  // Google Talk prod
     30       "eggnbpckecmjlblplehfpjjdhhidfdoj",  // Google Talk beta
     31       "ppleadejekpmccmnpjdimmlfljlkdfej",  // Google Talk alpha
     32       "ljclpkphhpbpinifbeabbhlfddcpfdde",   // Google Talk debug
     33       "lphgohfeebnhcpiohjndkgbhhkoapkjc" // Apps Debugger
     34     ]
     35   },
     36   "app.background": {
     37     "channel": "stable",
     38     "extension_types": ["platform_app"],
     39     "min_manifest_version": 2
     40   },
     41   "background": {
     42     "channel": "stable",
     43     "extension_types": [
     44       // Platform apps specify their background page via app.background.
     45       "extension", "legacy_packaged_app", "hosted_app"
     46     ]
     47   },
     48   "background.persistent": {
     49     "channel": "stable",
     50     "extension_types": [
     51       "extension", "legacy_packaged_app"
     52     ],
     53     "min_manifest_version": 2
     54   },
     55   "background_page": {
     56     "channel": "stable",
     57     "extension_types": [
     58       "extension", "legacy_packaged_app", "hosted_app"
     59     ],
     60     "max_manifest_version": 1
     61   },
     62   "content_security_policy": {
     63     "channel": "stable",
     64     // Platform apps have a restricted content security policy that cannot be
     65     // overriden (except for a whitelist of exceptions, see the
     66     // app.content_security_policy whitelist).
     67     "extension_types": ["extension", "legacy_packaged_app"]
     68   },
     69   "description": {
     70     "channel": "stable",
     71     "extension_types": "all"
     72   },
     73   "externally_connectable": {
     74     "channel": "stable",
     75     "extension_types": [
     76       "extension", "hosted_app", "legacy_packaged_app", "platform_app"
     77     ]
     78   },
     79   "file_handlers": [
     80     {
     81       "channel": "stable",
     82       "extension_types": ["platform_app"]
     83     }, {
     84       "channel": "stable",
     85       "extension_types": [ "extension"],
     86       "whitelist": [
     87         "2FC374607C2DF285634B67C64A2E356C607091C3",  // Quickoffice
     88         "3727DD3E564B6055387425027AD74C58784ACC15",  // Quickoffice internal
     89         "12E618C3C6E97495AAECF2AC12DEB082353241C6"   // QO component extension
     90       ]
     91     }
     92   ],
     93   "icons": {
     94     "channel": "stable",
     95     "extension_types": "all"
     96   },
     97   "incognito": [
     98     {
     99       "channel": "stable",
    100       "extension_types": ["extension", "legacy_packaged_app"]
    101     },
    102     {
    103       "channel": "stable",
    104       "extension_types": ["platform_app"],
    105       "location": "component"
    106     }
    107   ],
    108   "kiosk_enabled": {
    109     "channel": "stable",
    110     "extension_types": [
    111       "platform_app"
    112     ]
    113   },
    114   "kiosk_only": {
    115     "channel": "dev",
    116     "extension_types": [
    117       "platform_app"
    118     ]
    119   },
    120   "launcher_page": {
    121     "channel": "stable",
    122     "min_manifest_version": 2,
    123     "extension_types": ["platform_app"],
    124     "whitelist": [
    125       "07BD6A765FFC289FF755D7CAB2893A40EC337FEC",  // http://crbug.com/404000
    126       "896B85CC7E913E11C34892C1425A093C0701D386",  // http://crbug.com/404000
    127       "11A01C82EF355E674E4F9728A801F5C3CB40D83F"   // http://crbug.com/404000
    128     ]
    129   },
    130   "manifest_version": {
    131     "channel": "stable",
    132     "extension_types": "all"
    133   },
    134   "nacl_modules": {
    135     "channel": "stable",
    136     "extension_types": [
    137       "extension", "legacy_packaged_app", "hosted_app", "platform_app"
    138     ]
    139   },
    140   "name": {
    141     "channel": "stable",
    142     "extension_types": "all"
    143   },
    144   "offline_enabled": {
    145     "channel": "stable",
    146     "extension_types": [
    147       "extension", "legacy_packaged_app", "hosted_app", "platform_app"
    148     ]
    149   },
    150   "options_ui": {
    151     "channel": "trunk",
    152     "extension_types": ["extension", "legacy_packaged_app"]
    153   },
    154   "sandbox": {
    155     "channel": "stable",
    156     "extension_types": [
    157       "extension", "platform_app", "legacy_packaged_app"
    158     ],
    159     "min_manifest_version": 2
    160   },
    161   "sockets": {
    162     "channel": "stable",
    163     "extension_types": ["platform_app"]
    164   },
    165   "version": {
    166     "channel": "stable",
    167     "extension_types": "all"
    168   },
    169   "web_accessible_resources": [
    170     {
    171       "channel": "stable",
    172       "extension_types": [
    173         "extension", "legacy_packaged_app", "hosted_app"
    174       ]
    175     },
    176     {
    177       "channel": "stable",
    178       "extension_types": ["platform_app"],
    179       "location": "component"
    180     }
    181   ],
    182   "webview": {
    183     "channel": "stable",
    184     "extension_types": ["platform_app"],
    185     "min_manifest_version": 2
    186   }
    187 }
    188