[ { "namespace": "trackingProtection", "description": "experimental API allow requests through ETP", "events": [ { "name": "onSmartBlockEmbedUnblock", "type": "function", "description": "Event used to pass an unblock message to a smartblock shim", "parameters": [ { "name": "tabId", "type": "number", "description": "The id of the tab where the shim is running" }, { "name": "shimId", "type": "string", "description": "The shim which should be unblocked" }, { "name": "hostname", "type": "string", "description": "Hostname of the website" } ] }, { "name": "onSmartBlockEmbedReblock", "type": "function", "description": "Event used to pass an reblock message to a smartblock shim", "parameters": [ { "name": "tabId", "type": "number", "description": "The id of the tab where the shim is running" }, { "name": "shimId", "type": "string", "description": "The shim which should be reblocked" }, { "name": "hostname", "type": "string", "description": "Hostname of the website" } ] }, { "name": "onPrivateSessionEnd", "type": "function", "description": "Event used to notify webcompat extension that it's time to clear PB state", "parameters": [] } ], "functions": [ { "name": "isDFPIActive", "type": "function", "description": "Returns whether dFPI is active for private/non-private browsing tabs", "parameters": [ { "type": "boolean", "name": "isPrivate" } ], "async": true }, { "name": "shim", "type": "function", "description": "Set specified URL patterns as intended to be shimmed", "parameters": [ { "name": "allowlistId", "description": "Identfier for the allow-list, so it may be added-to or revoked", "type": "string" }, { "name": "patterns", "description": "Array of match patterns", "type": "array", "items": { "type": "string" } }, { "name": "notHosts", "description": "Hosts on which to not shim these patterns", "type": "array", "optional": true, "items": { "type": "string" } } ] }, { "name": "allow", "type": "function", "description": "Set specified URL patterns as intended to be allowed through the content blocker for the specified top hosts", "parameters": [ { "name": "allowlistId", "description": "Identfier for the allow-list, so it may be added-to or revoked", "type": "string" }, { "name": "patterns", "description": "Array of match patterns", "type": "array", "items": { "type": "string" } }, { "name": "isPrivate", "type": "boolean" }, { "name": "hosts", "description": "Hosts to allow the patterns on", "type": "array", "items": { "type": "string" } } ], "async": true }, { "name": "revoke", "type": "function", "description": "Revokes the given allow-list entirely (both shims and allows)", "parameters": [ { "name": "allowListId", "type": "string" } ], "async": true }, { "name": "clearResourceCache", "type": "function", "description": "Clear in-memory resource cache to reflect the changes to the allow-list for the subsequent requests", "parameters": [], "async": true }, { "name": "wasRequestUnblocked", "type": "function", "description": "Whether the given requestId was unblocked by any allowList", "parameters": [ { "name": "requestId", "type": "string" }, { "name": "isPrivate", "type": "boolean" } ], "async": true }, { "name": "openProtectionsPanel", "type": "function", "description": "Sends an observer message to open the protections panel on the window specified by the tab id", "parameters": [ { "name": "tabId", "type": "number", "description": "the webcompat tab id of the calling tab, used to get the correct window" } ] }, { "name": "incrementSmartblockEmbedShownTelemetry", "type": "function", "description": "Sends an observer message to inform protections panel that a embed was replaced on the window specified by the tab id", "parameters": [] }, { "name": "getSmartBlockEmbedFluentString", "type": "function", "description": "Gets the fluent strings used for the smartblock placeholder embed", "parameters": [ { "name": "tabId", "type": "number", "description": "the webcompat tab id of the calling tab, used to get the correct window" }, { "name": "shimId", "type": "string", "description": "the shimId of the calling shim, used for getting the correct embed name" }, { "name": "websiteHost", "type": "string", "description": "the hostname of the website, displayed on the placeholder button" } ], "async": true } ] } ]