Files
electron/shell/common/extensions/api/_api_features.json
Charles Kerr 4e56da6d30 refactor: use upstream's chrome.scripting impl (#51376)
Remove our implementation of the scripting api and use upstream's
version. It was recently moved to `extensions/` by
https://chromium-review.googlesource.com/c/chromium/src/+/7784831,
so we link it directly.

Update `ElectronExtensionsBrowserClient` to overrides `IsValidTabId()`
and `GetScriptExecutorForTab()` to provide tab validation and
script-executor hooks.

Remove now-redundant local copy of `scripting.idl`.
Upstream now provides everything we used this for.

Updated breaking-changes.md to document a CSS matching difference.

Co-authored-by: GitHub Copilot <github-copilot[bot]@users.noreply.github.com>
2026-04-29 17:15:04 -05:00

83 lines
2.1 KiB
JSON

// 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.
{
"action": {
"dependencies": ["manifest:action"],
"contexts": ["privileged_extension"]
},
"action.isEnabled": {
"channel": "stable"
},
"action.getBadgeTextColor": {
"channel": "stable"
},
"action.setBadgeTextColor": {
"channel": "stable"
},
"extension": {
"channel": "stable",
"extension_types": ["extension"],
"contexts": ["privileged_extension"]
},
"extension.getBackgroundPage": {
"contexts": ["privileged_extension"],
"disallow_for_service_workers": true
},
"extension.getURL": {
"contexts": ["privileged_extension", "unprivileged_extension", "content_script"],
"max_manifest_version": 2
},
"extension.lastError": {
"contexts": [
"privileged_extension",
"unprivileged_extension",
"content_script"
],
"max_manifest_version": 2
},
"mimeHandlerViewGuestInternal": {
"internal": true,
"contexts": "all",
"channel": "stable",
"matches": ["<all_urls>"]
},
"pdfViewerPrivate": {
"dependencies": ["permission:pdfViewerPrivate"],
"contexts": ["privileged_extension"]
},
"resourcesPrivate": [{
"dependencies": ["permission:resourcesPrivate"],
"contexts": ["privileged_extension"]
}, {
"channel": "stable",
"contexts": ["webui"],
"matches": [
"chrome://print/*"
]
}],
"tabs": {
"channel": "stable",
"extension_types": ["extension"],
"contexts": ["privileged_extension"]
},
"tabs.executeScript": {
"max_manifest_version": 2
},
"tabs.insertCSS": {
"max_manifest_version": 2
},
"tabs.removeCSS": {
"max_manifest_version": 2
}
}