600 lines
18 KiB
JSON
600 lines
18 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"$ref": "#/definitions/SpecialMessageActionSchemas",
|
|
"definitions": {
|
|
"SpecialMessageActionSchemas": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["DISABLE_STP_DOORHANGERS"]
|
|
}
|
|
},
|
|
"required": ["type"],
|
|
"additionalProperties": false,
|
|
"description": "Disables all STP doorhangers."
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"args": {
|
|
"type": "string",
|
|
"description": "The element to highlight"
|
|
}
|
|
},
|
|
"required": ["args"],
|
|
"additionalProperties": false
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["HIGHLIGHT_FEATURE"]
|
|
}
|
|
},
|
|
"required": ["data", "type"],
|
|
"additionalProperties": false,
|
|
"description": "Highlights an element, such as a menu item"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"telemetrySource": {
|
|
"type": "string"
|
|
},
|
|
"url": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["telemetrySource", "url"],
|
|
"additionalProperties": false
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["INSTALL_ADDON_FROM_URL"]
|
|
}
|
|
},
|
|
"required": ["data", "type"],
|
|
"additionalProperties": false,
|
|
"description": "Install an add-on from AMO"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"args": {
|
|
"type": "string",
|
|
"description": "The about page. E.g. \"welcome\" for about:welcome'"
|
|
},
|
|
"where": {
|
|
"type": "string",
|
|
"enum": ["current", "save", "tab", "tabshifted", "window"],
|
|
"description": "Where the URL is opened",
|
|
"default": "tab"
|
|
},
|
|
"entrypoint": {
|
|
"type": "string",
|
|
"description": "Any optional entrypoint value that will be added to the search. E.g. \"foo=bar\" would result in about:welcome?foo=bar'"
|
|
}
|
|
},
|
|
"required": ["args", "where", "entrypoint"],
|
|
"additionalProperties": false
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["OPEN_ABOUT_PAGE"]
|
|
}
|
|
},
|
|
"required": ["data", "type"],
|
|
"additionalProperties": false,
|
|
"description": "Opens an about: page in IceCat"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["OPEN_ICECAT_VIEW"]
|
|
}
|
|
},
|
|
"required": ["type"],
|
|
"additionalProperties": false,
|
|
"description": "Opens the IceCat View pseudo-pinned-tab"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"args": {
|
|
"type": "string",
|
|
"description": "The menu name, e.g. \"appMenu\""
|
|
}
|
|
},
|
|
"required": ["args"],
|
|
"additionalProperties": false
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["OPEN_APPLICATIONS_MENU"]
|
|
}
|
|
},
|
|
"required": ["data", "type"],
|
|
"additionalProperties": false,
|
|
"description": "Opens an application menu"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["OPEN_AWESOME_BAR"]
|
|
}
|
|
},
|
|
"required": ["type"],
|
|
"additionalProperties": false,
|
|
"description": "Focuses and expands the awesome bar"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"category": {
|
|
"type": "string",
|
|
"description": "Section of about:preferences, e.g. \"privacy-reports\""
|
|
},
|
|
"entrypoint": {
|
|
"type": "string",
|
|
"description": "Add a queryparam for metrics"
|
|
}
|
|
},
|
|
"required": ["category"],
|
|
"additionalProperties": false
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["OPEN_PREFERENCES_PAGE"]
|
|
}
|
|
},
|
|
"required": ["data", "type"],
|
|
"additionalProperties": false,
|
|
"description": "Opens a preference page"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["OPEN_PRIVATE_BROWSER_WINDOW"]
|
|
}
|
|
},
|
|
"required": ["type"],
|
|
"additionalProperties": false,
|
|
"description": "Opens a private browsing window."
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["OPEN_PROTECTION_PANEL"]
|
|
}
|
|
},
|
|
"required": ["type"],
|
|
"additionalProperties": false,
|
|
"description": "Opens the protections panel"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["OPEN_PROTECTION_REPORT"]
|
|
}
|
|
},
|
|
"required": ["type"],
|
|
"additionalProperties": false,
|
|
"description": "Opens the protections panel report"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"args": {
|
|
"type": "string",
|
|
"description": "URL to open"
|
|
},
|
|
"where": {
|
|
"type": "string",
|
|
"enum": ["current", "save", "tab", "tabshifted", "window"],
|
|
"description": "Where the URL is opened",
|
|
"default": "tab"
|
|
}
|
|
},
|
|
"required": ["args", "where"],
|
|
"additionalProperties": false
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["OPEN_URL"]
|
|
}
|
|
},
|
|
"required": ["data", "type"],
|
|
"additionalProperties": false,
|
|
"description": "Opens given URL"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["PIN_CURRENT_TAB"]
|
|
}
|
|
},
|
|
"required": ["type"],
|
|
"additionalProperties": false,
|
|
"description": "Pin the current tab"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["SHOW_ICECAT_ACCOUNTS"]
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"entrypoint": {
|
|
"type": "string",
|
|
"description": "Adds entrypoint={your value} to the FXA URL"
|
|
},
|
|
"extraParams": {
|
|
"type": "object",
|
|
"description": "Any extra parameter that will be added to the FXA URL. E.g. {foo: bar} would result in <FXA_url>?foo=bar'"
|
|
}
|
|
},
|
|
"required": ["entrypoint"],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["type", "data"],
|
|
"additionalProperties": false,
|
|
"description": "Show IceCat Accounts"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["SHOW_MIGRATION_WIZARD"]
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"source": {
|
|
"type": "string",
|
|
"description": "Identitifer of the browser that should be pre-selected in the import migration wizard popup (e.g. 'chrome'), See https://searchfox.org/mozilla-central/rev/8dae1cc76a6b45e05198bc0d5d4edb7bf1003265/browser/components/migration/MigrationUtils.jsm#917"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["type"],
|
|
"additionalProperties": false,
|
|
"description": "Shows the Migration Wizard to import data from another Browser. See https://support.mozilla.org/en-US/kb/import-data-another-browser\""
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["CANCEL"]
|
|
}
|
|
},
|
|
"required": ["type"],
|
|
"additionalProperties": false,
|
|
"description": "Minimize the CFR doorhanger back into the URLbar"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["ACCEPT_DOH"]
|
|
}
|
|
},
|
|
"required": ["type"],
|
|
"additionalProperties": false,
|
|
"description": "Accept DOH doorhanger notification"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["DISABLE_DOH"]
|
|
}
|
|
},
|
|
"required": ["type"],
|
|
"additionalProperties": false,
|
|
"description": "Dismiss DOH doorhanger notification"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["PIN_ICECAT_TO_TASKBAR"]
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"privatePin": {
|
|
"type": "boolean",
|
|
"description": "Whether or not to pin private browsing mode"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["type"],
|
|
"additionalProperties": false,
|
|
"description": "Pin the app to taskbar"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["SET_DEFAULT_BROWSER"]
|
|
}
|
|
},
|
|
"required": ["type"],
|
|
"additionalProperties": false,
|
|
"description": "Message action to set IceCat as default browser"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["SET_DEFAULT_PDF_HANDLER"]
|
|
},
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"onlyIfKnownBrowser": {
|
|
"type": "boolean",
|
|
"description": "Only set IceCat as the default PDF handler if the current PDF handler is a known browser."
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"required": ["type"],
|
|
"additionalProperties": false,
|
|
"description": "Message action to set IceCat as the default PDF handler"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["DECLINE_DEFAULT_PDF_HANDLER"]
|
|
}
|
|
},
|
|
"required": ["type"],
|
|
"additionalProperties": false,
|
|
"description": "Message action to decline setting IceCat as the default PDF handler"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"homePage": {
|
|
"type": "string",
|
|
"description": "Should reset homepage pref",
|
|
"enum": ["default"]
|
|
},
|
|
"newtab": {
|
|
"type": "string",
|
|
"enum": ["default"],
|
|
"description": "Should reset newtab pref"
|
|
},
|
|
"layout": {
|
|
"type": "object",
|
|
"description": "Section name and boolean value that specifies if the section should be on or off.",
|
|
"properties": {
|
|
"search": {
|
|
"type": "boolean"
|
|
},
|
|
"topsites": {
|
|
"type": "boolean"
|
|
},
|
|
"highlights": {
|
|
"type": "boolean"
|
|
},
|
|
"topstories": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"search",
|
|
"topsites",
|
|
"highlights",
|
|
"topstories"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["CONFIGURE_HOMEPAGE"]
|
|
}
|
|
},
|
|
"required": ["data", "type"],
|
|
"additionalProperties": false,
|
|
"description": "Resets homepage pref and sections layout"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"content": {
|
|
"type": "object",
|
|
"description": "Object containing content rendered inside spotlight dialog"
|
|
}
|
|
},
|
|
"required": ["content"],
|
|
"additionalProperties": false
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["SHOW_SPOTLIGHT"]
|
|
}
|
|
},
|
|
"required": ["data", "type"],
|
|
"additionalProperties": false,
|
|
"description": "Opens a spotlight dialog"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"description": "Message id to block"
|
|
}
|
|
},
|
|
"required": ["id"],
|
|
"additionalProperties": false
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["BLOCK_MESSAGE"]
|
|
}
|
|
},
|
|
"required": ["data", "type"],
|
|
"additionalProperties": false,
|
|
"description": "Add message to an indexedDb list of blocked messages"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"pref": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"value": {
|
|
"type": ["boolean", "string", "number", "null"]
|
|
}
|
|
},
|
|
"description": "An object representing a pref containing a name and a value."
|
|
}
|
|
},
|
|
"required": ["pref"],
|
|
"additionalProperties": false
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["SET_PREF"]
|
|
}
|
|
},
|
|
"required": ["data", "type"],
|
|
"additionalProperties": false,
|
|
"description": "Sets prefs from special message actions"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"actions": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"description": "A special message action definition"
|
|
}
|
|
}
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["MULTI_ACTION"]
|
|
}
|
|
},
|
|
"required": ["data", "type"],
|
|
"additionalProperties": false,
|
|
"description": "Runs multiple actions"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"selector": {
|
|
"type": "string",
|
|
"description": "A CSS selector for the HTML element to be clicked"
|
|
}
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["CLICK_ELEMENT"]
|
|
}
|
|
},
|
|
"required": ["data", "type"],
|
|
"additionalProperties": false,
|
|
"description": "Selects an element in the current Window's document and triggers a click action"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["RELOAD_BROWSER"]
|
|
}
|
|
},
|
|
"required": ["type"],
|
|
"additionalProperties": false,
|
|
"description": "Message action that reloads the current browser"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["FOCUS_URLBAR"]
|
|
}
|
|
},
|
|
"required": ["type"],
|
|
"additionalProperties": false,
|
|
"description": "Focuses the urlbar in the window the message was displayed in"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|