| // Copyright 2012 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 extension APIs implemented under src/chrome. |
| // See chrome/common/extensions/api/_features.md to understand this file, as |
| // well as feature.h, simple_feature.h, and feature_provider.h. |
| // |
| // Note that specifying "web_page", "privileged_web_page", or "all" as a context |
| // type will require manually updating javascript bindings code in the |
| // renderer. |
| |
| { |
| "accessibilityFeatures": [{ |
| "dependencies": ["permission:accessibilityFeatures.modify"], |
| "contexts": ["privileged_extension"] |
| }, { |
| "dependencies": ["permission:accessibilityFeatures.read"], |
| "contexts": ["privileged_extension"] |
| }], |
| "accessibilityPrivate": { |
| "dependencies": ["permission:accessibilityPrivate"], |
| "contexts": ["privileged_extension"] |
| }, |
| "accessibilityServicePrivate": { |
| "dependencies": ["permission:accessibilityServicePrivate"], |
| "channel": "stable", |
| "contexts": ["privileged_extension"], |
| "platforms": ["chromeos"] |
| }, |
| "action": { |
| "dependencies": ["manifest:action"], |
| "contexts": ["privileged_extension"] |
| }, |
| "action.openPopup": [{ |
| "channel": "stable", |
| // TODO(https://crbug.com/40057101): Remove this guard after the feature |
| // has been in stable for a milestone or two. |
| "feature_flag": "ApiActionOpenPopup" |
| }, { |
| "channel": "stable", |
| "location": "policy" |
| }], |
| "action.isEnabled": { |
| "channel": "stable" |
| }, |
| "action.getBadgeTextColor": { |
| "channel": "stable" |
| }, |
| "action.setBadgeTextColor": { |
| "channel": "stable" |
| }, |
| "activityLogPrivate": [{ |
| "dependencies": ["permission:activityLogPrivate"], |
| "contexts": ["privileged_extension"] |
| }, { |
| "channel": "stable", |
| "contexts": ["webui"], |
| "matches": [ |
| "chrome://extensions/*" |
| ] |
| }], |
| "experimentalActor": { |
| "contexts": ["privileged_extension"], |
| "dependencies": ["permission:experimentalActor"], |
| "channel": "beta" |
| }, |
| "experimentalAiData": { |
| "contexts": ["privileged_extension"], |
| "dependencies": ["permission:experimentalAiData"], |
| "channel": "beta" |
| }, |
| "app": { |
| "blocklist": [ |
| "2FC374607C2DF285634B67C64A2E356C607091C3", // Quickoffice |
| "3727DD3E564B6055387425027AD74C58784ACC15", // Quickoffice internal |
| "12E618C3C6E97495AAECF2AC12DEB082353241C6", // QO component extension |
| "06BE211D5F014BAB34BC22D9DDA09C63A81D828E", // Official xkb extension |
| "F94EE6AB36D6C6588670B2B01EB65212D9C64E33", // Open source xkb extension |
| "B9EF10DDFEA11EF77873CC5009809E5037FC4C7A" // Google input tools |
| ], |
| "channel": "stable", |
| "extension_types": ["hosted_app", "extension", "legacy_packaged_app"], |
| "contexts": [ |
| "privileged_extension", |
| "unprivileged_extension", |
| "content_script", |
| "web_page", |
| "privileged_web_page" |
| ], |
| "disallow_for_service_workers": true, |
| "max_manifest_version": 2, |
| // Any webpage can use the app API. |
| "matches": ["<all_urls>"] |
| }, |
| "appviewTag": { |
| "internal": true, |
| "dependencies": ["permission:appview"], |
| "contexts": ["privileged_extension"] |
| }, |
| "autofillPrivate": [{ |
| "dependencies": ["permission:autofillPrivate"], |
| "contexts": ["privileged_extension"] |
| }, { |
| "channel": "stable", |
| "contexts": ["webui"], |
| "matches": [ |
| "chrome://settings/*" |
| ] |
| }], |
| "autotestPrivate": { |
| "dependencies": ["permission:autotestPrivate"], |
| "contexts": ["privileged_extension"] |
| }, |
| "bookmarkManagerPrivate": { |
| "channel": "stable", |
| "contexts": ["webui"], |
| "matches": [ |
| "chrome://bookmarks/*", |
| "chrome://bookmarks-side-panel.top-chrome/*", |
| "chrome://read-later.top-chrome/*" |
| ] |
| }, |
| "bookmarks": [{ |
| "dependencies": ["permission:bookmarks"], |
| "contexts": ["privileged_extension"], |
| "default_parent": true |
| }, { |
| "channel": "stable", |
| "contexts": ["webui"], |
| "matches": [ |
| "chrome://bookmarks/*", |
| "chrome://bookmarks-side-panel.top-chrome/*", |
| "chrome://read-later.top-chrome/*", |
| "chrome://welcome/*" |
| ] |
| }], |
| "bookmarks.export": { |
| "channel": "stable", |
| "contexts": ["webui"], |
| "dependencies": [], |
| "matches": [ |
| "chrome://bookmarks/*" |
| ] |
| }, |
| "bookmarks.import": { |
| "channel": "stable", |
| "contexts": ["webui"], |
| "dependencies": [], |
| "matches": [ |
| "chrome://bookmarks/*" |
| ] |
| }, |
| "brailleDisplayPrivate": { |
| "dependencies": ["permission:brailleDisplayPrivate"], |
| "contexts": ["privileged_extension"] |
| }, |
| "browserAction": { |
| "dependencies": ["manifest:browser_action"], |
| "contexts": ["privileged_extension"] |
| }, |
| // This API is allowlisted on stable and should not be enabled for a wider |
| // audience without resolving security issues raised in API proposal and |
| // review (https://codereview.chromium.org/25305002). |
| "browserAction.openPopup": [{ |
| "channel": "dev", |
| "dependencies": ["manifest:browser_action"], |
| "contexts": ["privileged_extension"] |
| }, { |
| "channel": "stable", |
| "dependencies": ["manifest:browser_action"], |
| "allowlist": [ |
| // The extensions below here only use openPopup on a user action, |
| // so are safe, and can be removed when the allowlist on that |
| // capability is lifted. See crbug.com/436489 for context. |
| "A4577D8C2AF4CF26F40CBCA83FFA4251D6F6C8F8", // http://crbug.com/497301 |
| "A8208CCC87F8261AFAEB6B85D5E8D47372DDEA6B", // http://crbug.com/497301 |
| "EFCF5358672FEE04789FD2EC3638A67ADEDB6C8C" // http://crbug.com/514696 |
| ], |
| "contexts": ["privileged_extension"] |
| }], |
| "browsingData": { |
| "dependencies": ["permission:browsingData"], |
| "contexts": ["privileged_extension"] |
| }, |
| "certificateProvider": { |
| "dependencies": ["permission:certificateProvider"], |
| "contexts": ["privileged_extension"] |
| }, |
| "certificateProvider.onCertificatesRequested": { |
| "max_manifest_version": 2 |
| }, |
| "certificateProvider.onSignDigestRequested": { |
| "max_manifest_version": 2 |
| }, |
| "certificateProviderInternal": { |
| "internal": true, |
| "dependencies": ["permission:certificateProvider"], |
| "contexts": ["privileged_extension"] |
| }, |
| "chromeosInfoPrivate": [{ |
| "dependencies": ["permission:chromeosInfoPrivate"], |
| "contexts": ["privileged_extension"] |
| }, { |
| "channel": "stable", |
| "contexts": ["webui"], |
| "matches": [ |
| "chrome://version/*" |
| ], |
| "platforms": ["chromeos"] |
| }], |
| // This feature controls the availability of the <webview> tag itself. This |
| // is separate from the chromeWebViewInternal API, which is needed by other |
| // elements that are built atop <webview> (like Controlled Frame). |
| "chromeWebViewTag": [{ |
| "internal": true, |
| "dependencies": ["permission:webview"], |
| "contexts": ["privileged_extension"] |
| }, { |
| "internal": true, |
| "channel": "stable", |
| "contexts": ["webui"], |
| "matches": [ |
| "chrome://assistant-optin/*", |
| "chrome://add-supervision/*", |
| "chrome://chrome-signin/*", |
| "chrome://glic/*", |
| "chrome://glic-fre/*", |
| "chrome://graduation/*", |
| "chrome://mobilesetup/*", |
| "chrome://oobe/*", |
| "chrome://os-settings/*", |
| "chrome://parent-access/*", |
| "chrome://password-change/*", |
| "chrome://lock-reauth/*" |
| ] |
| }, { |
| "internal": true, |
| "channel": "stable", |
| "contexts": [ |
| "webui_untrusted" |
| ], |
| "matches": [ |
| "chrome-untrusted://boca-app/*" |
| ] |
| }], |
| "chromeWebViewInternal": [{ |
| "internal": true, |
| "dependencies": ["api:chromeWebViewTag"], |
| "contexts": ["privileged_extension"] |
| }, { |
| "internal": true, |
| "dependencies": ["api:chromeWebViewTag"], |
| "contexts": ["webui"], |
| // Note: The dependency above effectively restricts where this can be used |
| // to the specified set of URLs, so this could even be <all_urls>. Just to |
| // be extra-cautious, we restrict to the chrome scheme. |
| "matches": [ "chrome://*/*" ] |
| }, { |
| "internal": true, |
| "channel": "stable", |
| "contexts": [ |
| "webui_untrusted" |
| ], |
| "matches": [ |
| "chrome-untrusted://boca-app/*" |
| ] |
| }, { |
| // This feature is used by the Controlled Frame API and is specifically |
| // enabled by //chrome. |
| "internal": true, |
| "channel": "stable", |
| "contexts": ["web_page"], |
| "matches": [ |
| "<all_urls>" |
| ], |
| // This feature is only enabled if the embedder's delegated check returns |
| // true. |
| "requires_delegated_availability_check": true |
| }], |
| "commandLinePrivate": { |
| "dependencies": ["permission:commandLinePrivate"], |
| "contexts": ["privileged_extension"] |
| }, |
| "commands": { |
| "dependencies": ["manifest:commands"], |
| "contexts": ["privileged_extension"] |
| }, |
| "contentSettings": [{ |
| "dependencies": ["permission:contentSettings"], |
| "contexts": [ |
| "privileged_extension" |
| ], |
| "default_parent": true |
| },{ |
| "channel": "stable", |
| "contexts": [ |
| "webui_untrusted" |
| ], |
| "matches": [ |
| "chrome-untrusted://boca-app/*" |
| ] |
| }], |
| "contentSettings.clipboard": { |
| "feature_flag": "ApiContentSettingsClipboard" |
| }, |
| "contextMenus": { |
| "dependencies": ["permission:contextMenus"], |
| "contexts": ["privileged_extension"] |
| }, |
| "cookies": { |
| "dependencies": ["permission:cookies"], |
| "contexts": ["privileged_extension"] |
| }, |
| "crashReportPrivate": [{ |
| "dependencies": ["permission:crashReportPrivate"], |
| "contexts": ["privileged_extension"], |
| "default_parent": true |
| }, |
| { |
| "channel": "stable", |
| "contexts": [ |
| "webui" |
| ], |
| "matches": [ |
| "chrome://camera-app/*", |
| "chrome://media-app/*", |
| "chrome://recorder-app/*" |
| ] |
| }, |
| { |
| "channel": "stable", |
| "contexts": ["webui_untrusted"], |
| "matches": [ |
| "chrome-untrusted://boca-app/*", |
| "chrome-untrusted://camera-app/*", |
| "chrome-untrusted://help-app/*", |
| "chrome-untrusted://media-app/*", |
| "chrome-untrusted://projector/*", |
| "chrome-untrusted://projector-annotator/*" |
| ] |
| }], |
| "debugger": { |
| "dependencies": ["permission:debugger"], |
| "contexts": ["privileged_extension"], |
| // This restriction is not true for production. It is only true when the |
| // extensions_features::kDebuggerAPIRestrictedToDevMode feature is enabled. |
| "developer_mode_only" : true |
| }, |
| "declarativeContent": { |
| "dependencies": ["permission:declarativeContent"], |
| "contexts": ["privileged_extension"] |
| }, |
| "desktopCapture": { |
| "dependencies": ["permission:desktopCapture"], |
| "contexts": ["privileged_extension"] |
| }, |
| "developerPrivate": [{ |
| "dependencies": ["permission:developerPrivate", "permission:management"], |
| "contexts": ["privileged_extension"] |
| }, { |
| "channel": "stable", |
| "contexts": ["webui"], |
| "matches": ["chrome://extensions/*"] |
| }], |
| // All devtools APIs are implemented by hand, so don't compile them. |
| "devtools.inspectedWindow": { |
| "nocompile": true, |
| "dependencies": ["manifest:devtools_page"], |
| "contexts": ["privileged_extension"] |
| }, |
| "devtools.network": { |
| "nocompile": true, |
| "dependencies": ["manifest:devtools_page"], |
| "contexts": ["privileged_extension"] |
| }, |
| "devtools.panels": { |
| "nocompile": true, |
| "dependencies": ["manifest:devtools_page"], |
| "contexts": ["privileged_extension"] |
| }, |
| "documentScan": { |
| "dependencies": ["permission:documentScan"], |
| "contexts": ["privileged_extension"] |
| }, |
| "dom": { |
| "channel": "stable", |
| "contexts": ["privileged_extension", "content_script"] |
| }, |
| "downloads": { |
| "dependencies": ["permission:downloads"], |
| "contexts": ["privileged_extension"] |
| }, |
| "downloadsInternal": { |
| "internal": true, |
| "channel": "stable", |
| "contexts": ["privileged_extension"], |
| "dependencies": ["permission:downloads"] |
| }, |
| "echoPrivate": { |
| "dependencies": ["permission:echoPrivate"], |
| "contexts": ["privileged_extension"] |
| }, |
| "enterprise.hardwarePlatform": { |
| "dependencies": ["permission:enterprise.hardwarePlatform"], |
| "contexts": ["privileged_extension"] |
| }, |
| "enterprise.deviceAttributes": { |
| "dependencies": ["permission:enterprise.deviceAttributes"], |
| "contexts": ["privileged_extension"] |
| }, |
| "enterprise.kioskInput": { |
| "dependencies": ["permission:enterprise.kioskInput"], |
| "contexts": ["privileged_extension"] |
| }, |
| "enterprise.networkingAttributes": { |
| "dependencies": ["permission:enterprise.networkingAttributes"], |
| "contexts": ["privileged_extension"] |
| }, |
| "enterprise.platformKeys": { |
| "dependencies": ["permission:enterprise.platformKeys"], |
| "contexts": ["privileged_extension"] |
| }, |
| "enterprise.platformKeysInternal": { |
| "dependencies": ["permission:enterprise.platformKeys"], |
| "internal": true, |
| "contexts": ["privileged_extension"] |
| }, |
| "enterprise.platformKeysPrivate": { |
| "dependencies": ["permission:enterprise.platformKeysPrivate"], |
| "contexts": ["privileged_extension"] |
| }, |
| "enterprise.reportingPrivate": { |
| "dependencies": ["permission:enterprise.reportingPrivate"], |
| "contexts": ["privileged_extension"] |
| }, |
| "enterprise.reportingPrivate.getFileSystemInfo": { |
| "platforms": ["win", "mac", "linux"] |
| }, |
| "enterprise.reportingPrivate.getSettings": { |
| "platforms": ["win", "mac"] |
| }, |
| "enterprise.reportingPrivate.getAvInfo": { |
| "platforms": ["win"] |
| }, |
| "enterprise.reportingPrivate.getHotfixes": { |
| "platforms": ["win"] |
| }, |
| "enterprise.reportingPrivate.onDataMaskingRulesTriggered": { |
| "feature_flag": "ApiEnterpriseReportingPrivateOnDataMaskingRulesTriggered" |
| }, |
| "experimental.devtools.audits": { |
| "nocompile": true, |
| "dependencies": ["permission:experimental", "manifest:devtools_page"], |
| "contexts": ["privileged_extension"] |
| }, |
| "experimental.devtools.console": { |
| "nocompile": true, |
| "dependencies": ["permission:experimental", "manifest:devtools_page"], |
| "contexts": ["privileged_extension"] |
| }, |
| "extension": { |
| "channel": "stable", |
| "extension_types": ["extension", "legacy_packaged_app"], |
| "contexts": ["privileged_extension"] |
| }, |
| "extension.getBackgroundPage": { |
| "contexts": ["privileged_extension"], |
| "disallow_for_service_workers": true |
| }, |
| "extension.getExtensionTabs": { |
| "contexts": ["privileged_extension"], |
| "disallow_for_service_workers": true, |
| "max_manifest_version": 2 |
| }, |
| "extension.getURL": { |
| "contexts": [ |
| "privileged_extension", |
| "unprivileged_extension", |
| "content_script" |
| ], |
| "max_manifest_version": 2 |
| }, |
| "extension.getViews": { |
| "channel": "stable", |
| "contexts": ["privileged_extension"], |
| "extension_types": ["extension", "legacy_packaged_app"], |
| "disallow_for_service_workers": true |
| }, |
| "extension.inIncognitoContext": { |
| "contexts": [ |
| "privileged_extension", |
| "unprivileged_extension", |
| "content_script" |
| ] |
| }, |
| "extension.lastError": { |
| "contexts": [ |
| "privileged_extension", |
| "unprivileged_extension", |
| "content_script" |
| ], |
| "max_manifest_version": 2 |
| }, |
| "extension.onRequest": { |
| "contexts": [ |
| "privileged_extension", |
| "unprivileged_extension", |
| "content_script" |
| ], |
| "max_manifest_version": 2 |
| }, |
| "extension.onRequestExternal": { |
| "max_manifest_version": 2 |
| }, |
| "extension.sendRequest": { |
| "contexts": [ |
| "privileged_extension", |
| "unprivileged_extension", |
| "content_script" |
| ], |
| "max_manifest_version": 2 |
| }, |
| "extensionOptionsInternal": { |
| "internal": true, |
| "channel": "stable", |
| "contexts": ["webui"], |
| "matches": ["chrome://extensions/*"] |
| }, |
| // This is not a real API, only here for documentation purposes. |
| // See http://crbug.com/275944 for background. |
| "extensionsManifestTypes": { |
| "internal": true, |
| "channel": "stable", |
| "contexts": [] |
| }, |
| "fileBrowserHandler": { |
| "dependencies": ["permission:fileBrowserHandler"], |
| "contexts": ["privileged_extension"], |
| "disallow_for_service_workers": true |
| }, |
| "fileBrowserHandlerInternal": { |
| "internal": true, |
| "dependencies": ["permission:fileBrowserHandler"], |
| "contexts": ["privileged_extension"], |
| "disallow_for_service_workers": true |
| }, |
| "fileManagerPrivate": [{ |
| "dependencies": ["permission:fileManagerPrivate"], |
| "contexts": ["privileged_extension"] |
| }, { |
| "channel": "stable", |
| "contexts": ["webui"], |
| "matches": [ |
| "chrome://file-manager/*", |
| "chrome://webui-test/*" |
| ] |
| }], |
| "fileManagerPrivateInternal": [{ |
| "internal": true, |
| "dependencies": ["permission:fileManagerPrivate"], |
| "contexts": ["privileged_extension"] |
| }, { |
| "internal": true, |
| "channel": "stable", |
| "contexts": ["webui"], |
| "matches": [ |
| "chrome://file-manager/*", |
| "chrome://webui-test/*" |
| ] |
| }], |
| "fileSystemProvider": [{ |
| "dependencies": ["permission:fileSystemProvider"], |
| "contexts": ["privileged_extension"] |
| }, { |
| "channel": "stable", |
| "contexts": ["webui_untrusted"], |
| "matches": [ |
| "chrome-untrusted://terminal/*" |
| ], |
| "platforms": ["chromeos"] |
| }], |
| "fileSystemProviderInternal": [{ |
| "internal": true, |
| "dependencies": ["permission:fileSystemProvider"], |
| "contexts": ["privileged_extension"] |
| }, { |
| "internal": true, |
| "channel": "stable", |
| "contexts": ["webui_untrusted"], |
| "matches": [ |
| "chrome-untrusted://terminal/*" |
| ], |
| "platforms": ["chromeos"] |
| }], |
| "fontSettings": { |
| "dependencies": ["permission:fontSettings"], |
| "contexts": ["privileged_extension"] |
| }, |
| "gcm": { |
| "dependencies": ["permission:gcm"], |
| "contexts": ["privileged_extension"] |
| }, |
| "history": { |
| "dependencies": ["permission:history"], |
| "contexts": ["privileged_extension"] |
| }, |
| "identity": { |
| "dependencies": ["permission:identity"], |
| "contexts": ["privileged_extension"] |
| }, |
| "identity.getAccounts": { |
| "channel": "dev", |
| "dependencies": ["permission:identity"], |
| "contexts": ["privileged_extension"] |
| }, |
| "idltest": { |
| "dependencies": ["permission:idltest"], |
| "contexts": ["privileged_extension"] |
| }, |
| "imageLoaderPrivate": { |
| "dependencies": ["permission:imageLoaderPrivate"], |
| "contexts": ["privileged_extension"] |
| }, |
| "input.ime": { |
| "dependencies": ["permission:input"], |
| "contexts": ["privileged_extension"], |
| "platforms": ["chromeos"] |
| }, |
| "inputMethodPrivate": [{ |
| "dependencies": ["permission:inputMethodPrivate"], |
| "contexts": ["privileged_extension"] |
| }, { |
| "channel": "stable", |
| "contexts": ["webui"], |
| "matches": [ |
| // TODO(maybelle): Audit and remove chrome://settings or |
| // chrome://os-settings as appropriate |
| "chrome://os-settings/*", |
| "chrome://settings/*" |
| ] |
| }], |
| "instanceID": { |
| "dependencies": ["permission:gcm"], |
| "contexts": ["privileged_extension"] |
| }, |
| "languageSettingsPrivate": [{ |
| "dependencies": ["permission:languageSettingsPrivate"], |
| "contexts": ["privileged_extension"] |
| }, { |
| "channel": "stable", |
| "contexts": ["webui"], |
| "matches": [ |
| // TODO(maybelle): Audit and remove chrome://settings or |
| // chrome://os-settings as appropriate |
| "chrome://os-settings/*", |
| "chrome://settings/*" |
| ] |
| }, |
| { |
| "channel": "stable", |
| "contexts": [ |
| "webui_untrusted" |
| ], |
| "matches": [ |
| "chrome-untrusted://lens-overlay/*" |
| ] |
| }], |
| "login": [{ |
| "dependencies": ["behavior:imprivata_extension", "permission:login"], |
| "contexts": ["privileged_extension"], |
| "default_parent": true |
| }, { |
| "dependencies": ["permission:login"], |
| "contexts": ["privileged_extension"], |
| "allowlist": [ |
| "93B7178E8C275515C38D4F43D9DF4648F0EA9B03", // Identity Card Connector |
| "7FE4A999359A456C4B0FB7B7AD85CEA29CA50519", // Login screen APIs test extension |
| "3F5995FE79A861F019C6F093BEF98D73FA9D3A5F" // Login screen APIs in-session test extension |
| ] |
| }], |
| "login.exitCurrentSession": [{ |
| "dependencies": ["behavior:imprivata_extension", "permission:login"], |
| "contexts": ["privileged_extension"] |
| }, { |
| "dependencies": ["permission:login"], |
| "allowlist": [ |
| "93B7178E8C275515C38D4F43D9DF4648F0EA9B03", // Identity Card Connector |
| "7FE4A999359A456C4B0FB7B7AD85CEA29CA50519", // Login screen APIs test extension |
| "3F5995FE79A861F019C6F093BEF98D73FA9D3A5F", // Login screen APIs in-session test extension |
| // Only has access to login.exitCurrentSession |
| "8ECFC754A70BE499325FA4BB705E62EFEEC1BC80", // b/314208017 |
| "ECD28F2B60BDB3B4E566D6C60BD88BE0774044C1" // b/314208017 |
| ] |
| }], |
| "loginScreenStorage": { |
| "dependencies": ["permission:loginScreenStorage"], |
| "contexts": ["privileged_extension"] |
| }, |
| "loginScreenUi": { |
| "dependencies": ["permission:loginScreenUi"], |
| "contexts": ["privileged_extension"] |
| }, |
| "loginState": { |
| "dependencies": ["permission:loginState"], |
| "contexts": ["privileged_extension"] |
| }, |
| "webcamPrivate": { |
| "dependencies": ["permission:webcamPrivate"], |
| "contexts": ["privileged_extension"] |
| }, |
| // This is not a real API, only here for documentation purposes. |
| // See http://crbug.com/275944 for background. |
| "manifestTypes": { |
| "internal": true, |
| "channel": "stable", |
| "contexts": [] |
| }, |
| "mediaPlayerPrivate": { |
| "dependencies": ["permission:mediaPlayerPrivate"], |
| "contexts": ["privileged_extension"] |
| }, |
| "mdns": { |
| "dependencies": ["permission:mdns"], |
| "contexts": ["privileged_extension"] |
| }, |
| "mimeHandlerViewGuestInternal": { |
| "internal": true, |
| "contexts": "all", |
| "channel": "stable", |
| "matches": ["<all_urls>"] |
| }, |
| "notifications": { |
| "dependencies": ["permission:notifications"], |
| "contexts": ["privileged_extension"] |
| }, |
| "omnibox": { |
| "dependencies": ["manifest:omnibox"], |
| "contexts": ["privileged_extension"] |
| }, |
| "pageAction": { |
| "dependencies": ["manifest:page_action"], |
| "contexts": ["privileged_extension"] |
| }, |
| "pageCapture": { |
| "dependencies": ["permission:pageCapture"], |
| "contexts": ["privileged_extension"] |
| }, |
| "passwordsPrivate": [{ |
| "dependencies": ["permission:passwordsPrivate"], |
| "contexts": ["privileged_extension"] |
| }, { |
| "channel": "stable", |
| "contexts": ["webui"], |
| "matches": [ |
| "chrome://settings/*", |
| "chrome://password-manager/*" |
| ] |
| }], |
| "permissions": { |
| "channel": "stable", |
| "extension_types": [ |
| "extension", |
| "legacy_packaged_app", |
| "platform_app", |
| "chromeos_system_extension" |
| ], |
| "contexts": ["privileged_extension"] |
| }, |
| "permissions.addHostAccessRequest": { |
| "min_manifest_version": 3, |
| "feature_flag": "ApiPermissionsHostAccessRequests" |
| }, |
| "permissions.removeHostAccessRequest": { |
| "min_manifest_version": 3, |
| "feature_flag": "ApiPermissionsHostAccessRequests" |
| }, |
| "platformKeys": { |
| "dependencies": ["permission:platformKeys"], |
| "contexts": ["privileged_extension"] |
| }, |
| "platformKeysInternal": [{ |
| "dependencies": ["permission:platformKeys"], |
| "internal": true, |
| "contexts": ["privileged_extension"] |
| },{ |
| "dependencies": ["permission:enterprise.platformKeys"], |
| "internal": true, |
| "contexts": ["privileged_extension"] |
| }], |
| "pdfViewerPrivate": { |
| "dependencies": ["permission:pdfViewerPrivate"], |
| "contexts": ["privileged_extension"] |
| }, |
| "printing": { |
| "dependencies": ["permission:printing"], |
| "contexts": ["privileged_extension"], |
| "required_buildflags": ["use_cups"] |
| }, |
| "printingMetrics": { |
| "dependencies": ["permission:printingMetrics"], |
| "contexts": ["privileged_extension"], |
| "required_buildflags": ["use_cups"] |
| }, |
| "privacy": { |
| "dependencies": ["permission:privacy"], |
| "contexts": ["privileged_extension"] |
| }, |
| "processes": { |
| "dependencies": ["permission:processes"], |
| "contexts": ["privileged_extension"] |
| }, |
| "proxy": { |
| "dependencies": ["permission:proxy"], |
| "contexts": ["privileged_extension"] |
| }, |
| "imageWriterPrivate": { |
| "dependencies": ["permission:imageWriterPrivate"], |
| "contexts": ["privileged_extension"] |
| }, |
| "quickUnlockPrivate": { |
| "channel": "stable", |
| "contexts": ["webui"], |
| "matches": [ |
| "chrome://multidevice-setup/*", |
| "chrome://os-settings/*", |
| "chrome://settings/*", |
| "chrome://oobe/*" |
| ], |
| "platforms": ["chromeos"] |
| }, |
| "readingList": { |
| "dependencies": ["permission:readingList"], |
| "contexts": ["privileged_extension"] |
| }, |
| "resourcesPrivate": [{ |
| "dependencies": ["permission:resourcesPrivate"], |
| "contexts": ["privileged_extension"] |
| }, { |
| "channel": "stable", |
| "contexts": ["webui"], |
| "matches": [ |
| "chrome://print/*" |
| ] |
| }], |
| "safeBrowsingPrivate": { |
| "dependencies": ["permission:safeBrowsingPrivate"], |
| "contexts": ["privileged_extension"] |
| }, |
| "scripting": { |
| "dependencies": ["permission:scripting"], |
| "contexts": ["privileged_extension"] |
| }, |
| "scripting.globalParams": { |
| "channel": "trunk", |
| "dependencies": ["permission:scripting"], |
| "contexts": ["content_script"] |
| }, |
| "search": { |
| "dependencies": ["permission:search"], |
| "contexts": ["privileged_extension"] |
| }, |
| "sessions": { |
| "dependencies": ["permission:sessions"], |
| "contexts": ["privileged_extension"] |
| }, |
| "settingsPrivate": [{ |
| "dependencies": ["permission:settingsPrivate"], |
| "contexts": ["privileged_extension"] |
| }, { |
| "channel": "stable", |
| "contexts": ["webui"], |
| "matches": [ |
| "chrome://os-settings/*", |
| "chrome://settings/*", |
| "chrome://password-manager/*" |
| ] |
| }], |
| "sidePanel": { |
| "dependencies": ["permission:sidePanel"], |
| "contexts": ["privileged_extension"] |
| }, |
| "smartCardProviderPrivate": { |
| "dependencies": ["permission:smartCardProviderPrivate"], |
| "contexts": ["privileged_extension"] |
| }, |
| "speechRecognitionPrivate": { |
| "dependencies": ["permission:speechRecognitionPrivate"], |
| "contexts": ["privileged_extension"] |
| }, |
| "systemLog": { |
| "dependencies": ["permission:systemLog"], |
| "contexts": ["privileged_extension"] |
| }, |
| "systemPrivate": { |
| "dependencies": ["permission:systemPrivate"], |
| "contexts": ["privileged_extension"] |
| }, |
| "tabCapture": { |
| "dependencies": ["permission:tabCapture"], |
| "contexts": ["privileged_extension"] |
| }, |
| "tabCapture.capture": { |
| "disallow_for_service_workers": true |
| }, |
| "tabGroups": { |
| "dependencies": ["permission:tabGroups"], |
| "contexts": ["privileged_extension"] |
| }, |
| "tabs": [{ |
| "channel": "stable", |
| "extension_types": ["extension", "legacy_packaged_app"], |
| "contexts": ["privileged_extension"], |
| "default_parent": true |
| }, { |
| "channel": "stable", |
| "contexts": ["webui"], |
| "matches": [ |
| "chrome://bookmarks/*", |
| "chrome://bookmarks-side-panel.top-chrome/*", |
| "chrome://read-later.top-chrome/*", |
| "chrome://tab-strip.top-chrome/*" |
| ] |
| }, { |
| "channel": "stable", |
| "contexts": ["webui_untrusted"], |
| "matches": [ |
| "chrome-untrusted://crosh/*", |
| "chrome-untrusted://terminal/*", |
| "chrome-untrusted://boca-app/*" |
| ], |
| "platforms": ["chromeos"] |
| }], |
| "tabs.executeScript": { |
| "max_manifest_version": 2 |
| }, |
| "tabs.getAllInWindow": { |
| "max_manifest_version": 2 |
| }, |
| "tabs.getSelected": { |
| "max_manifest_version": 2 |
| }, |
| "tabs.insertCSS": { |
| "max_manifest_version": 2 |
| }, |
| "tabs.removeCSS": { |
| "max_manifest_version": 2 |
| }, |
| "tabs.onActiveChanged": { |
| "max_manifest_version": 2 |
| }, |
| "tabs.onHighlightChanged": { |
| "max_manifest_version": 2 |
| }, |
| "tabs.onSelectionChanged": { |
| "max_manifest_version": 2 |
| }, |
| "tabs.sendRequest": { |
| "max_manifest_version": 2 |
| }, |
| // chrome.terminalPrivate allowed for nassh extensions, |
| // chrome-untrusted://crosh, and chrome-untrusted://terminal. |
| "terminalPrivate": [{ |
| "dependencies": ["permission:terminalPrivate"], |
| "contexts": ["privileged_extension"], |
| "default_parent": true, |
| "platforms": ["chromeos"] |
| }, { |
| "channel": "stable", |
| "contexts": ["webui_untrusted"], |
| "matches": [ |
| "chrome-untrusted://crosh/*", |
| "chrome-untrusted://terminal/*" |
| ], |
| "platforms": ["chromeos"] |
| }], |
| // terminalPrivate.openTerminalProcess allowed for nassh extensions, |
| // and chrome-untrusted://crosh, but NOT for chrome-untrusted://terminal. |
| "terminalPrivate.openTerminalProcess": [{ |
| "contexts": ["privileged_extension"] |
| }, { |
| "dependencies": [], |
| "channel": "stable", |
| "contexts": ["webui_untrusted"], |
| "matches": [ |
| "chrome-untrusted://crosh/*" |
| ] |
| }], |
| "topSites": { |
| "dependencies": ["permission:topSites"], |
| "contexts": ["privileged_extension"] |
| }, |
| "tts": [{ |
| "dependencies": ["permission:tts"], |
| "contexts": ["privileged_extension"] |
| }, { |
| "channel": "stable", |
| "contexts": ["webui"], |
| "matches": [ |
| "chrome://oobe/*" |
| ] |
| }], |
| "ttsEngine": { |
| "dependencies": ["permission:ttsEngine"], |
| "contexts": ["privileged_extension"] |
| }, |
| "usersPrivate": [{ |
| "dependencies": ["permission:usersPrivate"], |
| "contexts": ["privileged_extension"], |
| "platforms": ["chromeos"] |
| }, { |
| "channel": "stable", |
| "contexts": ["webui"], |
| "matches": [ |
| "chrome://os-settings/*" |
| ] |
| }], |
| "virtualKeyboardPrivate": { |
| "dependencies": ["permission:virtualKeyboardPrivate"], |
| "contexts": ["privileged_extension"] |
| }, |
| "wallpaper": [{ |
| "dependencies": ["permission:wallpaper"], |
| "contexts": ["privileged_extension"] |
| }, { |
| "channel": "stable", |
| "contexts": ["webui"], |
| "matches": [ |
| "chrome://file-manager/*" |
| ] |
| }], |
| "webAuthenticationProxy": { |
| "dependencies": ["permission:webAuthenticationProxy"], |
| "contexts": ["privileged_extension"] |
| }, |
| "webNavigation": { |
| "dependencies": ["permission:webNavigation"], |
| "contexts": ["privileged_extension"] |
| }, |
| "webrtcAudioPrivate": { |
| "dependencies": ["permission:webrtcAudioPrivate"], |
| "contexts": ["privileged_extension"] |
| }, |
| "webrtcDesktopCapturePrivate": { |
| "dependencies": ["permission:webrtcDesktopCapturePrivate"], |
| "contexts": ["privileged_extension"] |
| }, |
| "webrtcLoggingPrivate": { |
| "dependencies": ["permission:webrtcLoggingPrivate"], |
| "contexts": ["privileged_extension"] |
| }, |
| "webrtcLoggingPrivate.getLogsDirectory": { |
| "component_extensions_auto_granted": false, |
| "allowlist": [ |
| // Extension used for API test. |
| "ADFA45434ABA2F1A4647E673F53FF37F8F6047A3", |
| "4F25792AF1AA7483936DE29C07806F203C7170A0", // http://crbug.com/775961 |
| "BD8781D757D830FC2E85470A1B6E8A718B7EE0D9", // http://crbug.com/775961 |
| "4AC2B6C63C6480D150DFDA13E4A5956EB1D0DDBB", // http://crbug.com/775961 |
| "81986D4F846CEDDDB962643FA501D1780DD441BB" // http://crbug.com/775961 |
| ] |
| }, |
| "webstorePrivate": [{ |
| "dependencies": ["permission:webstorePrivate"], |
| // NOTE: even though this is only used by the webstore hosted app, which |
| // normally would mean privileged_web_page, component hosted apps are |
| // actually given the privileged_extension denomination. Confusing. |
| "contexts": ["privileged_extension"] |
| }, { |
| "channel": "stable", |
| "contexts": ["web_page"], |
| "matches": ["https://chromewebstore.google.com/*"] |
| }, { |
| // Used for webstore testing. See comment in |
| // chrome/common/extensions/webstore_override.cc |
| "channel": "stable", |
| "contexts": ["web_page"], |
| "requires_delegated_availability_check": true, |
| "matches": ["<all_urls>"] |
| }], |
| "webviewTag": { |
| "internal": true, |
| "channel": "stable", |
| "dependencies": ["permission:webview"], |
| "contexts": ["privileged_extension"] |
| }, |
| "windows": [{ |
| "dependencies": ["api:tabs"], |
| "contexts": ["privileged_extension"] |
| }, { |
| "channel": "stable", |
| "contexts": ["webui"], |
| "matches": [ |
| "chrome://bookmarks/*", |
| "chrome://tab-strip.top-chrome/*" |
| ] |
| }, { |
| "channel": "stable", |
| "contexts": ["webui_untrusted"], |
| "matches": [ |
| "chrome-untrusted://crosh/*", |
| "chrome-untrusted://terminal/*" |
| ], |
| "platforms": ["chromeos"] |
| }], |
| "wmDesksPrivate": { |
| "dependencies": ["permission:wmDesksPrivate"], |
| "contexts": ["privileged_extension"] |
| } |
| } |