| // Copyright 2012 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 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", "blessed_web_page", or "all" as a context |
| // type will require manually updating chrome/renderer/resources/dispatcher.cc. |
| |
| { |
| "accessibilityFeatures": [{ |
| "dependencies": ["permission:accessibilityFeatures.modify"], |
| "contexts": ["blessed_extension"] |
| }, { |
| "dependencies": ["permission:accessibilityFeatures.read"], |
| "contexts": ["blessed_extension"] |
| }], |
| "accessibilityPrivate": { |
| "dependencies": ["permission:accessibilityPrivate"], |
| "contexts": ["blessed_extension"] |
| }, |
| "accessibilityPrivate.onTwoFingerTouchStart": { |
| "channel": "stable", |
| "contexts": ["blessed_extension"], |
| "dependencies": [], |
| "extension_types": ["platform_app"], |
| "session_types": ["kiosk"], |
| "allowlist": [ |
| "E703483CEF33DEC18B4B6DD84B5C776FB9182BDB", // http://crbug.com/717501 |
| "A3BC37E2148AC4E99BE4B16AF9D42DD1E592BBBE", // http://crbug.com/717501 |
| "1C93BD3CF875F4A73C0B2A163BB8FBDA8B8B3D80", // http://crbug.com/717501 |
| "307E96539209F95A1A8740C713E6998A73657D96", // http://crbug.com/717501 |
| "4F25792AF1AA7483936DE29C07806F203C7170A0", // http://crbug.com/717501 |
| "BD8781D757D830FC2E85470A1B6E8A718B7EE0D9", // http://crbug.com/717501 |
| "4AC2B6C63C6480D150DFDA13E4A5956EB1D0DDBB", // http://crbug.com/717501 |
| "81986D4F846CEDDDB962643FA501D1780DD441BB", // http://crbug.com/717501 |
| "A9A9FC0228ADF541F0334F22BEFB8F9C245B21D7" // http://crbug.com/839189 |
| ] |
| }, |
| "accessibilityPrivate.onTwoFingerTouchStop": { |
| "channel": "stable", |
| "contexts": ["blessed_extension"], |
| "dependencies": [], |
| "extension_types": ["platform_app"], |
| "session_types": ["kiosk"], |
| "allowlist": [ |
| "E703483CEF33DEC18B4B6DD84B5C776FB9182BDB", // http://crbug.com/717501 |
| "A3BC37E2148AC4E99BE4B16AF9D42DD1E592BBBE", // http://crbug.com/717501 |
| "1C93BD3CF875F4A73C0B2A163BB8FBDA8B8B3D80", // http://crbug.com/717501 |
| "307E96539209F95A1A8740C713E6998A73657D96", // http://crbug.com/717501 |
| "4F25792AF1AA7483936DE29C07806F203C7170A0", // http://crbug.com/717501 |
| "BD8781D757D830FC2E85470A1B6E8A718B7EE0D9", // http://crbug.com/717501 |
| "4AC2B6C63C6480D150DFDA13E4A5956EB1D0DDBB", // http://crbug.com/717501 |
| "81986D4F846CEDDDB962643FA501D1780DD441BB", // http://crbug.com/717501 |
| "A9A9FC0228ADF541F0334F22BEFB8F9C245B21D7" // http://crbug.com/839189 |
| ] |
| }, |
| "action": { |
| "dependencies": ["manifest:action"], |
| "contexts": ["blessed_extension"] |
| }, |
| "activityLogPrivate": [{ |
| "dependencies": ["permission:activityLogPrivate"], |
| "contexts": ["blessed_extension"] |
| }, { |
| "channel": "stable", |
| "contexts": ["webui"], |
| "matches": [ |
| "chrome://extensions/*" |
| ] |
| }], |
| "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": [ |
| "blessed_extension", |
| "unblessed_extension", |
| "content_script", |
| "web_page", |
| "blessed_web_page" |
| ], |
| // Any webpage can use the app API. |
| "matches": ["<all_urls>"] |
| }, |
| "appviewTag": { |
| "internal": true, |
| "dependencies": ["permission:appview"], |
| "contexts": ["blessed_extension"] |
| }, |
| "autofillPrivate": [{ |
| "dependencies": ["permission:autofillPrivate"], |
| "contexts": ["blessed_extension"] |
| }, { |
| "channel": "stable", |
| "contexts": ["webui"], |
| "matches": [ |
| "chrome://settings/*" |
| ] |
| }], |
| "autotestPrivate": { |
| "dependencies": ["permission:autotestPrivate"], |
| "contexts": ["blessed_extension"] |
| }, |
| "bookmarkManagerPrivate": [{ |
| "dependencies": ["permission:bookmarkManagerPrivate"], |
| "contexts": ["blessed_extension"] |
| }, { |
| "channel": "stable", |
| "contexts": ["webui"], |
| "matches": [ |
| "chrome://bookmarks/*" |
| ] |
| }], |
| "bookmarks": [{ |
| "dependencies": ["permission:bookmarks"], |
| "contexts": ["blessed_extension"], |
| "default_parent": true |
| }, { |
| "channel": "stable", |
| "contexts": ["webui"], |
| "matches": [ |
| "chrome://bookmarks/*", |
| "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": ["blessed_extension"] |
| }, |
| "browserAction": { |
| "dependencies": ["manifest:browser_action"], |
| "contexts": ["blessed_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": ["blessed_extension"] |
| }, { |
| "channel": "stable", |
| "dependencies": ["manifest:browser_action"], |
| "allowlist": [ |
| "63ED55E43214C211F82122ED56407FF1A807F2A3", // Dev |
| // 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": ["blessed_extension"] |
| }], |
| "browsingData": { |
| "dependencies": ["permission:browsingData"], |
| "contexts": ["blessed_extension"] |
| }, |
| "certificateProvider": { |
| "dependencies": ["permission:certificateProvider"], |
| "contexts": ["blessed_extension"] |
| }, |
| "certificateProvider.onCertificatesRequested": { |
| "max_manifest_version": 2 |
| }, |
| "certificateProvider.onSignDigestRequested": { |
| "max_manifest_version": 2 |
| }, |
| "certificateProviderInternal": { |
| "internal": true, |
| "dependencies": ["permission:certificateProvider"], |
| "contexts": ["blessed_extension"] |
| }, |
| "chromeosInfoPrivate": [{ |
| "dependencies": ["permission:chromeosInfoPrivate"], |
| "contexts": ["blessed_extension"] |
| }, { |
| "channel": "stable", |
| "contexts": ["webui"], |
| "matches": [ |
| "chrome://version/*" |
| ], |
| "platforms": ["chromeos"] |
| }], |
| "chromeWebViewInternal": [{ |
| "internal": true, |
| "dependencies": ["permission:webview"], |
| "contexts": ["blessed_extension"] |
| }, { |
| "internal": true, |
| "channel": "stable", |
| "contexts": ["webui"], |
| "matches": [ |
| "chrome://assistant-optin/*", |
| "chrome://add-supervision/*", |
| "chrome://chrome-signin/*", |
| "chrome://discards/*", |
| "chrome://mobilesetup/*", |
| "chrome://oobe/*", |
| "chrome://os-settings/*", |
| "chrome://password-change/*", |
| "chrome://lock-reauth/*" |
| ] |
| }], |
| "commandLinePrivate": { |
| "dependencies": ["permission:commandLinePrivate"], |
| "contexts": ["blessed_extension"] |
| }, |
| "commands": { |
| "dependencies": ["manifest:commands"], |
| "contexts": ["blessed_extension"] |
| }, |
| "contentSettings": { |
| "dependencies": ["permission:contentSettings"], |
| "contexts": ["blessed_extension"] |
| }, |
| "contextMenus": { |
| "dependencies": ["permission:contextMenus"], |
| "contexts": ["blessed_extension"] |
| }, |
| "cookies": { |
| "dependencies": ["permission:cookies"], |
| "contexts": ["blessed_extension"] |
| }, |
| "crashReportPrivate": [{ |
| "dependencies": ["permission:crashReportPrivate"], |
| "contexts": ["blessed_extension"], |
| "default_parent": true |
| }, |
| { |
| "channel": "stable", |
| "contexts": [ |
| "webui" |
| ], |
| "matches": [ |
| "chrome://camera-app/*", |
| "chrome://media-app/*" |
| ] |
| }, |
| { |
| "channel": "stable", |
| "contexts": ["webui_untrusted"], |
| "matches": [ |
| "chrome-untrusted://camera-app/*", |
| "chrome-untrusted://help-app/*", |
| "chrome-untrusted://media-app/*" |
| ] |
| }], |
| "cryptotokenPrivate": { |
| "dependencies": ["permission:cryptotokenPrivate"], |
| "contexts": ["blessed_extension"] |
| }, |
| "dashboardPrivate": [{ |
| "channel": "stable", |
| "contexts": ["blessed_web_page", "web_page"], |
| "matches": ["https://chrome.google.com/webstore/*"] |
| }, { |
| "channel": "stable", |
| "contexts": ["blessed_extension"], |
| "allowlist": [ |
| "B44D08FD98F1523ED5837D78D0A606EA9D6206E5" // Web Store |
| ] |
| }], |
| "debugger": { |
| "dependencies": ["permission:debugger"], |
| "contexts": ["blessed_extension"] |
| }, |
| "declarativeContent": { |
| "dependencies": ["permission:declarativeContent"], |
| "contexts": ["blessed_extension"] |
| }, |
| "desktopCapture": [{ |
| "dependencies": ["permission:desktopCapture"], |
| "contexts": ["blessed_extension"] |
| }, { |
| "dependencies": ["permission:desktopCapturePrivate"], |
| "allowlist": [ |
| "63ED55E43214C211F82122ED56407FF1A807F2A3", // Media Router Dev |
| "226CF815E39A363090A1E547D53063472B8279FA" // Media Router Stable |
| ], |
| "contexts": ["blessed_extension"] |
| }], |
| "developerPrivate": [{ |
| "dependencies": ["permission:developerPrivate", "permission:management"], |
| "contexts": ["blessed_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": ["blessed_extension"] |
| }, |
| "devtools.network": { |
| "nocompile": true, |
| "dependencies": ["manifest:devtools_page"], |
| "contexts": ["blessed_extension"] |
| }, |
| "devtools.panels": { |
| "nocompile": true, |
| "dependencies": ["manifest:devtools_page"], |
| "contexts": ["blessed_extension"] |
| }, |
| "documentScan": { |
| "dependencies": ["permission:documentScan"], |
| "contexts": ["blessed_extension"] |
| }, |
| "dom": { |
| "channel": "stable", |
| "contexts": ["blessed_extension", "content_script"] |
| }, |
| "downloads": [ |
| { |
| "dependencies": ["permission:downloads"], |
| "contexts": ["blessed_extension"] |
| }, |
| { |
| "channel": "stable", |
| "contexts": ["webui"], |
| "matches": ["chrome://download-shelf.top-chrome/*"] |
| } |
| ], |
| "downloadsInternal": [ |
| { |
| "internal": true, |
| "channel": "stable", |
| "contexts": ["blessed_extension"] |
| }, |
| { |
| "internal": true, |
| "channel": "stable", |
| "contexts": ["webui"], |
| "matches": ["chrome://download-shelf.top-chrome/*"] |
| } |
| ], |
| "echoPrivate": { |
| "dependencies": ["permission:echoPrivate"], |
| "contexts": ["blessed_extension"] |
| }, |
| "enterprise.hardwarePlatform": { |
| "dependencies": ["permission:enterprise.hardwarePlatform"], |
| "contexts": ["blessed_extension"] |
| }, |
| "enterprise.deviceAttributes": { |
| "dependencies": ["permission:enterprise.deviceAttributes"], |
| "contexts": ["blessed_extension"] |
| }, |
| "enterprise.networkingAttributes": { |
| "dependencies": ["permission:enterprise.networkingAttributes"], |
| "contexts": ["blessed_extension"] |
| }, |
| "enterprise.platformKeys": { |
| "dependencies": ["permission:enterprise.platformKeys"], |
| "contexts": ["blessed_extension"], |
| "disallow_for_service_workers": true |
| }, |
| "enterprise.platformKeysInternal": { |
| "dependencies": ["permission:enterprise.platformKeys"], |
| "internal": true, |
| "contexts": ["blessed_extension"], |
| "disallow_for_service_workers": true |
| }, |
| "enterprise.platformKeysPrivate": { |
| "dependencies": ["permission:enterprise.platformKeysPrivate"], |
| "contexts": ["blessed_extension"] |
| }, |
| "enterprise.reportingPrivate": { |
| "dependencies": ["permission:enterprise.reportingPrivate"], |
| "contexts": ["blessed_extension"] |
| }, |
| "experimental.devtools.audits": { |
| "nocompile": true, |
| "dependencies": ["permission:experimental", "manifest:devtools_page"], |
| "contexts": ["blessed_extension"] |
| }, |
| "experimental.devtools.console": { |
| "nocompile": true, |
| "dependencies": ["permission:experimental", "manifest:devtools_page"], |
| "contexts": ["blessed_extension"] |
| }, |
| "extension": { |
| "channel": "stable", |
| "extension_types": ["extension", "legacy_packaged_app"], |
| "contexts": ["blessed_extension"] |
| }, |
| "extension.getBackgroundPage": { |
| "contexts": ["blessed_extension"], |
| "disallow_for_service_workers": true |
| }, |
| "extension.getExtensionTabs": { |
| "contexts": ["blessed_extension"], |
| "disallow_for_service_workers": true, |
| "max_manifest_version": 2 |
| }, |
| "extension.getURL": { |
| "contexts": ["blessed_extension", "unblessed_extension", "content_script"], |
| "max_manifest_version": 2 |
| }, |
| "extension.getViews": [ |
| { |
| "channel": "stable", |
| "contexts": ["blessed_extension"], |
| "extension_types": ["extension", "legacy_packaged_app"], |
| "disallow_for_service_workers": true |
| }, |
| { |
| // TODO(yoz): Eliminate this usage. |
| "channel": "stable", |
| "contexts": ["blessed_extension"], |
| "extension_types": ["platform_app"], |
| "allowlist": [ |
| "A948368FC53BE437A55FEB414106E207925482F5" // File manager |
| ], |
| "disallow_for_service_workers": true |
| } |
| ], |
| "extension.inIncognitoContext": { |
| "contexts": ["blessed_extension", "unblessed_extension", "content_script"] |
| }, |
| "extension.lastError": { |
| "contexts": ["blessed_extension", "unblessed_extension", "content_script"], |
| "max_manifest_version": 2 |
| }, |
| "extension.onRequest": { |
| "contexts": ["blessed_extension", "unblessed_extension", "content_script"], |
| "max_manifest_version": 2 |
| }, |
| "extension.onRequestExternal": { |
| "max_manifest_version": 2 |
| }, |
| "extension.sendRequest": { |
| "contexts": ["blessed_extension", "unblessed_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": ["blessed_extension"], |
| "disallow_for_service_workers": true |
| }, |
| "fileBrowserHandlerInternal": { |
| "internal": true, |
| "dependencies": ["permission:fileBrowserHandler"], |
| "contexts": ["blessed_extension"], |
| "disallow_for_service_workers": true |
| }, |
| "fileManagerPrivate": [{ |
| "dependencies": ["permission:fileManagerPrivate"], |
| "contexts": ["blessed_extension"] |
| }, { |
| "channel": "stable", |
| "contexts": ["webui"], |
| "matches": [ |
| "chrome://file-manager/*" |
| ] |
| }], |
| "fileManagerPrivateInternal": [{ |
| "internal": true, |
| "dependencies": ["permission:fileManagerPrivate"], |
| "contexts": ["blessed_extension"] |
| }, { |
| "internal": true, |
| "channel": "stable", |
| "contexts": ["webui"], |
| "matches": [ |
| "chrome://file-manager/*" |
| ] |
| }], |
| "fileSystemProvider": { |
| "dependencies": ["permission:fileSystemProvider"], |
| "contexts": ["blessed_extension"], |
| "disallow_for_service_workers": true |
| }, |
| "fileSystemProviderInternal": { |
| "internal": true, |
| "dependencies": ["permission:fileSystemProvider"], |
| "contexts": ["blessed_extension"], |
| "disallow_for_service_workers": true |
| }, |
| "fontSettings": { |
| "dependencies": ["permission:fontSettings"], |
| "contexts": ["blessed_extension"] |
| }, |
| "gcm": { |
| "dependencies": ["permission:gcm"], |
| "contexts": ["blessed_extension"] |
| }, |
| "history": { |
| "dependencies": ["permission:history"], |
| "contexts": ["blessed_extension"] |
| }, |
| "i18n": { |
| "channel": "stable", |
| "extension_types": ["extension", "legacy_packaged_app", "platform_app", |
| "login_screen_extension"], |
| "contexts": ["blessed_extension", "unblessed_extension", "content_script", |
| "lock_screen_extension"], |
| "disallow_for_service_workers": true |
| }, |
| "i18n.getAcceptLanguages": { |
| "disallow_for_service_workers": false |
| }, |
| "identity": { |
| "dependencies": ["permission:identity"], |
| "contexts": ["blessed_extension"] |
| }, |
| "identity.getAccounts": { |
| "channel": "dev", |
| "dependencies": ["permission:identity"], |
| "contexts": ["blessed_extension"] |
| }, |
| "identityPrivate": { |
| "dependencies": ["permission:identityPrivate"], |
| "contexts": ["blessed_extension"] |
| }, |
| "idltest": { |
| "dependencies": ["permission:idltest"], |
| "contexts": ["blessed_extension"] |
| }, |
| "input.ime": { |
| "dependencies": ["permission:input"], |
| "contexts": ["blessed_extension"] |
| }, |
| "inputMethodPrivate": [{ |
| "dependencies": ["permission:inputMethodPrivate"], |
| "contexts": ["blessed_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": ["blessed_extension"] |
| }, |
| "languageSettingsPrivate": [{ |
| "dependencies": ["permission:languageSettingsPrivate"], |
| "contexts": ["blessed_extension"] |
| }, { |
| "channel": "stable", |
| "contexts": ["webui"], |
| "matches": [ |
| // TODO(maybelle): Audit and remove chrome://settings or |
| // chrome://os-settings as appropriate |
| "chrome://os-settings/*", |
| "chrome://settings/*" |
| ] |
| }], |
| "login": { |
| "dependencies": ["permission:login"], |
| "contexts": ["blessed_extension"], |
| "disallow_for_service_workers": true |
| }, |
| "loginScreenStorage": { |
| "dependencies": ["permission:loginScreenStorage"], |
| "contexts": ["blessed_extension"] |
| }, |
| "loginScreenUi": { |
| "dependencies": ["permission:loginScreenUi"], |
| "contexts": ["blessed_extension"] |
| }, |
| "loginState": { |
| "dependencies": ["permission:loginState"], |
| "contexts": ["blessed_extension"] |
| }, |
| "webcamPrivate": { |
| "dependencies": ["permission:webcamPrivate"], |
| "contexts": ["blessed_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": ["blessed_extension"] |
| }, |
| "mdns": { |
| "dependencies": ["permission:mdns"], |
| "contexts": ["blessed_extension"] |
| }, |
| "mimeHandlerViewGuestInternal": { |
| "internal": true, |
| "contexts": "all", |
| "channel": "stable", |
| "matches": ["<all_urls>"] |
| }, |
| "notifications": { |
| "dependencies": ["permission:notifications"], |
| "contexts": ["blessed_extension"] |
| }, |
| "omnibox": { |
| "dependencies": ["manifest:omnibox"], |
| "contexts": ["blessed_extension"] |
| }, |
| "pageAction": { |
| "dependencies": ["manifest:page_action"], |
| "contexts": ["blessed_extension"] |
| }, |
| "pageCapture": { |
| "dependencies": ["permission:pageCapture"], |
| "contexts": ["blessed_extension"] |
| }, |
| "passwordsPrivate": [{ |
| "dependencies": ["permission:passwordsPrivate"], |
| "contexts": ["blessed_extension"] |
| }, { |
| "channel": "stable", |
| "contexts": ["webui"], |
| "matches": [ |
| "chrome://settings/*" |
| ] |
| }], |
| "permissions": { |
| "channel": "stable", |
| "extension_types": ["extension", "legacy_packaged_app", "platform_app"], |
| "contexts": ["blessed_extension"] |
| }, |
| "platformKeys": { |
| "dependencies": ["permission:platformKeys"], |
| "contexts": ["blessed_extension"], |
| "disallow_for_service_workers": true |
| }, |
| "platformKeysInternal": [{ |
| "dependencies": ["permission:platformKeys"], |
| "internal": true, |
| "contexts": ["blessed_extension"], |
| "disallow_for_service_workers": true |
| },{ |
| "dependencies": ["permission:enterprise.platformKeys"], |
| "internal": true, |
| "contexts": ["blessed_extension"], |
| "disallow_for_service_workers": true |
| }], |
| "printing": { |
| "dependencies": ["permission:printing"], |
| "contexts": ["blessed_extension"] |
| }, |
| "printingMetrics": { |
| "dependencies": ["permission:printingMetrics"], |
| "contexts": ["blessed_extension"] |
| }, |
| "privacy": { |
| "dependencies": ["permission:privacy"], |
| "contexts": ["blessed_extension"] |
| }, |
| "processes": { |
| "dependencies": ["permission:processes"], |
| "contexts": ["blessed_extension"] |
| }, |
| "proxy": { |
| "dependencies": ["permission:proxy"], |
| "contexts": ["blessed_extension"] |
| }, |
| "imageWriterPrivate": { |
| "dependencies": ["permission:imageWriterPrivate"], |
| "contexts": ["blessed_extension"] |
| }, |
| "quickUnlockPrivate": { |
| "channel": "stable", |
| "contexts": ["webui"], |
| "matches": [ |
| "chrome://multidevice-setup/*", |
| "chrome://os-settings/*", |
| "chrome://settings/*", |
| "chrome://oobe/*" |
| ], |
| "platforms": ["chromeos"] |
| }, |
| "resourcesPrivate": [{ |
| "dependencies": ["permission:resourcesPrivate"], |
| "contexts": ["blessed_extension"] |
| }, { |
| "channel": "stable", |
| "contexts": ["webui"], |
| "matches": [ |
| "chrome://print/*" |
| ] |
| }], |
| "rtcPrivate": { |
| "dependencies": ["permission:rtcPrivate"], |
| "contexts": ["blessed_extension"] |
| }, |
| "safeBrowsingPrivate": { |
| "dependencies": ["permission:safeBrowsingPrivate"], |
| "contexts": ["blessed_extension"] |
| }, |
| "scripting": { |
| "dependencies": ["permission:scripting"], |
| "contexts": ["blessed_extension"] |
| }, |
| "scripting.registerContentScripts": { |
| "channel": "trunk", |
| "min_manifest_version": 3 |
| }, |
| "search": { |
| "dependencies": ["permission:search"], |
| "contexts": ["blessed_extension"] |
| }, |
| "sessions": { |
| "dependencies": ["permission:sessions"], |
| "contexts": ["blessed_extension"] |
| }, |
| "settingsPrivate": [{ |
| "dependencies": ["permission:settingsPrivate"], |
| "contexts": ["blessed_extension"] |
| }, { |
| "channel": "stable", |
| "contexts": ["webui"], |
| "matches": [ |
| "chrome://os-settings/*", |
| "chrome://settings/*" |
| ] |
| }], |
| "autofillAssistantPrivate": { |
| "dependencies": ["permission:autofillAssistantPrivate"], |
| "contexts": ["blessed_extension"] |
| }, |
| "signedInDevices": { |
| "dependencies": ["permission:signedInDevices"], |
| "contexts": ["blessed_extension"] |
| }, |
| "systemIndicator": { |
| "dependencies": ["manifest:system_indicator"], |
| "contexts": ["blessed_extension"] |
| }, |
| "systemPrivate": { |
| "dependencies": ["permission:systemPrivate"], |
| "contexts": ["blessed_extension"] |
| }, |
| "tabCapture": { |
| "dependencies": ["permission:tabCapture"], |
| "contexts": ["blessed_extension"], |
| "disallow_for_service_workers": true |
| }, |
| "tabGroups": { |
| "dependencies": ["permission:tabGroups"], |
| "contexts": ["blessed_extension"] |
| }, |
| "tabs": [{ |
| "channel": "stable", |
| "extension_types": ["extension", "legacy_packaged_app"], |
| "contexts": ["blessed_extension"], |
| "default_parent": true |
| }, { |
| "channel": "stable", |
| "contexts": ["webui"], |
| "matches": [ |
| "chrome://bookmarks/*", |
| "chrome://read-later.top-chrome/*", |
| "chrome://tab-strip/*" |
| ] |
| }, { |
| "channel": "stable", |
| "contexts": ["webui_untrusted"], |
| "matches": [ |
| "chrome-untrusted://crosh/*", |
| "chrome-untrusted://terminal/*" |
| ], |
| "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": ["blessed_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": ["blessed_extension"] |
| }, { |
| "dependencies": [], |
| "channel": "stable", |
| "contexts": ["webui_untrusted"], |
| "matches": [ |
| "chrome-untrusted://crosh/*" |
| ] |
| }], |
| "topSites": { |
| "dependencies": ["permission:topSites"], |
| "contexts": ["blessed_extension"] |
| }, |
| "tts": [{ |
| "dependencies": ["permission:tts"], |
| "contexts": ["blessed_extension"] |
| }, { |
| "channel": "stable", |
| "contexts": ["webui"], |
| "matches": [ |
| "chrome://oobe/*" |
| ] |
| }], |
| "ttsEngine": { |
| "dependencies": ["permission:ttsEngine"], |
| "contexts": ["blessed_extension"] |
| }, |
| "usersPrivate": [{ |
| "dependencies": ["permission:usersPrivate"], |
| "contexts": ["blessed_extension"], |
| "platforms": ["chromeos"] |
| }, { |
| "channel": "stable", |
| "contexts": ["webui"], |
| "matches": [ |
| "chrome://os-settings/*" |
| ] |
| }], |
| "virtualKeyboardPrivate": { |
| "dependencies": ["permission:virtualKeyboardPrivate"], |
| "contexts": ["blessed_extension"] |
| }, |
| "wallpaper": { |
| "dependencies": ["permission:wallpaper"], |
| "contexts": ["blessed_extension"] |
| }, |
| "wallpaperPrivate": { |
| "dependencies": ["permission:wallpaperPrivate"], |
| "contexts": ["blessed_extension"] |
| }, |
| "webNavigation": { |
| "dependencies": ["permission:webNavigation"], |
| "contexts": ["blessed_extension"] |
| }, |
| "webrtcAudioPrivate": { |
| "dependencies": ["permission:webrtcAudioPrivate"], |
| "contexts": ["blessed_extension"] |
| }, |
| "webrtcDesktopCapturePrivate": { |
| "dependencies": ["permission:webrtcDesktopCapturePrivate"], |
| "contexts": ["blessed_extension"] |
| }, |
| "webrtcLoggingPrivate": { |
| "dependencies": ["permission:webrtcLoggingPrivate"], |
| "contexts": ["blessed_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 blessed_web_page, component hosted apps are actually |
| // given the blessed_extension denomination. Confusing. |
| "contexts": ["blessed_extension"] |
| }, |
| "webviewTag": { |
| "internal": true, |
| "channel": "stable", |
| "dependencies": ["permission:webview"], |
| "contexts": ["blessed_extension"] |
| }, |
| "windows": [{ |
| "dependencies": ["api:tabs"], |
| "contexts": ["blessed_extension"] |
| }, { |
| "channel": "stable", |
| "contexts": ["webui"], |
| "matches": [ |
| "chrome://bookmarks/*", |
| "chrome://tab-strip/*" |
| ] |
| }, { |
| "channel": "stable", |
| "contexts": ["webui_untrusted"], |
| "matches": [ |
| "chrome-untrusted://crosh/*", |
| "chrome-untrusted://terminal/*" |
| ], |
| "platforms": ["chromeos"] |
| }] |
| } |