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.json75
1 files changed, 75 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..b77e1e7426
--- /dev/null
+++ b/toolkit/components/extensions/schemas/extension_protocol_handlers.json
@@ -0,0 +1,75 @@
+[
+ {
+ "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" }
+ }
+ }
+ }
+ ]
+ }
+]