| // Copyright 2014 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| // This features file defines manifest keys implemented under src/extensions. |
| // See chrome/common/extensions/api/_features.md to understand this file, as |
| // well as feature.h, simple_feature.h, and feature_provider.h. |
| |
| { |
| "about_page": { |
| "channel": "stable", |
| "extension_types": ["shared_module"] |
| }, |
| "action": { |
| "channel": "stable", |
| "extension_types": ["extension"], |
| "min_manifest_version": 3 |
| }, |
| "action_handlers": { |
| "channel": "stable", |
| "extension_types": ["platform_app"], |
| "platforms": ["chromeos"] |
| }, |
| "app": { |
| "channel": "stable", |
| "extension_types": ["legacy_packaged_app", "hosted_app", "platform_app"] |
| }, |
| // The default platform app CSP can only be overridden by allowlisted apps. |
| // This is a separate key from the top-level content_security_policy one since |
| // we can't combine type restrictions with allowlisted ID restrictions. If |
| // there is a need for additional allowlisted entries, the feature system |
| // should instead be extended to support OR-ing of restrictions. |
| "app.content_security_policy": { |
| "channel": "stable", |
| "extension_types": ["platform_app"], |
| "allowlist": [ |
| "5107DE9024C329EEA9C9A72D94C16723790C6422" // Apps Debugger |
| ] |
| }, |
| "app.background": { |
| "channel": "stable", |
| "extension_types": ["platform_app"] |
| }, |
| "author": { |
| "channel": "stable", |
| "extension_types": "all" |
| }, |
| "automation": { |
| // This is a private API which, for historical reasons, does not include |
| // 'private' in the name. It should not be exposed outside of first-party |
| // allow-listed very trusted extensions and component extensions. |
| // This API has no protection in the JS wrappers around untrusted scripts |
| // putting getters/setters to intercept and manipulate native bindings. |
| "channel": "stable", |
| "extension_types": ["extension", "legacy_packaged_app", "platform_app"], |
| "allowlist": [ |
| "2FCBCE08B34CCA1728A85F1EFBD9A34DD2558B2E", |
| "05D1DBD6E8B9C4690FFA7D50E6F60C5290DC662A", // http://crbug.com/941107 |
| "0D209B5E4401BB8E7873B5AB5B1346A1CB067015", // http://crbug.com/654525 |
| "93CFDA3681E923AD7AB291CEDD98248396B5496C" // http://crbug.com/803543 |
| ] |
| }, |
| "background": { |
| "channel": "stable", |
| "extension_types": [ |
| // Platform apps specify their background page via app.background. |
| "extension", "legacy_packaged_app", "hosted_app", "login_screen_extension", "chromeos_system_extension" ] |
| }, |
| "background.persistent": { |
| "channel": "stable", |
| "extension_types": [ |
| "extension", "legacy_packaged_app", "login_screen_extension" ], |
| "max_manifest_version": 2 |
| }, |
| "background.scripts": { |
| "channel": "stable", |
| "max_manifest_version": 2 |
| }, |
| "background.page": { |
| "channel": "stable", |
| "max_manifest_version": 2 |
| }, |
| "background.service_worker": { |
| "channel": "stable", |
| "extension_types": ["extension", "chromeos_system_extension", "login_screen_extension"] |
| }, |
| "bluetooth": [{ |
| // Note: The "bluetooth" manifest permission is used by the |
| // chrome.bluetooth, chrome.bluetoothSocket and chrome.bluetoothLowEnergy |
| // APIs. |
| "channel": "stable", |
| "extension_types": ["platform_app"], |
| "platforms": ["chromeos", "win", "mac"] |
| }, { |
| "channel": "stable", |
| "extension_types": ["platform_app"], |
| "platforms": ["linux"], |
| "allowlist": [ |
| "9E287A8257E58EFB13E89C86A4B75A3AC4B058D8", // unit_tests browser_tests |
| "1C93BD3CF875F4A73C0B2A163BB8FBDA8B8B3D80", // http://crbug.com/396117 |
| "A3BC37E2148AC4E99BE4B16AF9D42DD1E592BBBE", // http://crbug.com/396117 |
| "E703483CEF33DEC18B4B6DD84B5C776FB9182BDB", // http://crbug.com/396117 |
| "307E96539209F95A1A8740C713E6998A73657D96", // http://crbug.com/396117 |
| "4F25792AF1AA7483936DE29C07806F203C7170A0", // http://crbug.com/407693 |
| "BD8781D757D830FC2E85470A1B6E8A718B7EE0D9", // http://crbug.com/407693 |
| "4AC2B6C63C6480D150DFDA13E4A5956EB1D0DDBB", // http://crbug.com/407693 |
| "81986D4F846CEDDDB962643FA501D1780DD441BB", // http://crbug.com/407693 |
| "A9A9FC0228ADF541F0334F22BEFB8F9C245B21D7" // http://crbug.com/839189 |
| ] |
| }, { |
| "channel": "stable", |
| "extension_types": ["extension"], |
| "platforms": ["chromeos"], |
| "allowlist": [ |
| "75C7F4B720314B6CB1B5817CD86089DB95CD2461" // http://crbug.com/899052 |
| ] |
| }], |
| "chrome_url_overrides": { |
| "channel": "stable", |
| "extension_types": ["extension", "legacy_packaged_app"] |
| }, |
| "chrome_url_overrides.activationmessage": { |
| "channel": "stable", |
| "extension_types": ["extension", "legacy_packaged_app"], |
| "platforms": ["chromeos"] |
| }, |
| "chrome_url_overrides.keyboard": { |
| "channel": "stable", |
| "extension_types": ["extension", "legacy_packaged_app"], |
| "platforms": ["chromeos"] |
| }, |
| "commands": { |
| "channel": "stable", |
| "extension_types": ["extension", "platform_app"] |
| }, |
| "content_capabilities": [{ |
| "channel": "stable", |
| "extension_types": ["extension"], |
| "allowlist": [ |
| "950D13BB9B4794F4CA2A68D3597E5DFAA47C88AE", // Drive |
| "0EEB39B7A9A52CAAE6A072F83320435749B184A4", // http://crbug.com/481210 |
| "99717FF3BE1AFB5B343CDD024E53873C1783521B", // http://crbug.com/838690 |
| "4895B1DBB92D52488F8D9FFDF9CC7B95C7258C9A", // http://crbug.com/505532 |
| "A3880AA78DB0004DE841CC980959D8443F3A8E40", // http://crbug.com/521615 |
| "C8B53B3C2CC39CB504B19D990165684FF0CE880C" // http://crbug.com/521615 |
| ] |
| }, { |
| "channel": "canary", |
| "extension_types": ["extension"] |
| }], |
| "content_security_policy": { |
| "channel": "stable", |
| // Platform apps have a restricted content security policy that cannot be |
| // overriden (except for a allowlist of exceptions, see the |
| // app.content_security_policy allowlist). |
| "extension_types": [ |
| "extension", "legacy_packaged_app", "login_screen_extension" |
| ] |
| }, |
| "cross_origin_embedder_policy": { |
| "channel": "stable", |
| "extension_types": ["extension", "platform_app"] |
| }, |
| "cross_origin_opener_policy": { |
| "channel": "stable", |
| "extension_types": ["extension", "platform_app"] |
| }, |
| "current_locale": { |
| "channel": "stable", |
| "extension_types": "all" |
| }, |
| "declarative_net_request": { |
| "channel": "stable", |
| "extension_types": ["extension"] |
| }, |
| "default_locale": { |
| "channel": "stable", |
| "extension_types": "all" |
| }, |
| "description": { |
| "channel": "stable", |
| "extension_types": "all" |
| }, |
| "devtools_page": { |
| "channel": "stable", |
| "extension_types": ["extension", "legacy_packaged_app"] |
| }, |
| "differential_fingerprint": { |
| "channel": "stable", |
| "extension_types": "all" |
| }, |
| "event_rules": { |
| "channel": "stable", |
| // "event_rules" does not grant any capabilities, it's just |
| // an optimisation for any API which uses events, so it's safe |
| // to expose to all extension types. |
| "extension_types": [ |
| "extension", |
| "legacy_packaged_app", |
| "platform_app", |
| "hosted_app", |
| "shared_module", |
| "theme" |
| ] |
| }, |
| "export": { |
| "channel": "stable", |
| "extension_types": ["shared_module"] |
| }, |
| "externally_connectable": [{ |
| "channel": "stable", |
| "extension_types": [ |
| "extension", |
| "hosted_app", |
| "legacy_packaged_app", |
| "platform_app", |
| "chromeos_system_extension" |
| ] |
| }, { |
| "channel": "stable", |
| "extension_types": ["login_screen_extension"], |
| "location": "policy", |
| "platforms": ["chromeos"], |
| "allowlist": [ |
| "93B7178E8C275515C38D4F43D9DF4648F0EA9B03", // Identity Card Connector |
| // https://crbug.com/383855830 |
| "1FC31C9D42DF1B51EA7648F73DF26400322999A8" // IDmelon Accesskey |
| ] |
| }], |
| "file_handlers": [ |
| { |
| "channel": "stable", |
| "extension_types": ["platform_app"] |
| }, |
| { |
| "channel": "stable", |
| "extension_types": [ "extension"], |
| "allowlist": [ |
| "2FC374607C2DF285634B67C64A2E356C607091C3", // Quickoffice |
| "3727DD3E564B6055387425027AD74C58784ACC15", // Quickoffice internal |
| "12E618C3C6E97495AAECF2AC12DEB082353241C6" // QO component extension |
| ] |
| }, |
| { |
| "channel": "stable", |
| "extension_types": ["extension"], |
| "min_manifest_version": 3, |
| "platforms": ["chromeos"] |
| } |
| ], |
| "protocol_handlers": { |
| "channel": "dev", |
| "extension_types": ["extension"], |
| "min_manifest_version": 3 |
| }, |
| "homepage_url": { |
| "channel": "stable", |
| "extension_types": ["extension", "legacy_packaged_app"] |
| }, |
| "host_permissions": [{ |
| "channel": "stable", |
| "extension_types": ["extension"], |
| "min_manifest_version": 3 |
| }, |
| { |
| "channel": "stable", |
| "dependencies": ["behavior:imprivata_login_screen_extension"], |
| "extension_types": ["login_screen_extension"], |
| "min_manifest_version": 3 |
| }], |
| "icons": { |
| "channel": "stable", |
| "extension_types": "all" |
| }, |
| "input_components": { |
| "channel": "stable", |
| "extension_types": ["extension", "legacy_packaged_app"] |
| }, |
| "import": { |
| "channel": "stable", |
| "extension_types": "all" |
| }, |
| "icon_variants": { |
| "channel": "canary", |
| "extension_types": ["extension"], |
| "min_manifest_version": 3, |
| "feature_flag": "ExtensionIconVariants" |
| }, |
| "incognito": [ |
| { |
| "channel": "stable", |
| "extension_types": ["extension", "legacy_packaged_app"] |
| }, |
| { |
| "channel": "stable", |
| "extension_types": ["platform_app"], |
| "location": "component" |
| } |
| ], |
| "key": { |
| "channel": "stable", |
| "extension_types": "all" |
| }, |
| "kiosk": { |
| "channel": "stable", |
| "extension_types": ["platform_app"] |
| }, |
| "kiosk.always_update": { |
| "channel": "stable", |
| "extension_types": ["platform_app"] |
| }, |
| "kiosk.required_platform_version": { |
| "channel": "stable", |
| "extension_types": ["platform_app"] |
| }, |
| "kiosk_enabled": [ |
| { |
| "channel": "stable", |
| "extension_types": [ |
| "platform_app" |
| ] |
| }, |
| { |
| "channel": "stable", |
| "extension_types": [ |
| "extension" |
| ], |
| "session_types": [ |
| "kiosk" |
| ] |
| } |
| ], |
| "kiosk_only": { |
| "channel": "stable", |
| "extension_types": [ |
| "platform_app" |
| ], |
| "platforms": ["chromeos"] |
| }, |
| "kiosk_secondary_apps": { |
| "channel": "stable", |
| "extension_types": [ |
| "platform_app" |
| ] |
| }, |
| "manifest_version": { |
| "channel": "stable", |
| "extension_types": "all" |
| }, |
| "mime_types": { |
| "channel": "stable", |
| "extension_types": [ "extension", "legacy_packaged_app", "platform_app" ], |
| "allowlist": [ |
| "787000072C6FBB934AF5A42275CDE73FC977D995", // browser_tests |
| "2FC374607C2DF285634B67C64A2E356C607091C3", // QuickOffice |
| "5D3851BEFF680AB6D954B76678EFCCE834465C23", // QuickOffice Dev |
| "12E618C3C6E97495AAECF2AC12DEB082353241C6", // Quickoffice component extension |
| "3727DD3E564B6055387425027AD74C58784ACC15", // Editor |
| "CBCC42ABED43A4B58FE3810E62AFFA010EB0349F" // PDF |
| ] |
| }, |
| "mime_types_handler": { |
| "channel": "stable", |
| "extension_types": [ "extension", "legacy_packaged_app", "platform_app" ], |
| "allowlist": [ |
| "787000072C6FBB934AF5A42275CDE73FC977D995", // browser_tests |
| "2FC374607C2DF285634B67C64A2E356C607091C3", // QuickOffice |
| "12E618C3C6E97495AAECF2AC12DEB082353241C6", // QuickOffice component extension |
| "3727DD3E564B6055387425027AD74C58784ACC15", // QuickOffice Editor |
| "CBCC42ABED43A4B58FE3810E62AFFA010EB0349F" // PDF |
| ] |
| }, |
| "nacl_modules": { |
| "channel": "stable", |
| "extension_types": [ |
| "extension", "legacy_packaged_app", "hosted_app", "platform_app" |
| ], |
| "max_manifest_version": 2 |
| }, |
| "name": { |
| "channel": "stable", |
| "extension_types": "all" |
| }, |
| "oauth2": { |
| "channel": "stable", |
| "extension_types": [ |
| "extension", "legacy_packaged_app", "platform_app" |
| ] |
| }, |
| "oauth2.auto_approve": { |
| "channel": "stable", |
| "extension_types": [ |
| "extension", "platform_app" |
| ], |
| "allowlist": [ |
| "F57FDBA2822F21B82A4C417405ABC51241CC6426", // unit_tests |
| "C41AD9DCD670210295614257EF8C9945AD68D86E", // Google Now |
| "64291898C201DAF15B090EC4B9EC270BEB6BE6FF", // In-app payments support app. |
| "4B1D0E19C6C43C008C44A8278C8B5BFE15ABEB3C", |
| "F7FA7ABC1ECB89BA8EE6656847EFABBF43BB9BCA", |
| |
| "07BD6A765FFC289FF755D7CAB2893A40EC337FEC", // http://crbug.com/430730 |
| "896B85CC7E913E11C34892C1425A093C0701D386", // http://crbug.com/430730 |
| "11A01C82EF355E674E4F9728A801F5C3CB40D83F", // http://crbug.com/430730 |
| "F410C88469990EE7947450311D24B8AF2ADB2595", // http://crbug.com/430730 |
| |
| // TODO(joaodasilva): remove these two once we have the new policy to |
| // grant auto approval by ID. http://crbug.com/399392 |
| "A8208CCC87F8261AFAEB6B85D5E8D47372DDEA6B", |
| "A4577D8C2AF4CF26F40CBCA83FFA4251D6F6C8F8", |
| "EFCF5358672FEE04789FD2EC3638A67ADEDB6C8C" // http://crbug.com/514696 |
| ] |
| }, |
| "offline_enabled": { |
| "channel": "stable", |
| "extension_types": [ |
| "extension", "legacy_packaged_app", "hosted_app", "platform_app" |
| ] |
| }, |
| "optional_host_permissions": { |
| "channel": "stable", |
| "extension_types": ["extension"], |
| "min_manifest_version": 3 |
| }, |
| "options_page": { |
| "channel": "stable", |
| "extension_types": [ |
| "extension", |
| "legacy_packaged_app", |
| "hosted_app", |
| "chromeos_system_extension" |
| ] |
| }, |
| "options_ui": { |
| "channel": "stable", |
| "extension_types": ["extension", "legacy_packaged_app"] |
| }, |
| "page_action": { |
| "channel": "stable", |
| "extension_types": ["extension"], |
| "max_manifest_version": 2 |
| }, |
| "permissions": { |
| "channel": "stable", |
| "extension_types": [ |
| "extension", |
| "legacy_packaged_app", |
| "hosted_app", |
| "platform_app", |
| "login_screen_extension", |
| "chromeos_system_extension" |
| ] |
| }, |
| "replacement_web_app": { |
| "channel": "stable", |
| "extension_types": ["extension", "platform_app"] |
| }, |
| "requirements": { |
| "channel": "stable", |
| "extension_types": [ |
| "extension", "legacy_packaged_app", "hosted_app", "platform_app" |
| ] |
| }, |
| "sandbox": { |
| "channel": "stable", |
| "extension_types": [ |
| "extension", "platform_app", "legacy_packaged_app" |
| ] |
| }, |
| "short_name": { |
| "channel": "stable", |
| "extension_types": "all" |
| }, |
| "sockets": [ |
| { |
| "channel": "stable", |
| "extension_types": ["platform_app"] |
| }, |
| { |
| "channel": "stable", |
| "extension_types": ["extension"], |
| "allowlist": [ |
| "3BC1ED0B3E6EFDC7BD4D3D1D75D44B52DEE0A226", // Secure Shell Ext (stable) |
| "38C361D4A0726CE45D3572D65071B6BDB3092371" // Secure Shell Ext (dev) |
| ] |
| }, |
| { |
| "channel": "dev", |
| "extension_types": ["extension"], |
| "platforms": ["chromeos"], |
| "session_types": ["kiosk"] |
| } |
| ], |
| "trial_tokens": { |
| "channel": "stable", |
| "extension_types": ["extension"], |
| "min_manifest_version": 3 |
| }, |
| "tts_engine": { |
| "channel": "stable", |
| "extension_types": ["extension", "legacy_packaged_app"] |
| }, |
| "update_url": { |
| "channel": "stable", |
| "extension_types": "all" |
| }, |
| "usb_printers": { |
| "channel": "stable", |
| "extension_types": ["platform_app"] |
| }, |
| "version": { |
| "channel": "stable", |
| "extension_types": "all" |
| }, |
| "version_name": { |
| "channel": "stable", |
| "extension_types": "all" |
| }, |
| "web_accessible_resources": [ |
| { |
| "channel": "stable", |
| "extension_types": [ |
| "extension", "legacy_packaged_app", "hosted_app" |
| ] |
| }, |
| { |
| "channel": "stable", |
| "extension_types": ["platform_app"], |
| "location": "component" |
| }, |
| { |
| "channel": "stable", |
| "dependencies": ["behavior:imprivata_login_screen_extension"], |
| "extension_types": ["login_screen_extension"] |
| }, { |
| "channel": "stable", |
| "extension_types": ["login_screen_extension"], |
| "location": "policy", |
| "platforms": ["chromeos"], |
| "allowlist": [ |
| // https://crbug.com/383855830 |
| "1FC31C9D42DF1B51EA7648F73DF26400322999A8" // IDmelon Accesskey |
| ] |
| } |
| ], |
| "webview": { |
| "channel": "stable", |
| "extension_types": ["platform_app"] |
| } |
| } |