summaryrefslogtreecommitdiffstats
path: root/toolkit/components/extensions/schemas/extension_protocol_handlers.json
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/components/extensions/schemas/extension_protocol_handlers.json')
-rw-r--r--toolkit/components/extensions/schemas/extension_protocol_handlers.json51
1 files changed, 51 insertions, 0 deletions
diff --git a/toolkit/components/extensions/schemas/extension_protocol_handlers.json b/toolkit/components/extensions/schemas/extension_protocol_handlers.json
new file mode 100644
index 0000000000..8fa20fb598
--- /dev/null
+++ b/toolkit/components/extensions/schemas/extension_protocol_handlers.json
@@ -0,0 +1,51 @@
+[
+ {
+ "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", "geo", "gopher", "im", "ipfs", "ipns", "irc", "ircs", "magnet",
+ "mailto", "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"}
+ }
+ }
+ }
+ ]
+ }
+]