// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-// See c/c/e/features/* to understand this file, in particular feature.h,
-// simple_feature.h, and base_feature_provider.h.
+// This features file defines manifest keys implemented under src/chrome.
+// 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
- },
"app.isolation": {
"channel": "stable",
// Platform apps always have isolated storage, thus they cannot specify it
"channel": "stable",
"extension_types": "all"
},
- "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
+ "automation": {
+ "channel": "trunk",
+ "extension_types": ["extension", "legacy_packaged_app"]
},
"bluetooth": {
+ // Note: The "bluetooth" manifest permission is used by the
+ // chrome.bluetooth, chrome.bluetoothSocket and chrome.bluetoothLowEnergy
+ // APIs. Split this property if the APIs get released at different dates.
"channel": "dev",
"extension_types": ["platform_app"]
},
"whitelist": [
"CB2E4E7174A398FCB3AFA6840500C2E1D22DA7B2", // Bookmark Manager
"D5736E4B5CF695CB93A2FB57E4FDC6E5AFAB6FE2", // http://crbug.com/312900
- "D57DE394F36DC1C3220E7604C575D29C51A6C495" // http://crbug.com/319444
+ "D57DE394F36DC1C3220E7604C575D29C51A6C495", // http://crbug.com/319444
+ "3F65507A3B39259B38C8173C6FFA3D12DF64CCE9" // http://crbug.com/371562
]
}],
"chrome_ui_overrides": [{
"whitelist": [
"CB2E4E7174A398FCB3AFA6840500C2E1D22DA7B2", // Bookmark Manager
"D5736E4B5CF695CB93A2FB57E4FDC6E5AFAB6FE2", // http://crbug.com/312900
- "D57DE394F36DC1C3220E7604C575D29C51A6C495" // http://crbug.com/319444
+ "D57DE394F36DC1C3220E7604C575D29C51A6C495", // http://crbug.com/319444
+ "3F65507A3B39259B38C8173C6FFA3D12DF64CCE9" // http://crbug.com/371562
]
}],
"chrome_url_overrides": {
"channel": "dev",
"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"]
- },
"content_scripts": {
"channel": "stable",
"extension_types": ["extension", "legacy_packaged_app"]
"location": "component"
}
],
- "file_handlers": {
+ "file_handlers": [
+ {
"channel": "stable",
"extension_types": ["platform_app"]
- },
+ }, {
+ "channel": "stable",
+ "extension_types": [ "extension"],
+ "whitelist": [
+ "2FC374607C2DF285634B67C64A2E356C607091C3", // Quickoffice
+ "3727DD3E564B6055387425027AD74C58784ACC15", // Quickoffice internal
+ "12E618C3C6E97495AAECF2AC12DEB082353241C6" // QO component extension
+ ]
+ }],
"homepage_url": {
"channel": "stable",
"extension_types": ["extension", "legacy_packaged_app"]
"channel": "stable",
"extension_types": "all"
},
- "incognito": [
- {
- "channel": "stable",
- "extension_types": ["extension", "legacy_packaged_app"]
- },
- {
- "channel": "stable",
- "extension_types": ["platform_app"],
- "location": "component"
- }
- ],
"input_components": {
"channel": "stable",
"extension_types": ["extension", "legacy_packaged_app"]
"channel": "stable",
"extension_types": "all"
},
- "kiosk_enabled": {
- "channel": "stable",
- "extension_types": [
- "platform_app"
- ]
- },
- "kiosk_only": {
- "channel": "dev",
- "extension_types": [
- "platform_app"
- ]
- },
"manifest_version": {
"channel": "stable",
"extension_types": "all"
"mhjfbmdgcfjbbpaeojofohoefgiehjai" // PDF
]
},
+ "mime_types_handler": {
+ "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
+ ]
+ },
"minimum_chrome_version": {
"channel": "stable",
"extension_types": [
"E61F841D8210B6A9891E5384CB665FBED31FCD7B" // http://crbug.com/281715
]
},
- "offline_enabled": {
- "channel": "stable",
- "extension_types": [
- "extension", "legacy_packaged_app", "hosted_app", "platform_app"
- ]
- },
"omnibox": {
"channel": "stable",
"extension_types": ["extension", "legacy_packaged_app"]
"extension", "legacy_packaged_app", "hosted_app", "platform_app"
]
},
- "sandbox": {
- "channel": "stable",
- "extension_types": [
- "extension", "platform_app", "legacy_packaged_app"
- ],
- "min_manifest_version": 2
- },
"script_badge": {
"channel": "trunk",
"extension_types": ["extension"]
"channel": "stable",
"extension_types": "all"
},
- "sockets": {
- "channel": "stable",
- "extension_types": ["platform_app"]
- },
"spellcheck": {
"channel": "dev",
"extension_types": ["extension"]
"channel": "stable",
"whitelist": [
"F29716B08705C9D3C12CDFE3F638BAE709570C31", // browser_tests
- "53041A2FA309EECED01FFC751E7399186E860B2C", // hangouts
- "312745D9BF916161191143F6490085EEA0434997", // hangouts beta
+ // See crbug.com/245730 for details on the Hangouts whitelist.
+ "53041A2FA309EECED01FFC751E7399186E860B2C", // Hangouts
+ "312745D9BF916161191143F6490085EEA0434997", // Hangouts beta
"A74A4D44C7CFCD8844830E6140C8D763E12DD8F3", // Hangouts alpha
"E7E2461CE072DF036CF9592740196159E2D7C089", // Hangouts debug
"49DA0B9CCEEA299186C6E7226FD66922D57543DC" // Hangouts dev
"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
}
}