// Copyright 2014 The Chromium Authors. All rights reserved. // 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 extensions/common/features/* to understand this file, in particular // feature.h, simple_feature.h, and base_feature_provider.h. // To add a new whitelisted ID, SHA-1 it and force it to uppercase. In Bash: // // $ echo -n "aaaabbbbccccddddeeeeffffgggghhhh" | \ // sha1sum | tr '[:lower:]' '[:upper:]' // 9A0417016F345C934A1A88F55CA17C05014EEEBA - // // Google employees: please update http://go/chrome-api-whitelist to map // hashes back to ids. { "app": { "channel": "stable", "extension_types": ["legacy_packaged_app", "hosted_app", "platform_app"] }, // The default platform app CSP can only be overridden by whitelisted apps. // This is a separate key from the top-level content_security_policy one since // we can't combine type restrictions with whitelisted ID restrictions. If // there is a need for additional whitelisted entries, the feature system // should instead be extended to support OR-ing of restrictions. "app.content_security_policy": { "channel": "stable", "extension_types": ["platform_app"], "min_manifest_version": 2, "whitelist": [ // Keep this list in sync with extensions_misc::kHangoutsExtensionIds but // omit the Packaged App ids. "nckgahadagoaajjgafhacjanaoiihapd", // Hangouts Production. "ljclpkphhpbpinifbeabbhlfddcpfdde", // Hangouts Debug. "ppleadejekpmccmnpjdimmlfljlkdfej", // Hangouts Alpha. "eggnbpckecmjlblplehfpjjdhhidfdoj", // Hangouts Beta. "lphgohfeebnhcpiohjndkgbhhkoapkjc" // Apps Debugger ] }, "app.background": { "channel": "stable", "extension_types": ["platform_app"], "min_manifest_version": 2 }, "background": { "channel": "stable", "extension_types": [ // Platform apps specify their background page via app.background. "extension", "legacy_packaged_app", "hosted_app" ] }, "background.persistent": { "channel": "stable", "extension_types": [ "extension", "legacy_packaged_app" ], "min_manifest_version": 2 }, "background_page": { "channel": "stable", "extension_types": [ "extension", "legacy_packaged_app", "hosted_app" ], "max_manifest_version": 1 }, "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"], "whitelist": [ "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 ] }], "content_capabilities": [{ "channel": "stable", "extension_types": ["extension"], "whitelist": [ "950D13BB9B4794F4CA2A68D3597E5DFAA47C88AE", // Drive "0EEB39B7A9A52CAAE6A072F83320435749B184A4", // http://crbug.com/481210 "D4AF239830E1E038C9B60DA365B1EC9CB3BC5658", // http://crbug.com/481210 "4895B1DBB92D52488F8D9FFDF9CC7B95C7258C9A", // http://crbug.com/505532 "A3880AA78DB0004DE841CC980959D8443F3A8E40", // http://crbug.com/521615 "C8B53B3C2CC39CB504B19D990165684FF0CE880C" // http://crbug.com/521615 ] }, { "channel": "beta", "extension_types": ["extension"], "whitelist": [ "4895B1DBB92D52488F8D9FFDF9CC7B95C7258C9A", // https://crbug.com/570337 "A3880AA78DB0004DE841CC980959D8443F3A8E40", // https://crbug.com/570337 "C8B53B3C2CC39CB504B19D990165684FF0CE880C" // https://crbug.com/570337 ] }, { "channel": "dev", "extension_types": ["extension"], "whitelist": [ "4895B1DBB92D52488F8D9FFDF9CC7B95C7258C9A", // https://crbug.com/570337 "A3880AA78DB0004DE841CC980959D8443F3A8E40", // https://crbug.com/570337 "C8B53B3C2CC39CB504B19D990165684FF0CE880C" // https://crbug.com/570337 ] }, { "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 whitelist of exceptions, see the // app.content_security_policy whitelist). "extension_types": ["extension", "legacy_packaged_app"] }, "copresence" : { "channel": "stable", "extension_types": "all" }, "current_locale": { "channel": "stable", "extension_types": "all" }, "default_locale": { "channel": "stable", "extension_types": "all" }, "description": { "channel": "stable", "extension_types": "all" }, "externally_connectable": { "channel": "stable", "extension_types": [ "extension", "hosted_app", "legacy_packaged_app", "platform_app" ] }, "file_handlers": [ { "channel": "stable", "extension_types": ["platform_app"] }, { "channel": "stable", "extension_types": [ "extension"], "whitelist": [ "2FC374607C2DF285634B67C64A2E356C607091C3", // Quickoffice "3727DD3E564B6055387425027AD74C58784ACC15", // Quickoffice internal "12E618C3C6E97495AAECF2AC12DEB082353241C6" // QO component extension ] } ], "icons": { "channel": "stable", "extension_types": "all" }, "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": "dev", "extension_types": ["platform_app"] }, "kiosk.required_platform_version": { "channel": "dev", "extension_types": ["platform_app"] }, "kiosk_enabled": { "channel": "stable", "extension_types": [ "platform_app" ] }, "kiosk_only": { "channel": "stable", "extension_types": [ "platform_app" ], "platforms": ["chromeos"] }, "kiosk_secondary_apps": { "channel": "stable", "extension_types": [ "platform_app" ] }, "launcher_page": { "channel": "stable", "min_manifest_version": 2, "extension_types": ["platform_app"], "whitelist": [ "07BD6A765FFC289FF755D7CAB2893A40EC337FEC", // http://crbug.com/404000 "896B85CC7E913E11C34892C1425A093C0701D386", // http://crbug.com/404000 "11A01C82EF355E674E4F9728A801F5C3CB40D83F", // http://crbug.com/404000 "F410C88469990EE7947450311D24B8AF2ADB2595" // http://crbug.com/404000 ] }, "manifest_version": { "channel": "stable", "extension_types": "all" }, "mime_types": { "channel": "stable", "extension_types": [ "extension", "legacy_packaged_app", "platform_app" ], "whitelist": [ "oickdpebdnfbgkcaoklfcdhjniefkcji", // browser_tests "gbkeegbaiigmenfmjfclcdgdpimamgkj", // QuickOffice "ionpfmkccalenbmnddpbmocokhaknphg", // QuickOffice Dev "bpmcpldpdmajfigpchkicefoigmkfalc", // Quickoffice component extension "ehibbfinohgbchlgdbfpikodjaojhccn", // Editor "mhjfbmdgcfjbbpaeojofohoefgiehjai" // PDF ] }, "mime_types_handler": { "channel": "stable", "extension_types": [ "extension", "legacy_packaged_app", "platform_app" ], "whitelist": [ "oickdpebdnfbgkcaoklfcdhjniefkcji", // browser_tests "mhjfbmdgcfjbbpaeojofohoefgiehjai" // PDF ] }, "nacl_modules": { "channel": "stable", "extension_types": [ "extension", "legacy_packaged_app", "hosted_app", "platform_app" ] }, "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" ], "whitelist": [ "mdbihdcgjmagbcapkhhkjbbdlkflmbfo", // unit_tests "pafkbggdmjlpgkdkcbjmhmfcdpncadgh", // Google Now "nmmhkkegccagdldgiimedpiccmgmieda", // 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" ] }, "options_ui": { "channel": "stable", "extension_types": ["extension", "legacy_packaged_app"] }, "sandbox": { "channel": "stable", "extension_types": [ "extension", "platform_app", "legacy_packaged_app" ], "min_manifest_version": 2 }, "sockets": { "channel": "stable", "extension_types": ["platform_app"] }, "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" } ], "webview": { "channel": "stable", "extension_types": ["platform_app"], "min_manifest_version": 2 } }