Source code
Revision control
Copy as Markdown
Other Tools
{
"$ref": "#/definitions/TriggerActionSchemas",
"definitions": {
"TriggerActionSchemas": {
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": ["openURL"]
},
"params": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of urls we should match against"
},
"patterns": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of Match pattern compatible strings to match against"
}
},
"required": ["id"],
"additionalProperties": false,
"description": "Happens every time the user loads a new URL that matches the provided `hosts` or `patterns`"
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": ["openArticleURL"]
},
"params": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of urls we should match against"
},
"patterns": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of Match pattern compatible strings to match against"
}
},
"required": ["id"],
"additionalProperties": false,
"description": "Happens every time the user loads a document that is Reader Mode compatible"
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": ["openBookmarkedURL"]
}
},
"required": ["id"],
"additionalProperties": false,
"description": "Happens every time the user adds a bookmark from the URL bar star icon"
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": ["frequentVisits"]
},
"params": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of urls we should match against"
},
"patterns": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of Match pattern compatible strings to match against"
}
},
"required": ["id"],
"additionalProperties": false,
"description": "Happens every time a user navigates (or switches tab to) to any of the `hosts` or `patterns` arguments but additionally provides information about the number of accesses to the matched domain."
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": ["newSavedLogin"]
}
},
"required": ["id"],
"additionalProperties": false,
"description": "Happens every time the user adds or updates a login"
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": ["formAutofill"]
}
},
"required": ["id"],
"additionalProperties": false,
"description": "Happens when the user saves, updates, or uses a credit card or address for form autofill"
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": ["contentBlocking"]
},
"params": {
"type": "array",
"items": {
"type": ["string", "integer"],
"description": "Events that should trigger this message. String values correspond to ContentBlockingMilestone events and number values correspond to STATE_BLOCKED_* flags on nsIWebProgressListener."
}
}
},
"required": ["id", "params"],
"additionalProperties": false,
"description": "Happens every time Firefox blocks the loading of a page script/asset/resource that matches the one of the tracking behaviours specifid through params. See https://searchfox.org/mozilla-central/rev/8ccea36c4fb09412609fb738c722830d7098602b/uriloader/base/nsIWebProgressListener.idl#336"
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": ["defaultBrowserCheck"]
},
"context": {
"type": "object",
"properties": {
"source": {
"type": "string",
"enum": ["newtab"],
"description": "When the source of the trigger is home/newtab"
},
"willShowDefaultPrompt": {
"type": "boolean",
"description": "When the source of the trigger is startup"
}
},
"additionalProperties": false
}
},
"additionalProperties": false,
"required": ["id"],
"description": "Happens when starting the browser or navigating to about:home/newtab"
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": ["deeplinkedToWindowsSettingsUI"]
}
},
"additionalProperties": false,
"required": ["id"],
"description": "Occurs when user indicates they want to set Firefox to the default browser and they need to interact with Windows Settings to do so."
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": ["captivePortalLogin"]
}
},
"additionalProperties": false,
"required": ["id"],
"description": "Happens when the user successfully goes through a captive portal authentication flow."
},
{
"description": "Notify when a preference is added, removed or modified",
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": ["preferenceObserver"]
},
"params": {
"type": "array",
"items": {
"type": "string",
"description": "Preference names to observe."
}
}
},
"additionalProperties": false,
"required": ["id", "params"]
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": ["featureCalloutCheck"]
}
},
"additionalProperties": false,
"required": ["id"],
"description": "Used to display Feature Callouts in Firefox View. Can only be used for Feature Callouts."
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": ["pdfJsFeatureCalloutCheck"]
}
},
"additionalProperties": false,
"required": ["id"],
"description": "Used to display Feature Callouts on PDF.js pages. Can only be used for Feature Callouts."
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": ["nthTabClosed"]
}
},
"additionalProperties": false,
"required": ["id"],
"description": "Happens when the user closes n or more tabs in a session"
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": ["sidebarToolOpened"]
}
},
"additionalProperties": false,
"required": ["id"],
"description": "Happens when the user clicks on tools/extensions in the sidebar",
"context": {
"type": "object",
"properties": {
"view": {
"type": "string",
"description": "The tool/extension you've opened in the sidebar"
},
"clickCounts": {
"type": "object",
"description": "An object to store click counts for the tools/extensions opened in the sidebar"
}
},
"additionalProperties": false
}
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": ["activityAfterIdle"]
}
},
"additionalProperties": false,
"required": ["id"],
"description": "Happens when the user resumes activity after n milliseconds of inactivity (keyboard/mouse interactions and audio playback all count as activity)"
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": ["cookieBannerDetected"]
}
},
"additionalProperties": false,
"required": ["id"],
"description": "Happens when Firefox detects a cookie consent banner that could otherwise be handled by Cookie Banner Handling"
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": ["cookieBannerHandled"]
}
},
"additionalProperties": false,
"required": ["id"],
"description": "Happens when Firefox automatically engages with a cookie consent banner"
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": ["messagesLoaded"]
}
},
"additionalProperties": false,
"required": ["id"],
"description": "Happens as soon as a message is loaded"
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": ["pageActionInUrlbar"]
}
},
"additionalProperties": false,
"required": ["id"],
"description": "Happens when a page action appears in the urlbar. The specific page action(s) to watch can be specified by id in the targeting expression."
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": ["onSearch"]
},
"context": {
"type": "object",
"properties": {
"isSuggestion": {
"type": "boolean",
"description": "When the search was a suggestion"
},
"searchSource": {
"type": "string",
"enum": [
"urlbar-handoff",
"urlbar-searchmode",
"urlbar-persisted",
"urlbar"
],
"description": "The source of the search that occurred"
},
"isOneOff": {
"type": "boolean",
"description": "When the search is a one-off search"
}
},
"additionalProperties": false
}
},
"additionalProperties": false,
"required": ["id"],
"description": "Happens when a search is completed"
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": ["elementClicked"]
},
"params": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of IDs of elements that will fire this trigger when clicked"
},
"context": {
"type": "object",
"properties": {
"elementId": {
"type": "string",
"description": "The ID of the element that was clicked"
}
}
}
},
"additionalProperties": false,
"required": ["id"],
"description": "Happens when a browser chrome element is clicked"
}
]
}
}
}