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 // See c/c/e/features/* to understand this file, in particular feature.h, 6 // simple_feature.h, and base_feature_provider.h. 7 8 { 9 "app": { 10 "channel": "stable", 11 "extension_types": ["packaged_app", "hosted_app", "platform_app"] 12 }, 13 // The default platform app CSP can only be overridden by whitelisted apps. 14 // This is a separate key from the top-level content_security_policy one since 15 // we can't combine type restrictions with whitelisted ID restrictions. If 16 // there is a need for additional whitelisted entries, the feature system 17 // should instead be extended to support OR-ing of restrictions. 18 "app.content_security_policy": { 19 "channel": "stable", 20 "extension_types": ["platform_app"], 21 "min_manifest_version": 2, 22 "whitelist": [ 23 "nckgahadagoaajjgafhacjanaoiihapd", // Google Talk prod 24 "eggnbpckecmjlblplehfpjjdhhidfdoj", // Google Talk beta 25 "ppleadejekpmccmnpjdimmlfljlkdfej", // Google Talk alpha 26 "ljclpkphhpbpinifbeabbhlfddcpfdde", // Google Talk debug 27 "lphgohfeebnhcpiohjndkgbhhkoapkjc" // Apps Debugger 28 ] 29 }, 30 "app.background": { 31 "channel": "stable", 32 "extension_types": ["platform_app"], 33 "min_manifest_version": 2 34 }, 35 "app.isolation": { 36 "channel": "stable", 37 // Platform apps always have isolated storage, thus they cannot specify it 38 // via the manifest. 39 "extension_types": ["packaged_app", "hosted_app"] 40 }, 41 "app.launch": { 42 "channel": "stable", 43 "extension_types": ["packaged_app", "hosted_app"] 44 }, 45 "author": { 46 "channel": "stable", 47 "extension_types": "all" 48 }, 49 "background": { 50 "channel": "stable", 51 "extension_types": [ 52 // Platform apps specify their background page via app.background. 53 "extension", "packaged_app", "hosted_app" 54 ] 55 }, 56 "background.persistent": { 57 "channel": "stable", 58 "extension_types": [ 59 "extension", "packaged_app" 60 ], 61 "min_manifest_version": 2 62 }, 63 "background_page": { 64 "channel": "stable", 65 "extension_types": [ 66 "extension", "packaged_app", "hosted_app" 67 ], 68 "max_manifest_version": 1 69 }, 70 "browser_action": { 71 "channel": "stable", 72 "extension_types": ["extension"] 73 }, 74 "chrome_url_overrides": { 75 "channel": "stable", 76 "extension_types": ["extension", "packaged_app"] 77 }, 78 "commands": { 79 "channel": "stable", 80 "extension_types": ["extension"], 81 "min_manifest_version": 2 82 }, 83 "content_pack": { 84 "channel": "dev", 85 "extension_types": ["extension"] 86 }, 87 "content_security_policy": { 88 "channel": "stable", 89 // Platform apps have a restricted content security policy that cannot be 90 // overriden (except for a whitelist of exceptions, see the 91 // app.content_security_policy whitelist). 92 "extension_types": ["extension", "packaged_app"] 93 }, 94 "content_scripts": { 95 "channel": "stable", 96 "extension_types": ["extension", "packaged_app"] 97 }, 98 "converted_from_user_script": { 99 "channel": "stable", 100 "extension_types": [ 101 "extension", "packaged_app", "hosted_app" 102 ], 103 "no_doc": true 104 }, 105 "current_locale": { 106 "channel": "stable", 107 "extension_types": "all" 108 }, 109 "default_locale": { 110 "channel": "stable", 111 "extension_types": "all" 112 }, 113 "description": { 114 "channel": "stable", 115 "extension_types": "all" 116 }, 117 "devtools_page": { 118 "channel": "stable", 119 "extension_types": ["extension", "packaged_app"] 120 }, 121 "display_in_launcher": [ 122 { 123 "channel": "stable", 124 "extension_types": ["packaged_app", "platform_app"], 125 "location": "component" 126 }, 127 { 128 "channel": "stable", 129 "extension_types": ["packaged_app", "platform_app"], 130 "whitelist": [ 131 "nmmhkkegccagdldgiimedpiccmgmieda" 132 ] 133 } 134 ], 135 "display_in_new_tab_page": [ 136 { 137 "channel": "stable", 138 "extension_types": ["packaged_app", "platform_app"], 139 "location": "component" 140 }, 141 { 142 "channel": "stable", 143 "extension_types": ["packaged_app", "platform_app"], 144 "whitelist": [ 145 "nmmhkkegccagdldgiimedpiccmgmieda" 146 ] 147 } 148 ], 149 "export": [ 150 { 151 "channel": "stable", 152 "extension_types": ["shared_module"], 153 "whitelist": [ 154 "6EAED1924DB611B6EEF2A664BD077BE7EAD33B8F", 155 "4EB74897CB187C7633357C2FE832E0AD6A44883A" 156 ] 157 }, 158 { 159 "channel": "dev", 160 "extension_types": ["shared_module"] 161 } 162 ], 163 "externally_connectable": { 164 "channel": "stable", 165 "extension_types": [ 166 "extension", "hosted_app", "packaged_app", "platform_app" 167 ] 168 }, 169 "file_browser_handlers": { 170 "channel": "stable", 171 "extension_types": ["extension", "packaged_app"] 172 }, 173 "file_handlers": { 174 "channel": "stable", 175 "extension_types": ["platform_app"] 176 }, 177 "homepage_url": { 178 "channel": "stable", 179 "extension_types": ["extension", "packaged_app"] 180 }, 181 "icons": { 182 "channel": "stable", 183 "extension_types": "all" 184 }, 185 "import": { 186 "channel": "stable", 187 "extension_types": "all" 188 }, 189 "incognito": { 190 "channel": "stable", 191 "extension_types": ["extension", "packaged_app"] 192 }, 193 "input_components": { 194 "channel": "stable", 195 "extension_types": ["extension", "packaged_app"] 196 }, 197 "key": { 198 "channel": "stable", 199 "extension_types": "all" 200 }, 201 "kiosk_enabled": { 202 "channel": "stable", 203 "extension_types": [ 204 "platform_app" 205 ] 206 }, 207 "manifest_version": { 208 "channel": "stable", 209 "extension_types": "all" 210 }, 211 "media_galleries_handlers": { 212 "channel": "dev", 213 "extension_types": ["platform_app"] 214 }, 215 "mime_types": { 216 "channel": "stable", 217 "extension_types": [ "extension", "packaged_app", "platform_app" ], 218 "whitelist": [ 219 "oickdpebdnfbgkcaoklfcdhjniefkcji", // browser_tests 220 "gbkeegbaiigmenfmjfclcdgdpimamgkj", // QuickOffice 221 "ionpfmkccalenbmnddpbmocokhaknphg", // QuickOffice Dev 222 "bpmcpldpdmajfigpchkicefoigmkfalc", // Quickoffice component extension 223 "ehibbfinohgbchlgdbfpikodjaojhccn" // Editor 224 ] 225 }, 226 "minimum_chrome_version": { 227 "channel": "stable", 228 "extension_types": [ 229 "extension", "packaged_app", "hosted_app", "platform_app" 230 ] 231 }, 232 "nacl_modules": { 233 "channel": "stable", 234 "extension_types": [ 235 "extension", "packaged_app", "hosted_app", "platform_app" 236 ] 237 }, 238 "name": { 239 "channel": "stable", 240 "extension_types": "all" 241 }, 242 "oauth2": { 243 "channel": "stable", 244 "extension_types": [ 245 "extension", "packaged_app", "platform_app" 246 ] 247 }, 248 "oauth2.auto_approve": { 249 "channel": "stable", 250 "extension_types": [ 251 "extension", "platform_app" 252 ], 253 "whitelist": [ 254 "mdbihdcgjmagbcapkhhkjbbdlkflmbfo", // unit_tests 255 "pmofbkohncoogjjhahejjfbppikbjigm", // Google Now 256 "hkhhlkdconhgemhegnplaldnmnmkaemd", // Get Started App 257 "nmmhkkegccagdldgiimedpiccmgmieda", // In-app payments support app. 258 "4B1D0E19C6C43C008C44A8278C8B5BFE15ABEB3C", 259 "F7FA7ABC1ECB89BA8EE6656847EFABBF43BB9BCA", 260 "1A26E32DE447A17CBE5E9750CDBA78F58539B39C", // TODO(rockot): Kill these. 261 "E61F841D8210B6A9891E5384CB665FBED31FCD7B" // See http://crbug.com/281715 262 ] 263 }, 264 "offline_enabled": { 265 "channel": "stable", 266 "extension_types": [ 267 "extension", "packaged_app", "hosted_app", "platform_app" 268 ] 269 }, 270 "omnibox": { 271 "channel": "stable", 272 "extension_types": ["extension", "packaged_app"] 273 }, 274 "optional_permissions": { 275 "channel": "stable", 276 "extension_types": [ 277 "extension", "packaged_app", "hosted_app", "platform_app" 278 ] 279 }, 280 "options_page": { 281 "channel": "stable", 282 "extension_types": [ 283 "extension", "packaged_app", "hosted_app" 284 ] 285 }, 286 "page_action": { 287 "channel": "stable", 288 "extension_types": ["extension"] 289 }, 290 "page_actions": { 291 "channel": "stable", 292 "extension_types": ["extension"], 293 "max_manifest_version": 1 294 }, 295 "permissions": { 296 "channel": "stable", 297 "extension_types": [ 298 "extension", "packaged_app", "hosted_app", "platform_app" 299 ] 300 }, 301 "platforms": { 302 "channel": "stable", 303 "extension_types": "all" 304 }, 305 "plugins": { 306 "channel": "stable", 307 "extension_types": ["extension", "packaged_app", "hosted_app"] 308 }, 309 "requirements": { 310 "channel": "stable", 311 "extension_types": [ 312 "extension", "packaged_app", "hosted_app", "platform_app" 313 ] 314 }, 315 "sandbox": { 316 "channel": "stable", 317 "extension_types": [ 318 "extension", "platform_app", "packaged_app" 319 ], 320 "min_manifest_version": 2 321 }, 322 "script_badge": { 323 "channel": "trunk", 324 "extension_types": ["extension"] 325 }, 326 "signature": { 327 "channel": "stable", 328 "extension_types": "all" 329 }, 330 "spellcheck": { 331 "channel": "dev", 332 "extension_types": ["extension"] 333 }, 334 "storage": { 335 "channel": "dev", 336 "extension_types": ["extension", "packaged_app", "platform_app"], 337 "min_manifest_version": 2 338 }, 339 "storage.managed_schema": { 340 "channel": "dev", 341 "extension_types": ["extension", "packaged_app", "platform_app"], 342 "min_manifest_version": 2 343 }, 344 "system_indicator": { 345 "channel": "dev", 346 "extension_types": ["extension", "packaged_app", "platform_app"] 347 }, 348 "theme": { 349 "channel": "stable", 350 "extension_types": ["theme"] 351 }, 352 "tts_engine": { 353 "channel": "stable", 354 "extension_types": ["extension", "packaged_app"] 355 }, 356 "update_url": { 357 "channel": "stable", 358 "extension_types": "all" 359 }, 360 "version": { 361 "channel": "stable", 362 "extension_types": "all" 363 }, 364 "web_accessible_resources": { 365 "channel": "stable", 366 "extension_types": [ 367 "extension", "packaged_app", "hosted_app" 368 ] 369 } 370 } 371