summaryrefslogtreecommitdiffstats
path: root/toolkit/components/extensions/schemas/dns.json
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/components/extensions/schemas/dns.json')
-rw-r--r--toolkit/components/extensions/schemas/dns.json82
1 files changed, 82 insertions, 0 deletions
diff --git a/toolkit/components/extensions/schemas/dns.json b/toolkit/components/extensions/schemas/dns.json
new file mode 100644
index 0000000000..415849c6de
--- /dev/null
+++ b/toolkit/components/extensions/schemas/dns.json
@@ -0,0 +1,82 @@
+[
+ {
+ "namespace": "manifest",
+ "types": [
+ {
+ "$extend": "PermissionNoPrompt",
+ "choices": [
+ {
+ "type": "string",
+ "enum": ["dns"]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "namespace": "dns",
+ "description": "Asynchronous DNS API",
+ "permissions": ["dns"],
+ "types": [
+ {
+ "id": "DNSRecord",
+ "type": "object",
+ "description": "An object encapsulating a DNS Record.",
+ "properties": {
+ "canonicalName": {
+ "type": "string",
+ "optional": true,
+ "description": "The canonical hostname for this record. this value is empty if the record was not fetched with the 'canonical_name' flag."
+ },
+ "isTRR": {
+ "type": "string",
+ "description": "Record retreived with TRR."
+ },
+ "addresses": {
+ "type": "array",
+ "items": { "type": "string" }
+ }
+ }
+ },
+ {
+ "id": "ResolveFlags",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "allow_name_collisions",
+ "bypass_cache",
+ "canonical_name",
+ "disable_ipv4",
+ "disable_ipv6",
+ "disable_trr",
+ "offline",
+ "priority_low",
+ "priority_medium",
+ "speculate"
+ ]
+ }
+ }
+ ],
+ "functions": [
+ {
+ "name": "resolve",
+ "type": "function",
+ "description": "Resolves a hostname to a DNS record.",
+ "async": true,
+ "parameters": [
+ {
+ "name": "hostname",
+ "type": "string"
+ },
+ {
+ "name": "flags",
+ "optional": true,
+ "default": [],
+ "$ref": "ResolveFlags"
+ }
+ ]
+ }
+ ]
+ }
+]