Source code

Revision control

Copy as Markdown

Other Tools

[
{
"namespace": "contentScripts",
"max_manifest_version": 2,
"types": [
{
"id": "RegisteredContentScriptOptions",
"type": "object",
"description": "Details of a content script registered programmatically",
"properties": {
"matches": {
"type": "array",
"optional": false,
"minItems": 1,
"items": { "$ref": "manifest.MatchPattern" }
},
"excludeMatches": {
"type": "array",
"optional": true,
"minItems": 1,
"items": { "$ref": "manifest.MatchPattern" }
},
"includeGlobs": {
"type": "array",
"optional": true,
"items": { "type": "string" }
},
"excludeGlobs": {
"type": "array",
"optional": true,
"items": { "type": "string" }
},
"css": {
"type": "array",
"optional": true,
"description": "The list of CSS files to inject",
"items": { "$ref": "extensionTypes.ExtensionFileOrCode" }
},
"js": {
"type": "array",
"optional": true,
"description": "The list of JS files to inject",
"items": { "$ref": "extensionTypes.ExtensionFileOrCode" }
},
"allFrames": {
"type": "boolean",
"optional": true,
"description": "If allFrames is <code>true</code>, implies that the JavaScript or CSS should be injected into all frames of current page. By default, it's <code>false</code> and is only injected into the top frame."
},
"matchAboutBlank": {
"type": "boolean",
"optional": true,
"description": "If matchAboutBlank is true, then the code is also injected in about:blank and about:srcdoc frames if your extension has access to its parent document. Ignored if matchOriginAsFallback is specified. By default it is <code>false</code>."
},
"matchOriginAsFallback": {
"type": "boolean",
"optional": true,
"description": "If matchOriginAsFallback is true, then the code is also injected in about:, data:, blob: when their origin matches the pattern in 'matches', even if the actual document origin is opaque (due to the use of CSP sandbox or iframe sandbox). Match patterns in 'matches' must specify a wildcard path glob. By default it is <code>false</code>."
},
"runAt": {
"$ref": "extensionTypes.RunAt",
"optional": true,
"description": "The soonest that the JavaScript or CSS will be injected into the tab. Defaults to \"document_idle\"."
},
"cookieStoreId": {
"choices": [
{
"type": "array",
"minItems": 1,
"items": { "type": "string" }
},
{
"type": "string"
}
],
"optional": true,
"description": "limit the set of matched tabs to those that belong to the given cookie store id"
}
}
},
{
"id": "RegisteredContentScript",
"type": "object",
"description": "An object that represents a content script registered programmatically",
"functions": [
{
"name": "unregister",
"type": "function",
"description": "Unregister a content script registered programmatically",
"async": true,
"parameters": []
}
]
}
],
"functions": [
{
"name": "register",
"type": "function",
"description": "Register a content script programmatically",
"async": true,
"parameters": [
{
"name": "contentScriptOptions",
"$ref": "RegisteredContentScriptOptions"
}
]
}
]
}
]