blob: 3d8ebba0cc2ebfa8d89b96c49574b25323e60215 [file] [log] [blame]
// 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": [
"nckgahadagoaajjgafhacjanaoiihapd", // Google Talk prod
"eggnbpckecmjlblplehfpjjdhhidfdoj", // Google Talk beta
"ppleadejekpmccmnpjdimmlfljlkdfej", // Google Talk alpha
"ljclpkphhpbpinifbeabbhlfddcpfdde", // Google Talk debug
"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_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"]
},
"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_enabled": {
"channel": "stable",
"extension_types": [
"platform_app"
]
},
"kiosk_only": {
"channel": "dev",
"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
]
},
"manifest_version": {
"channel": "stable",
"extension_types": "all"
},
"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",
"1A26E32DE447A17CBE5E9750CDBA78F58539B39C", // TODO(rockot): Kill these.
"E61F841D8210B6A9891E5384CB665FBED31FCD7B", // http://crbug.com/281715
"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"
]
},
"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"]
},
"version": {
"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
}
}