Source code

Revision control

Other Tools

[
{
"namespace": "manifest",
"types": [
{
"id": "ProtocolHandler",
"type": "object",
"description": "Represents a protocol handler definition.",
"properties": {
"name": {
"description": "A user-readable title string for the protocol handler. This will be displayed to the user in interface objects as needed.",
"type": "string"
},
"protocol": {
"description": "The protocol the site wishes to handle, specified as a string. For example, you can register to handle SMS text message links by registering to handle the \"sms\" scheme.",
"choices": [{
"type": "string",
"enum": [
"bitcoin", "dat", "dweb", "ftp", "geo", "gopher", "im", "ipfs", "ipns", "irc", "ircs", "magnet",
"mailto", "matrix", "mms", "news", "nntp", "sip", "sms", "smsto", "ssb", "ssh",
"tel", "urn", "webcal", "wtai", "xmpp"
]
}, {
"type": "string",
"pattern": "^(ext|web)\\+[a-z0-9.+-]+$"
}]
},
"uriTemplate": {
"description": "The URL of the handler, as a string. This string should include \"%s\" as a placeholder which will be replaced with the escaped URL of the document to be handled. This URL might be a true URL, or it could be a phone number, email address, or so forth.",
"preprocess": "localize",
"choices": [
{"$ref": "ExtensionURL"},
{"$ref": "HttpURL"}
]
}
}
},
{
"$extend": "WebExtensionManifest",
"properties": {
"protocol_handlers": {
"description": "A list of protocol handler definitions.",
"optional": true,
"type": "array",
"items": {"$ref": "ProtocolHandler"}
}
}
}
]
}
]