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": ["legacy_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": ["legacy_packaged_app", "hosted_app"] 40 }, 41 "app.launch": { 42 "channel": "stable", 43 "extension_types": ["legacy_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", "legacy_packaged_app", "hosted_app" 54 ] 55 }, 56 "background.persistent": { 57 "channel": "stable", 58 "extension_types": [ 59 "extension", "legacy_packaged_app" 60 ], 61 "min_manifest_version": 2 62 }, 63 "background_page": { 64 "channel": "stable", 65 "extension_types": [ 66 "extension", "legacy_packaged_app", "hosted_app" 67 ], 68 "max_manifest_version": 1 69 }, 70 "browser_action": { 71 "channel": "stable", 72 "extension_types": ["extension"] 73 }, 74 "chrome_settings_overrides": [{ 75 "channel": "dev", 76 "extension_types": ["extension"] 77 }, { 78 "channel": "stable", 79 "extension_types": ["extension"], 80 "whitelist": [ 81 "CB2E4E7174A398FCB3AFA6840500C2E1D22DA7B2", // Bookmark Manager 82 "D5736E4B5CF695CB93A2FB57E4FDC6E5AFAB6FE2", // http://crbug.com/312900 83 "D57DE394F36DC1C3220E7604C575D29C51A6C495" // http://crbug.com/319444 84 ] 85 }], 86 "chrome_url_overrides": { 87 "channel": "stable", 88 "extension_types": ["extension", "legacy_packaged_app"] 89 }, 90 "commands": [ 91 { 92 "channel": "dev", 93 "extension_types": ["platform_app"], 94 "min_manifest_version": 2 95 }, { 96 "channel": "stable", 97 "extension_types": ["extension"], 98 "min_manifest_version": 2 99 } 100 ], 101 "commands.global": [ 102 { 103 "channel": "dev", 104 "extension_types": ["extension", "platform_app"], 105 "min_manifest_version": 2 106 } 107 ], 108 "content_pack": { 109 "channel": "dev", 110 "extension_types": ["extension"] 111 }, 112 "content_security_policy": { 113 "channel": "stable", 114 // Platform apps have a restricted content security policy that cannot be 115 // overriden (except for a whitelist of exceptions, see the 116 // app.content_security_policy whitelist). 117 "extension_types": ["extension", "legacy_packaged_app"] 118 }, 119 "content_scripts": { 120 "channel": "stable", 121 "extension_types": ["extension", "legacy_packaged_app"] 122 }, 123 "converted_from_user_script": { 124 "channel": "stable", 125 "extension_types": [ 126 "extension", "legacy_packaged_app", "hosted_app" 127 ], 128 "no_doc": true 129 }, 130 "current_locale": { 131 "channel": "stable", 132 "extension_types": "all" 133 }, 134 "default_locale": { 135 "channel": "stable", 136 "extension_types": "all" 137 }, 138 "description": { 139 "channel": "stable", 140 "extension_types": "all" 141 }, 142 "devtools_page": { 143 "channel": "stable", 144 "extension_types": ["extension", "legacy_packaged_app"] 145 }, 146 "display_in_launcher": [ 147 { 148 "channel": "stable", 149 "extension_types": ["legacy_packaged_app", "platform_app"], 150 "location": "component" 151 }, 152 { 153 "channel": "stable", 154 "extension_types": ["legacy_packaged_app", "platform_app"], 155 "whitelist": [ 156 "nmmhkkegccagdldgiimedpiccmgmieda" 157 ] 158 } 159 ], 160 "display_in_new_tab_page": [ 161 { 162 "channel": "stable", 163 "extension_types": ["legacy_packaged_app", "platform_app"], 164 "location": "component" 165 }, 166 { 167 "channel": "stable", 168 "extension_types": ["legacy_packaged_app", "platform_app"], 169 "whitelist": [ 170 "nmmhkkegccagdldgiimedpiccmgmieda" 171 ] 172 } 173 ], 174 "export": [ 175 { 176 "channel": "stable", 177 "extension_types": ["shared_module"], 178 "whitelist": [ 179 "6EAED1924DB611B6EEF2A664BD077BE7EAD33B8F", 180 "4EB74897CB187C7633357C2FE832E0AD6A44883A" 181 ] 182 }, 183 { 184 "channel": "dev", 185 "extension_types": ["shared_module"] 186 } 187 ], 188 "externally_connectable": { 189 "channel": "stable", 190 "extension_types": [ 191 "extension", "hosted_app", "legacy_packaged_app", "platform_app" 192 ] 193 }, 194 "file_browser_handlers": { 195 "channel": "stable", 196 "extension_types": ["extension", "legacy_packaged_app"] 197 }, 198 "file_handlers": { 199 "channel": "stable", 200 "extension_types": ["platform_app"] 201 }, 202 "homepage_url": { 203 "channel": "stable", 204 "extension_types": ["extension", "legacy_packaged_app"] 205 }, 206 "icons": { 207 "channel": "stable", 208 "extension_types": "all" 209 }, 210 "import": { 211 "channel": "stable", 212 "extension_types": "all" 213 }, 214 "incognito": { 215 "channel": "stable", 216 "extension_types": ["extension", "legacy_packaged_app"] 217 }, 218 "input_components": { 219 "channel": "stable", 220 "extension_types": ["extension", "legacy_packaged_app"] 221 }, 222 "key": { 223 "channel": "stable", 224 "extension_types": "all" 225 }, 226 "kiosk_enabled": { 227 "channel": "stable", 228 "extension_types": [ 229 "platform_app" 230 ] 231 }, 232 "kiosk_only": { 233 "channel": "dev", 234 "extension_types": [ 235 "platform_app" 236 ] 237 }, 238 "manifest_version": { 239 "channel": "stable", 240 "extension_types": "all" 241 }, 242 "media_galleries_handlers": { 243 "channel": "dev", 244 "extension_types": ["platform_app"] 245 }, 246 "mime_types": { 247 "channel": "stable", 248 "extension_types": [ "extension", "legacy_packaged_app", "platform_app" ], 249 "whitelist": [ 250 "oickdpebdnfbgkcaoklfcdhjniefkcji", // browser_tests 251 "gbkeegbaiigmenfmjfclcdgdpimamgkj", // QuickOffice 252 "ionpfmkccalenbmnddpbmocokhaknphg", // QuickOffice Dev 253 "bpmcpldpdmajfigpchkicefoigmkfalc", // Quickoffice component extension 254 "ehibbfinohgbchlgdbfpikodjaojhccn", // Editor 255 "mhjfbmdgcfjbbpaeojofohoefgiehjai" // PDF 256 ] 257 }, 258 "minimum_chrome_version": { 259 "channel": "stable", 260 "extension_types": [ 261 "extension", "legacy_packaged_app", "hosted_app", "platform_app" 262 ] 263 }, 264 "nacl_modules": { 265 "channel": "stable", 266 "extension_types": [ 267 "extension", "legacy_packaged_app", "hosted_app", "platform_app" 268 ] 269 }, 270 "name": { 271 "channel": "stable", 272 "extension_types": "all" 273 }, 274 "oauth2": { 275 "channel": "stable", 276 "extension_types": [ 277 "extension", "legacy_packaged_app", "platform_app" 278 ] 279 }, 280 "oauth2.auto_approve": { 281 "channel": "stable", 282 "extension_types": [ 283 "extension", "platform_app" 284 ], 285 "whitelist": [ 286 "mdbihdcgjmagbcapkhhkjbbdlkflmbfo", // unit_tests 287 "pafkbggdmjlpgkdkcbjmhmfcdpncadgh", // Google Now 288 "hkhhlkdconhgemhegnplaldnmnmkaemd", // Get Started App 289 "nmmhkkegccagdldgiimedpiccmgmieda", // In-app payments support app. 290 "4B1D0E19C6C43C008C44A8278C8B5BFE15ABEB3C", 291 "F7FA7ABC1ECB89BA8EE6656847EFABBF43BB9BCA", 292 "1A26E32DE447A17CBE5E9750CDBA78F58539B39C", // TODO(rockot): Kill these. 293 "E61F841D8210B6A9891E5384CB665FBED31FCD7B" // http://crbug.com/281715 294 ] 295 }, 296 "offline_enabled": { 297 "channel": "stable", 298 "extension_types": [ 299 "extension", "legacy_packaged_app", "hosted_app", "platform_app" 300 ] 301 }, 302 "omnibox": { 303 "channel": "stable", 304 "extension_types": ["extension", "legacy_packaged_app"] 305 }, 306 "optional_permissions": { 307 "channel": "stable", 308 "extension_types": [ 309 "extension", "legacy_packaged_app", "hosted_app", "platform_app" 310 ] 311 }, 312 "options_page": { 313 "channel": "stable", 314 "extension_types": [ 315 "extension", "legacy_packaged_app", "hosted_app" 316 ] 317 }, 318 "page_action": { 319 "channel": "stable", 320 "extension_types": ["extension"] 321 }, 322 "page_actions": { 323 "channel": "stable", 324 "extension_types": ["extension"], 325 "max_manifest_version": 1 326 }, 327 "permissions": { 328 "channel": "stable", 329 "extension_types": [ 330 "extension", "legacy_packaged_app", "hosted_app", "platform_app" 331 ] 332 }, 333 "platforms": { 334 "channel": "stable", 335 "extension_types": "all" 336 }, 337 "plugins": { 338 "channel": "stable", 339 "extension_types": ["extension", "legacy_packaged_app", "hosted_app"] 340 }, 341 "requirements": { 342 "channel": "stable", 343 "extension_types": [ 344 "extension", "legacy_packaged_app", "hosted_app", "platform_app" 345 ] 346 }, 347 "sandbox": { 348 "channel": "stable", 349 "extension_types": [ 350 "extension", "platform_app", "legacy_packaged_app" 351 ], 352 "min_manifest_version": 2 353 }, 354 "script_badge": { 355 "channel": "trunk", 356 "extension_types": ["extension"] 357 }, 358 "short_name": { 359 "channel": "stable", 360 "extension_types": "all" 361 }, 362 "signature": { 363 "channel": "stable", 364 "extension_types": "all" 365 }, 366 "sockets": { 367 "channel": "stable", 368 "extension_types": ["platform_app"] 369 }, 370 "spellcheck": { 371 "channel": "dev", 372 "extension_types": ["extension"] 373 }, 374 "storage": { 375 "channel": "stable", 376 "extension_types": ["extension", "legacy_packaged_app", "platform_app"], 377 "min_manifest_version": 2 378 }, 379 "system_indicator": { 380 "channel": "dev", 381 "extension_types": ["extension", "legacy_packaged_app", "platform_app"] 382 }, 383 "theme": { 384 "channel": "stable", 385 "extension_types": ["theme"] 386 }, 387 "tts_engine": { 388 "channel": "stable", 389 "extension_types": ["extension", "legacy_packaged_app"] 390 }, 391 "update_url": { 392 "channel": "stable", 393 "extension_types": "all" 394 }, 395 "url_handlers": { 396 "channel": "stable", 397 "extension_types": ["platform_app"] 398 }, 399 "version": { 400 "channel": "stable", 401 "extension_types": "all" 402 }, 403 "web_accessible_resources": { 404 "channel": "stable", 405 "extension_types": [ 406 "extension", "legacy_packaged_app", "hosted_app" 407 ] 408 }, 409 "webview": { 410 "channel": "dev", 411 "extension_types": ["platform_app"], 412 "min_manifest_version": 2 413 } 414 } 415