Index

Found 682 pages:

# Page Tags and summary
1 Add-ons Add-ons, Extension, Extensions, Landing, Mozilla
Add-ons allow developers to extend and modify the functionality of Firefox.
2 AMO
Pages documenting addons.mozilla.org:
3 AMO Policies AMO, Add-ons, Firefox, Policies
Mozilla is committed to ensuring an excellent experience for both our users and developers of add-ons. Please review the policies below before submitting your add-on.
4 AMO Add-on Maintenance Policies
Add-on updates, transferring ownership, user reviews, and what to expect once your add-on is approved.
5 AMO Submission Policies
Find out what is expected of add-ons we host and our policies on specific add-on practices.
6 AMO featured extensions policies
How up-and-coming add-ons become featured and what's involved in the process.
7 Add-on Policies Add-ons, Review Policy
Add-ons extend the core capabilities of Firefox, enabling users to modify and personalize their web experience. A healthy ecosystem, built on trust, is vital for developers to be successful and users to feel safe making Firefox their own. For these reasons, Mozilla requires all add-ons to comply with the following policies on acceptable practices. These policies are not intended to serve as legal advice, nor as a comprehensive list of terms to include in your add-on’s privacy policy.
8 Add-on Policies (Effective June 10th, 2019) Add-ons, Review Policy
No summary!
9 Firefox Add-on Distribution Agreement Agreement, Firefox, add-on
Effective June 10, 2019
10 Add-ons Blocking Process
Add-ons enable users to add features to Firefox for a personalized browsing experience. Most add-ons are created with the best intent, providing users with useful and delightful features. However, add-ons can also be used to compromise personal data and security.
11 Browser Extensions Add-ons, Landing, WebExtensions
Extensions can extend and modify the capability of a browser. Extensions for Firefox are built using the WebExtensions API, a cross-browser system for developing extensions.
12 Add a button to the toolbar WebExtensions
Toolbar buttons are one of the main UI components available to extensions. Toolbar buttons live in the main browser toolbar and contain an icon. When the user clicks the icon, one of two things can happen:
13 Anatomy of an extension WebExtensions
An extension consists of a collection of files, packaged for distribution and installation. In this article, we will quickly go through the files that might be present in an extension.
14 Best practices for onboarding, upboarding, and offboarding users Guide, Upgrade, User experience, WebExtensions, distribution, install, remove
The first few minutes after someone installs your extension can be critical to its success. Your new user needs to know where to start and how to use the features of your browser extension.
15 Best practices for updating your extension Add-ons, Extensions, Guide, WebExtensions
Almost every extension needs to be updated from time to time, whether that be to correct bugs or add new features. Updating your extension is something that is worth planning methodically, not only to ensure the quality of the changes but also to maximize the opportunities to engage or re-engage with your audience.
16 Browser Extension Development Tools Coding, Debugging, Development, Guide, Scaffold, Testing, Tools, Translation, WebExtensions
Mozilla and the Firefox browser extension developer community have created a range of tools that can simplify and speed up your browser extension development. This page provides a summary of those tools including details on the features each offers, how to get started, where in the development cycle it fits, and links to useful resources.
17 Browser actions WebExtensions
A browser action is a button you can add to the browser toolbar. Users can click the button to interact with your extension.
18 Browser compatibility for manifest.json Add-ons, WebExtensions, manifest.json
No summary!
19 Browser support for JavaScript APIs Reference, WebExtensions
No summary!
20 Building a cross-browser extension Add-ons, Extensions, Guide, WebExtensions
The introduction of the browser extensions API created a uniform landscape for the development of browser extensions. However, among the browsers that use the extensions API (the major ones being Chrome, Firefox, Opera, and Edge), there are differences in both the implementation of the API and the scope of coverage. And then, Safari uses its own proprietary Safari Extensions JS.
21 Choose a Firefox version for web extension development Add-ons, Development, Extensions, Guide, Tools
Firefox provides several versions that offer different capabilities for developing web extensions. This article provides an overview of the differences amoung these versions of Firefox and recommends how to use each in the development lifecycle.
22 Chrome incompatibilities Guide, WebExtensions, google chrome
Extensions built with WebExtension APIs are designed to be compatible with Chrome and Opera extensions. As far as possible, extensions written for those browsers should run on Firefox with minimal changes.
23 Comparison with XUL/XPCOM extensions WebExtensions
This article is a technical comparison between the WebExtensions technology and "classic" extensions developed using direct XUL manipulation and direct access to XPCOM. It's intended to help orient people who maintain an add-on like this, and who are planning to port it to use WebExtension APIs.
24 Comparison with the Add-on SDK Addon SDK, AddonSDK, WebExtensions, porting
This article is a technical comparison of the Add-on SDK and WebExtensions technology. It's intended to help orient people who have an add-on that uses the SDK, and who are planning to port it to use WebExtension APIs.
25 Content Security Policy WebExtensions
Content Security Policy (CSP) is a mechanism to help prevent websites from inadvertently executing malicious content. A website specifies a CSP using an HTTP header sent from the server. The CSP is mostly concerned with specifying legitimate sources of various types of content, such as scripts or embedded plugins. For example, a website can use it to specify that the browser should only execute JavaScript served from the website itself, and not from any other sources. A CSP can also instruct the browser to disallow potentially unsafe practices, such as the use of eval().
26 Content scripts WebExtensions
A content script is a part of your extension that runs in the context of a particular web page (as opposed to background scripts which are part of the extension, or scripts which are part of the web site itself, such as those loaded using the <script> element).
27 Debugging Debugging, Firefox, Guide, Mozilla, WebExtensions
This article explains how to use the Firefox developer tools to debug extensions.
28 Debugging (before Firefox 50) Debugging, Firefox, Guide, Mozilla, Obsolete, WebExtensions
This article explains how you can use the built-in Firefox developer tools to debug extensions developed with WebExtension APIs. If you're trying to debug an add-on developed with the Add-on SDK, please see the guide to the Add-on Debugger.
29 Developer accounts Development, Extensions, publishing
Developer accounts for addons.mozilla.org are integrated with Firefox Accounts, which lets you access and manage multiple Mozilla services from one account. You can manage your Firefox Account from accounts.firefox.com/settings.
30 Developing WebExtensions for Thunderbird Add-ons, Draft, NeedsContent, WebExtensions, thunderbird
You'll approach the coding of an extension for Thunderbird in the same way as you would for a Firefox extension; using a text editor or tool of your choice to write the code.
31 Developing extensions for Firefox for Android Add-ons, Beginner, Guide, Mobile, WebExtensions
You'll approach the coding of an extension for Firefox for Android in the same way as you would for a desktop extension; using a text editor or tool of your choice to write the code.
32 Differences between API implementations Guide, WebExtensions
The browser extensions API is still an emerging standard. As a result, while it is supported by most major browsers including Firefox, Chrome, Edge, and Opera, there are differences between the various implementations. This means that some changes may be necessary to implement your extension for multiple browsers.
33 Differences between desktop and Android extensions Add-ons, Guide, Mobile, NeedsUpdate, WebExtensions
Firefox for Android offers a subset of the WebExtensions APIs available to the desktop version of Firefox. Some of these differences are due to the nature of the Android environment and therefore the features Firefox can implement, others are where Firefox for Android does not yet offer all the desktop features. This article describes and explains these differences and looks at the impact they might have on your add-on development.
34 Distribution options Installation, Landing, WebExtensions, add-on
The standard browser extension distribution and installation process is through Firefox using a signed XPI file obtained from addons.mozilla.org (AMO) (for listed add-ons) or a download set up by a developer (for unlisted add-ons).
35 Add-ons for desktop apps Add-ons, Desktop apps, Guide, Installation, WebExtensions
If you have developed an add-on to complement a desktop application, there are several ways you can install the add-on:
36 Add-ons in the enterprise Add-ons, Guide, Installation
As an enterprise IT administrator you may wish to install add-ons for your users automatically, this page discusses the options.
37 Sideloading add-ons Guide, Installation, Sideloading, WebExtensions
You may want to send a user your add-on’s XPI file by some means other than a web download, such as an email distribution of a beta version for user testing. In this case, there are two practical options for installing the add-on:
38 Example extensions Interface, WebExtensions
To help illustrate how to develop extensions, we maintain a repository of simple example extensions at https://github.com/mdn/webextensions-examples. This article describes the WebExtension APIs used in that repository.
39 Extending the developer tools Add-ons, DevTools, Extensions, Guide, Needs Privileges, WebExtensions
You can use WebExtensions APIs to extend the browser's built-in developer tools.
40 Extensions and the add-on ID WebExtensions
Firefox add-ons contain a unique identifier which is used both inside Firefox itself and on the addons.mozilla.org (AMO) website. For example, it's used by Firefox to check for updates to installed add-ons and to identify which objects (such as data stores) are controlled by this add-on.
41 Firefox differentiators Add-ons, Draft, Extensions, Firefox, NeedsMarkupWork, Themes, WebExtensions
Firefox is a great place to begin your browser extension development. To start, you get the highest compliance with the proposed browser extension API including use of the browser.* namespace and promises for handling asynchronous events. Then, there is a highly supportive community of extension developers, ready to assist you.
42 Firefox workflow overview Add-ons, Code, Extensions, Firefox, WebExtensions, enhance, prepare, publish, retire, workflow
* Or distribute your extension for sideloading, desktop apps, or in an enterprise.
43 Getting started with web-ext Guide, Installing, Testing, Tools, WebExtension, packaging, web-ext
web-ext is a command line tool designed to speed up various parts of the extension development process, making development faster and easier. This article explains how to install and use web-ext.
44 Implement a settings page WebExtensions
A settings page gives users a way to see and change settings (sometimes also called "preferences" or "options") for the extension.
45 Index Add-ons, Index, WebExtensions
No summary!
46 Interact with the clipboard Add-ons, Clip, Clipboard, Cut, Editing, Extensions, Text, WebExtensions, copy, paste
There are two ways browser extensions can interact with the system clipboard: the Document.execCommand() method and the modern asynchronous Clipboard API.
47 Intercept HTTP requests Add-ons, Extensions, How-to, WebExtensions
To intercept HTTP requests, use the webRequest API. This API enables you to add listeners for various stages of making an HTTP request. In the listeners, you can:
48 Internationalization Article, Guide, Internationalization, Localization, WebExtensions, i18n, messages.json, placeholders, predefined messages
The WebExtensions API has a rather handy module available for internationalizing extensions — i18n. In this article we'll explore its features and provide a practical example of how it works. The i18n system for extensions built using WebExtension APIs is similar to common JavaScript libraries for i18n such as i18n.js.
49 JavaScript APIs WebExtensions
No summary!
50 alarms API, Extensions, Inteface, Needs Privileges, Reference, WebExtensions, alarms
Schedule code to run at a specific time in the future.
51 alarms.Alarm API, Add-ons, Extensions, Non-standard, Reference, Type, WebExtensions, alarm, alarms
Information about a single alarm. This object is returned from alarms.get() and alarms.getAll(), and is passed into the alarms.onAlarm listener.
52 alarms.clear() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, alarms, clear
Cancels an alarm, given its name.
53 alarms.clearAll() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, alarms, clearAll
Cancels all active alarms.
54 alarms.create() API, Add-ons, Create, Extensions, Method, Non-standard, Reference, WebExtensions, alarms
Creates a new alarm for the current browser session. An alarm may fire once or multiple times. An alarm is cleared after it fires for the last time.
55 alarms.get() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, alarms, get
Gets an alarm, given its name.
56 alarms.getAll() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, alarms, getAll
Gets all active alarms for the extension.
57 alarms.onAlarm API, Add-ons, Event, Extensions, Non-standard, Reference, WebExtensions, alarms, onAlarm
Fired when any alarm set by the extension goes off.
58 bookmarks API, Add-ons, Bookmarks, Extensions, Interface, Non-standard, Reference, WebExtensions
The WebExtensions bookmarks API lets an extension interact with and manipulate the browser's bookmarking system. You can use it to bookmark pages, retrieve existing bookmarks, and edit, remove, and organize bookmarks.
59 bookmarks.BookmarkTreeNode API, Add-ons, BookmarkTreeNode, Bookmarks, Extensions, Non-standard, Reference, Type, WebExtensions
An object of type bookmarks.BookmarkTreeNode represents a node in the bookmark tree, where each node is a bookmark, a bookmark folder, or a separator. Child nodes are ordered by an index within their respective parent folders.
60 bookmarks.BookmarkTreeNodeType API, Add-ons, BookmarkTreeNodeType, Bookmarks, Extensions, Property, Reference, WebExtensions
The bookmarks.BookmarkTreeNodeType type is used to describe whether a node in the bookmark tree is a bookmark, a folder, or a separator.
61 bookmarks.BookmarkTreeNodeUnmodifiable API, Add-ons, BookmarkTreeNodeUnmodifiable, Bookmarks, Extensions, Non-standard, Reference, Type, WebExtensions
The bookmarks.BookmarkTreeNodeUnmodifiable type is used to indicate the reason that a node in the bookmark tree (where each node is either a bookmark or a bookmark folder) cannot be changed. This is used as the value of the bookmarks.BookmarkTreeNode.unmodifiable.unmodifiable field on bookmark nodes.
62 bookmarks.CreateDetails API, Add-ons, Bookmarks, CreateDetails, Extensions, Non-standard, Reference, Type, WebExtensions
The CreateDetails type is used to describe the properties of a new, bookmark, bookmark folder, or separator when calling the bookmarks.create() method.
63 bookmarks.create() API, Add-ons, Bookmarks, Create, Extensions, Method, Non-standard, Reference, WebExtensions
Creates a bookmark or folder as a child of the BookmarkTreeNode with the specified parentId. To create a folder, omit or leave empty the CreateDetails.url parameter.
64 bookmarks.export() API, Add-ons, Bookmarks, Event, Extensions, Non-standard, Reference, WebExtensions, export
Exports bookmarks to an HTML bookmark file.
65 bookmarks.get() API, Add-ons, Bookmarks, Extensions, Method, Non-standard, Reference, WebExtensions, get
Given the ID of a bookmarks.BookmarkTreeNode or an array of such IDs, the bookmarks.get() method retrieves the matching nodes.
66 bookmarks.getChildren() API, Add-ons, Bookmarks, Extensions, Method, Non-standard, Reference, WebExtensions, getChildren
bookmarks.getChildren() retrieves all the immediate children of a given bookmark folder, identified as a BookmarkTreeNode ID.
67 bookmarks.getRecent() API, Add-ons, Bookmarks, Extensions, Method, Non-standard, Reference, WebExtensions, getRecent
The bookmarks.getRecent() method retrieves a specified number of the most recently added bookmarks as an array of BookmarkTreeNode objects.
68 bookmarks.getSubTree() API, Add-ons, Bookmarks, Extensions, Method, Non-standard, Reference, WebExtensions, getSubTree
The bookmarks.getSubTree() method asynchronously retrieves a bookmarks.BookmarkTreeNode, given its ID.
69 bookmarks.getTree() API, Add-ons, Bookmarks, Extensions, Method, Non-standard, Reference, WebExtensions, getTree
bookmarks.getTree() returns an array containing the root of the bookmarks tree as a bookmarks.BookmarkTreeNode object.
70 bookmarks.move() API, Add-ons, Bookmarks, Extensions, Method, Non-standard, Reference, WebExtensions, move
The bookmarks.move() method moves the specified BookmarkTreeNode to the specified destination within the tree of bookmarks. This lets you move a bookmark to a new folder and/or position within the folder.
71 bookmarks.onChanged API, Add-ons, Bookmarks, Event, Extensions, Non-standard, Reference, WebExtensions, onChanged
Fired when there is a change to:
72 bookmarks.onChildrenReordered API, Add-ons, Bookmarks, Event, Extensions, Non-standard, Reference, WebExtensions, onChildrenReordered
Fired when the children of a folder have changed their order due to the order being sorted in the UI. This is not called as a result of a call to bookmarks.move() or a drag operation in the UI.
73 bookmarks.onCreated API, Add-ons, Bookmarks, Event, Extensions, Non-standard, Reference, WebExtensions, onCreated
Fired when a bookmark item (a bookmark or a folder) is created.
74 bookmarks.onImportBegan API, Add-ons, Bookmarks, Event, Extensions, Non-standard, Reference, WebExtensions, onImportBegan
Fired when the browser has started importing a set of bookmarks.
75 bookmarks.onImportEnded API, Add-ons, Bookmarks, Event, Extensions, Non-standard, Reference, WebExtensions, onImportEnded
Fired when the browser has finished importing a set of bookmarks.
76 bookmarks.onMoved API, Add-ons, Bookmarks, Event, Extensions, Non-standard, Reference, WebExtensions, onMoved
Fired when a bookmark or folder is moved to a different parent folder and/or position within a folder.
77 bookmarks.onRemoved API, Add-ons, Bookmarks, Event, Extensions, Non-standard, Reference, WebExtensions, onRemoved
Fired when a bookmark or folder is removed. When a folder is removed recursively, a single notification is fired for the folder, and none for its contents.
78 bookmarks.remove() API, Add-ons, Bookmarks, Extensions, Method, Non-standard, Reference, WebExtensions, remove
The bookmarks.remove() method removes a single bookmark or an empty bookmark folder.
79 bookmarks.removeTree() API, Add-ons, Bookmarks, Extensions, Method, Non-standard, Reference, WebExtensions, removeTree
The bookmarks.removeTree() method recursively removes a bookmark folder and all of its contents.
80 bookmarks.search() API, Add-ons, Bookmarks, Extensions, Method, Non-standard, Reference, Search, WebExtensions
The bookmarks.search() function searches for bookmark tree nodes matching the given query.
81 bookmarks.update() API, Add-ons, Bookmarks, Extensions, Method, Non-standard, Reference, Update, WebExtensions
bookmarks.update() updates the title and/or URL of a bookmark, or the name of a bookmark folder.
82 browserAction API, Add-ons, Extensions, Interface, Non-standard, Reference, WebExtensions, browserAction
Adds a button to the browser's toolbar.
83 browserAction.ColorArray API, Add-ons, ColorArray, Extensions, Non-standard, Reference, Type, WebExtensions, browserAction
An array of four integers in the range 0-255, defining an RGBA color. The four values specify the following channels:
84 browserAction.ImageDataType API, Add-ons, Extensions, ImageDataType, Non-standard, Reference, Type, WebExtensions, browserAction
Pixel data for an image. Must be an ImageData object (for example, from a <canvas> element).
85 browserAction.disable() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, browserAction, disable
Disables the browser action for a tab, meaning that it cannot be clicked when that tab is active.
86 browserAction.enable() API, Add-ons, Enable, Extensions, Method, Non-standard, Reference, WebExtensions, browserAction
Enables the browser action for a tab. By default, browser actions are enabled for all tabs.
87 browserAction.getBadgeBackgroundColor() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, browserAction, getBadgeBackgroundColor
Gets the background color of the browser action's badge.
88 browserAction.getBadgeText() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, browserAction, getBadgeText
Gets the browser action's badge text.
89 browserAction.getBadgeTextColor() API, Add-ons, Extensions, Method, Reference, WebExtensions, browserAction, getBadgeTextColor
Gets the text color for the browser action's badge.
90 browserAction.getPopup() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, browserAction, getPopup
Gets the HTML document set as the popup for this browser action.
91 browserAction.getTitle() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, browserAction, getTitle
Gets the browser action's title.
92 browserAction.isEnabled() API, Add-ons, Extensions, Method, Reference, WebExtensions, browserAction, isEnabled
Returns true if the browser action is enabled.
93 browserAction.onClicked API, Add-ons, Event, Extensions, Non-standard, Reference, WebExtensions, browserAction, onClicked
Fired when a browser action icon is clicked. This event will not fire if the browser action has a popup.
94 browserAction.openPopup() API, Add-ons, Extensions, Non-standard, Reference, WebExtensions, browserAction, openPopup
None.
95 browserAction.setBadgeBackgroundColor() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, browserAction, setBadgeBackgroundColor
Sets the background color for the badge. Tabs without a specific badge background color will inherit the global badge background color, which defaults to [217, 0, 0, 255] in Firefox.
96 browserAction.setBadgeText() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, browserAction, setBadgeText
Sets the badge text for the browser action. The badge is displayed on top of the icon.
97 browserAction.setBadgeTextColor() API, Add-ons, Extensions, Method, Reference, WebExtensions, browserAction, setBadgeTextColor
Sets the text color for the browser action's badge. Tabs without a specific badge text color will inherit the global badge text color.
98 browserAction.setIcon() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, browserAction, setIcon
Sets the icon for the browser action.
99 browserAction.setPopup() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, browserAction, setPopup
Sets the HTML document that will be opened as a popup when the user clicks on the browser action's icon. Tabs without a specific popup will inherit the global popup, which defaults to the default_popup specified in the manifest.
100 browserAction.setTitle() API, Add-ons, Extensions, Method, Reference, WebExtensions, browserAction, setTitle
Sets the browser action's title. The title is displayed in a tooltip over the browser action's icon. You can pass a tabId in or a windowId as an optional parameter — if you do this then the title is changed only for the given tab or the given window. Tabs or windows without a specific title will inherit the global title text, which defaults to the default_title or name specified in the manifest.
101 browserSettings API, Add-ons, Extensions, Non-standard, Reference, WebExtensions, browserSettings
No summary!
102 browserSettings.allowPopupsForUserEvents API, Add-ons, Extensions, Property, WebExtensions, allowPopupsForUserEvents, browserSettings
A BrowserSetting object that can be used to enable or disable the ability of web pages to open popups in response to user actions.
103 browserSettings.cacheEnabled API, Add-ons, Extensions, Property, Reference, WebExtensions, browserSettings, cacheEnabled
A BrowserSetting object that can be used to globally enable or disable the browser cache.
104 browserSettings.closeTabsByDoubleClick API, Add-ons, Extensions, Property, Reference, WebExtensions, browserSettings, closeTabsByDoubleClick
No summary!
105 browserSettings.ftpProtocolEnabled API, Add-ons, Extensions, Property, Reference, WebExtensions, browserSettings, contextMenuShowEvent
A BrowserSetting object that determines whether the FTP protocol is enabled in the browser.
106 browserSettings.homepageOverride API, Add-ons, Extensions, Property, Reference, WebExtensions, browserSettings, homepageOverride
A BrowserSetting object that can be used to get a string representing the URL currently set as the browser's homepage.
107 browserSettings.imageAnimationBehavior API, Add-ons, Extensions, Property, Reference, browserSettings, imageAnimationBehavior
A BrowserSetting object that can be used to change the way the browser handles animated images, such as GIFs.
108 browserSettings.newTabPageOverride API, Add-ons, Extensions, Property, Reference, WebExtensions, browserSettings, newTabPageOverride
A BrowserSetting object that can be used to get a string representing the URL for the "new tab" page: that is, the page that's loaded when the user opens a new empty tab.
109 browserSettings.newTabPosition API, Add-ons, Extensions, Property, Reference, WebExtensions, browserSettings, newTabPosition
A BrowserSetting object that can be used to control the position of newly opened tabs relative to already open tabs.
110 browserSettings.openBookmarksInNewTabs API, Add-ons, Extensions, Property, Reference, WebExtensions, browserSettings, openBookmarksInNewTabs
A BrowserSetting object whose underlying value is a boolean.
111 browserSettings.openSearchResultsInNewTabs API, Add-ons, Extensions, Property, Reference, WebExtensions, browserSettings, openSearchResultsInNewTabs
A BrowserSetting object whose underlying value is a boolean.
112 browserSettings.openUrlbarResultsInNewTabs API, Add-ons, Extensions, Property, Reference, WebExtensions, browserSettings, openUrlbarResultsInNewTabs
A BrowserSetting object whose underlying value is a boolean.
113 browserSettings.overrideDocumentColors API, Add-ons, Extensions, Property, Reference, WebExtensions, browserSettings, overrideDocumentColors
A BrowserSetting object whose underlying value is a string.
114 browserSettings.useDocumentFonts API, Add-ons, Extensions, Property, Reference, WebExtensions, browserSettings, useDocumentFonts
A BrowserSetting object whose underlying value is a boolean.
115 browserSettings.webNotificationsDisabled API, Add-ons, Extensions, Property, Reference, WebExtensions, browserSettings, webNotificationsDisabled
A BrowserSetting object that can be used to prevent websites from showing notifications using the Notifications Web API.
116 contextMenuShowEvent API, Add-ons, Extensions, Property, Reference, WebExtensions, browserSettings, contextMenuShowEvent
A BrowserSetting object which determines whether the browser's context menu is shown on the mouseup event or on the mousedown event.
117 browsingData API, Add-ons, Extensions, Non-standard, Reference, WebExtensions, browsingData
Enables extensions to clear the data that is accumulated while the user is browsing.
118 browsingData.DataTypeSet API, Add-ons, DataTypeSet, Extensions, Reference, Type, WebExtensions, browsingData
The browsingData.DataTypeSet type describes a set of data types.
119 browsingData.RemovalOptions API, Add-ons, Extensions, Reference, RemovalOptions, Type, WebExtensions, browsingData
The browsingData.RemovalOptions type contains options to control certain aspects of browsing data removal.
120 browsingData.remove() API, Add-ons, Extensions, Method, Reference, WebExtensions, browsingData, remove
Removes the specified browsing data.
121 browsingData.removeCache() API, Add-ons, Extensions, Method, Reference, WebExtensions, browsingData, removeCache
Clears the browser's cache.
122 browsingData.removeCookies() API, Add-ons, Extensions, Method, Reference, WebExtensions, browsingData, removeCookies
Clears the browser's cookies.
123 browsingData.removeDownloads() API, Add-ons, Extensions, Method, Reference, WebExtensions, browsingData, removeDownloads
Clears the browser's download history. Note that this does not delete the downloaded objects themselves, only records of downloads in the browser's history.
124 browsingData.removeFormData() API, Add-ons, Extensions, Method, Reference, WebExtensions, browsingData, removeDownloads
Clears data that the browser has saved for autofilling forms.
125 browsingData.removeHistory() API, Add-ons, Extensions, Method, Reference, WebExtensions, browsingData, removeHistory
Clears the record of web pages that the user has visited (browsing history).
126 browsingData.removeLocalStorage() API, Add-ons, Extensions, Method, Reference, WebExtensions, browsingData, removeLocalStorage
Clears any local storage created by websites.
127 browsingData.removePasswords() API, Add-ons, Extensions, Method, Reference, WebExtensions, browsingData, removePasswords
Clears saved passwords.
128 browsingData.removePluginData() API, Add-ons, Extensions, Method, Reference, WebExtensions, browsingData, removePluginData
Clears data stored by browser plugins.
129 browsingData.settings() API, Add-ons, Extensions, Method, Reference, Settings, WebExtensions, browsingData
Browsers have a built-in "Clear History" feature, which enables the user to clear various types of browsing data. This has a UI that enables the user to select what type of data to remove (e.g. history, downloads, ...) and how far back in time to remove data.
130 captivePortal API, Add-ons, Extensions, Non-standard, Reference, WebExtensions, captivePortal
Determine the captive portal state of the user’s connection. A captive portal is a web page displayed when a user first connects to a Wi-Fi network. The user provides information or acts on the captive portal web page to gain broader access to network resources, such as accepting terms and conditions or making a payment.
131 captivePortal.canonicalURL
Return the canonical URL of the captive-portal detection page. Read-only.
132 getLastChecked API, Add-ons, Extensions, Non-standard, Reference, WebExtensions, captivePortal
Returns the time since the last request was completed.
133 getState API, Add-ons, Extensions, Non-standard, Reference, WebExtensions, captivePortal
Returns the portal state as one of unknown, not_captive, unlocked_portal, or locked_portal.
134 onConnectivityAvailable API, Add-ons, Extensions, Non-standard, Reference, WebExtensions, captivePortal
Fires when the captive portal service determines that the user can connect to the internet.
135 onStateChanged API, Add-ons, Extensions, Non-standard, Reference, WebExtensions, captivePortal
Fires when the captive portal state changes.
136 clipboard API, Add-ons, Clipboard, Extensions, Reference, WebExtensions
The clipboard API enables an extension to copy items to the system clipboard. Currently the API only supports copying images, but it's intended to support copying text and HTML in the future.
137 clipboard.setImageData() API, Add-ons, Clipboard, Extensions, Method, Reference, WebExtensions, setImageData
Copies an image to the clipboard. The image is re-encoded before it is written to the clipboard. If the image is invalid, the clipboard is not modified.
138 commands API, Add-ons, Extensions, Non-standard, Reference, WebExtensions, commands
Listen for the user executing commands that you have registered using the commands manifest.json key.
139 Command API, Add-ons, Command, Extensions, Non-standard, Reference, Type, WebExtensions, commands
Information about a command. This contains the information specified for the command in the commands manifest.json key.
140 commands.reset() API, Add-ons, Extensions, Method, Reference, WebExtensions, commands, reset
Resets the given command's description and keyboard shortcut to the values given in the extension's commands manifest.json key.
141 commands.update() API, Add-ons, Extensions, Method, Reference, Update, WebExtensions, commands
Change the description or keyboard shortcut for the given command.
142 getAll() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, commands, getAll
Gets all commands for the extension that you have registered using the commands manifest.json key.
143 onCommand API, Add-ons, Event, Extensions, Non-standard, Reference, WebExtensions, commands, onCommand
Events have three functions:
144 contentScripts API, Add-ons, Extensions, Interface, WebExtensions, contentScripts
With the contentScripts API, an extension can register and unregister scripts at runtime.
145 contentScripts.RegisteredContentScript API, Extensions, Reference, RegisteredContentScript, Type, contentScripts
RegisteredContentScript is returned by a call to contentScripts.register() and represents the content scripts registered in that call.
146 contentScripts.RegisteredContentScript.unregister() API, Extensions, Reference, RegisteredContentScript.unregister, contentScripts
None.
147 contentScripts.register() API, Extensions, Method, Reference, contentScripts, register
Use this function to register one or more content scripts.
148 contextualIdentities WebExtensions
Work with contextual identities: list, create, remove, and update contextual identities.
149 contextualIdentities.create() API, Add-ons, Create, Extensions, Method, Reference, WebExtensions, contextualIdentities
Creates a new contextual identity. Once created, the user will be able to create new tabs belonging to this contextual identity, just as they can with the built-in identities.
150 contextualIdentities.get() API, Add-ons, Extensions, Method, Reference, WebExtensions, contextualIdentities, get
Gets information about a contextual identity, given its cookie store ID.
151 contextualIdentities.onCreated API, APIReference, Add-ons, Event, Extensions, WebExtensions, contextualIdentities, onCreated
Fired when a new contextual identity is created. Contextual identities may be created by extensions using the contextualIdentities API, or directly by the user, using the browser's user interface.
152 contextualIdentities.onRemoved API, Add-ons, Event, Extensions, Reference, WebExtensions, contextualIdentities, onRemoved
Fired when a new contextual identity is removed. Contextual identities may be removed by extensions using the contextualIdentities API, or directly by the user, using the browser's user interface.
153 contextualIdentities.onUpdated API, Add-ons, Event, Extensions, Reference, WebExtensions, contextualIdentities, onUpdated
Fired when the properties of a contextual identity, such as its name, icon, or color, are changed. Contextual identities may be updated by extensions using the contextualIdentities API, or directly by the user, using the browser's user interface.
154 contextualIdentities.query() API, Add-ons, Extensions, Method, Reference, WebExtensions, contextualIdentities, query
Gets information about all contextual identities, or about those contextual identities that match a given filter argument.
155 contextualIdentities.remove() API, Add-ons, Extensions, Method, Reference, WebExtensions, contextualIdentities, remove
Removes a contextual identity, given its cookie store ID.
156 contextualIdentities.update() API, Add-ons, Extensions, Method, Reference, Update, WebExtensions, contextualIdentities
Updates properties of a contextual identity, given its cookie store ID.
157 contextualIdentitities.ContextualIdentity API, Add-ons, ContextualIdentity, Extensions, Reference, Type, WebExtensions, contextualIdentities
The contextualIdentities.ContextualIdentity type describes a single contextual identity.
158 cookies API, Add-ons, Cookies, Extensions, Interface, Non-standard, Reference, WebExtensions
Enables extensions to get and set cookies, and be notified when they change.
159 cookies.Cookie API, Add-ons, Cookies, Extensions, Non-standard, Reference, Type, WebExtensions, cookie
The Cookie type of the cookies API represents information about an HTTP cookie.
160 cookies.CookieStore API, Add-ons, CookieStore, Cookies, Extensions, Non-standard, Reference, Type, WebExtensions
The CookieStore type of the cookies API represents a cookie store in the browser.
161 cookies.OnChangedCause API, Add-ons, Cookies, Extensions, Non-standard, OnChangedCause, Reference, Type, WebExtensions
The OnChangedCause type of the cookies API represents the reason a cookie changed.
162 cookies.SameSiteStatus API, Add-ons, Cookies, Extensions, Interface, Non-standard, Reference, Type, WebExtensions
The SameSiteStatus type of the cookies API represents information about the SameSite state of a cookie.
163 cookies.get() API, Add-ons, Cookies, Extensions, Method, Non-standard, Reference, WebExtensions, get
The get() method of the cookies API retrieves information about a single cookie, given its name and URL.
164 cookies.getAll() API, Add-ons, Cookies, Extensions, Method, Non-standard, Reference, WebExtensions, getAll
The getAll() method of the cookies API retrieves all cookies from a single cookie store that match the given information.
165 cookies.getAllCookieStores() API, Add-ons, Cookies, Extensions, Method, Non-standard, Reference, WebExtensions, getAllCookieStores
The getAllCookieStores() method of the cookies API returns a list of all cookie stores.
166 cookies.onChanged API, Add-ons, Cookies, Event, Extensions, Non-standard, Reference, WebExtensions, onChanged
The onChanged event of the cookies API is fired when a cookie is set or removed.
167 cookies.remove() API, Add-ons, Cookies, Extensions, Method, Non-standard, Reference, WebExtensions, remove
The remove() method of the cookies API deletes a cookie, given its name and URL.
168 cookies.set() API, Add-ons, Cookies, Extensions, Method, Non-standard, Reference, WebExtensions, set
The set() method of the cookies API sets a cookie containing the specified cookie data. This method is equivalent to issuing an HTTP Set-Cookie header during a request to a given URL.
169 devtools.inspectedWindow API, Add-ons, Extensions, Reference, WebExtensions, devtools.inspectedWindow
The devtools.inspectedWindow API lets a devtools extension interact with the window that the developer tools are attached to.
170 devtools.inspectedWindow.eval() API, Add-ons, Extensions, Reference, WebExtensions, devtools.inspectedWindow, eval
Executes JavaScript in the window that the devtools are attached to.
171 devtools.inspectedWindow.reload() API, Add-ons, Extensions, Reference, WebExtensions, devtools.inspectedWindow, reload
Reloads the window that the devtools are attached to.
172 devtools.inspectedWindow.tabId API, Add-ons, Extensions, Reference, WebExtensions, devtools.inspectedWindow, tabId
The ID of the tab that this instance of the devtools is attached to, represented as a number.
173 devtools.network API, Add-ons, Extensions, Reference, WebExtensions, devtools.network
The devtools.network API lets a devtools extension get information about network requests associated with the window that the devtools are attached to (the inspected window).
174 devtools.network.getHAR() Add-ons, Extensions, WebExtensions, devtools.network, getHAR
Get a HAR log for the page loaded in the current tab.
175 devtools.network.onNavigated API, Add-ons, Extensions, Reference, WebExtensions, devtools.network
Fired when the user navigates the inspected window to a new page.
176 devtools.network.onRequestFinished API, Add-ons, Extensions, Reference, WebExtensions, devtools.network, onRequestFinished
Fired when a network request has finished and its details are available to the extension.
177 devtools.panels API, Add-ons, Extensions, Reference, WebExtensions, devtools.panels
The devtools.panels API lets a devtools extension define its user interface inside the devtools window.
178 devtools.panels.ElementsPanel API, Add-ons, DevTools, Extensions, Reference, WebExtensions, devtools.panels, devtools.panels.ElementsPanel
An ElementsPanel represents the HTML/CSS inspector in the browser's devtools. This is called the Page Inspector in Firefox and the Elements panel in Chrome.
179 devtools.panels.ElementsPanel.createSidebarPane() API, Add-ons, DevTools, Extensions, Reference, WebExtensions, createSidebarPane, devtools.panels
Adds a new pane to the sidebar in the HTML/CSS inspector.
180 onSelectionChanged API, Add-ons, DevTools, Extensions, Reference, WebExtensions, devtools.panels, devtools.panelsElementsPanel
Fires when the user selects a different page element for inspection with the browser's developer tools, for example by selecting the "Inspect Element" context menu item in Firefox.
181 devtools.panels.ExtensionPanel API, Add-ons, Extensions, Reference, WebExtensions, devtools.panels
An ExtensionPanel represents a panel added to the devtools. It's the resolution of the Promise returned by browser.devtools.panels.create().
182 devtools.panels.ExtensionSidebarPane API, Add-ons, DevTools, Extensions, Reference, WebExtensions, devtools.panels, devtools.panels.ExtensionSidebarPane
The ExtensionSidebarPane object represents a pane that an extension has added to the sidebar in the browser's HTML/CSS inspector.
183 devtools.panels.ElementsPanel.setExpression() API, Add-ons, Extensions, Reference, WebExtensions, devtools.panels, setExpression
Evaluates an expression in the context of the inspected page, and displays the result in the extension sidebar pane.
184 devtools.panels.ExtensionSidebarPane.onHidden API, Add-ons, ExtensionSidebarPane, Extensions, Reference, WebExtensions, devtools.panels, onHidden
Called when the sidebar pane becomes hidden, as a result of the user switching away from it.
185 devtools.panels.ExtensionSidebarPane.onShown API, Add-ons, ExtensionSidebarPane, Extensions, Reference, WebExtensions, devtools.panels, onShown
Fired when the sidebar pane becomes visible as a result of the user switching to it.
186 devtools.panels.ExtensionSidebarPane.setObject() API, Add-ons, Extensions, Reference, WebExtensions, devtools.panels, setObject
Displays a JSON object in the extension's sidebar pane.
187 devtools.panels.ExtensionSidebarPane.setPage() API, Add-ons, Extensions, Reference, WebExtensions, setPage
Sets an HTML page to be displayed in the sidebar pane.
188 devtools.panels.create() API, Add-ons, Create, Extensions, Reference, WebExtensions, devtools.panels
Adds a new panel to the devtools.
189 devtools.panels.elements API, Add-ons, Elements, Extensions, Reference, WebExtensions, devtools.panels
An ElementsPanel object, which represents the browser's HTML/CSS inspector.
190 devtools.panels.onThemeChanged API, Add-ons, DevTools, Reference, WebExtensions, devtools.panels, onThemeChanged
Fired when the devtools theme changes.
191 devtools.panels.themeName API, Add-ons, DevTools, Reference, WebExtensions, devtools.panels, themeName
The name of the currently selected devtools theme.
192 dns API, Add-ons, DNS, Extensions, WebExtensions
No summary!
193 dns.resolve() API, Add-ons, DNS, Extensions, Method, Reference, WebExtensions, resolve
Resolves the given hostname to a DNS record.
194 downloads API, Add-ons, Extensions, Interface, Non-standard, Reference, WebExtensions, downloads
Enables extensions to interact with the browser's download manager. You can use this API module to download files, cancel, pause, resume downloads, and show downloaded files in the file manager.
195 downloads.BooleanDelta API, Add-ons, BooleanDelta, Extensions, Non-standard, Reference, Type, WebExtensions, downloads
The BooleanDelta type of the downloads API represents the difference between two booleans.
196 downloads.DangerType API, Add-ons, DangerType, Extensions, Non-standard, Reference, Type, WebExtensions, downloads
The DangerType type of the downloads API defines a set of possible reasons that a downloadable file might be considered dangerous.
197 downloads.DoubleDelta API, Add-ons, DoubleDelta, Extensions, Non-standard, Reference, Type, WebExtensions, downloads
The DoubleDelta type of the downloads API represents the difference between two doubles.
198 downloads.DownloadItem API, Add-ons, DownloadItem, Extensions, Non-standard, Reference, Type, WebExtensions, downloads
The DownloadItem type of the downloads API represents a downloaded file.
199 downloads.DownloadQuery API, Add-ons, DownloadQuery, Extensions, Non-standard, Reference, Type, WebExtensions, downloads
The DownloadQuery type of the downloads API defines a set of parameters that can be used to search the downloads manager for a specific set of downloads.
200 downloads.DownloadTime API, Add-ons, DownloadTime, Extensions, Non-standard, Reference, Type, WebExtensions, downloads
The DownloadTime type of the downloads API represents the time a download took to complete.
201 downloads.FilenameConflictAction API, Add-ons, Extensions, FilenameConflictAction, Non-standard, Reference, Type, WebExtensions, downloads
The FilenameConflictAction type of the downloads API specifies what to do if the name of a downloaded file conflicts with an existing file.
202 downloads.InterruptReason API, Add-ons, Extensions, InterruptReason, Non-standard, Reference, Type, WebExtensions, downloads
The InteruptReason type of the downloads API defines a set of possible reasons why a download was interrupted.
203 downloads.State API, Add-ons, Extensions, Non-standard, Reference, Type, WebExtensions, downloads, state
The State type of the downloads API defines different states that a current download can be in.
204 downloads.StringDelta API, Add-ons, Extensions, Non-standard, Reference, StringDelta, Type, WebExtensions, downloads
The StringDelta type of the downloads API represents the difference between two strings.
205 downloads.acceptDanger() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, acceptDanger, downloads
The acceptDanger() function of the downloads API prompts the user to either accept or cancel a potentially dangerous download.
206 downloads.cancel() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, cancel, downloads
The cancel() function of the downloads API cancels a download. The call will fail if the download is not active: for example, because it has completed downloading.
207 downloads.download() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, download, downloads
The download() function of the downloads API downloads a file, given its URL and other optional preferences.
208 downloads.drag() API, Add-ons, Drag, Extensions, Method, Non-standard, Reference, WebExtensions, downloads
The drag() function of the downloads API initiates dragging the downloaded file to another application.
209 downloads.erase() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, downloads, erase
The erase() function of the downloads API erases matching DownloadItems from the browser's download history, without deleting the downloaded files from disk.
210 downloads.getFileIcon() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, downloads, getFileIcon
The getFileIcon() function of the downloads API retrieves an icon for the specified download.
211 downloads.onChanged API, Add-ons, Event, Extensions, Non-standard, Reference, WebExtensions, downloads, onChanged
The onChanged() event of the downloads API is fired when any of a downloads.DownloadItem's properties changes (except for bytesReceived).
212 downloads.onCreated API, Add-ons, Event, Extensions, Non-standard, Reference, WebExtensions, downloads, onCreated
The onCreated() event of the downloads API fires when a download begins, i.e. when downloads.download() is sucessfully invoked.
213 downloads.onErased API, Add-ons, Event, Extensions, Non-standard, Reference, WebExtensions, downloads, onErased
The onErased() event of the downloads API fires when a download is erased from the browser history.
214 downloads.open() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, downloads, open
The open() function of the downloads API opens the downloaded file with its associated application. A downloads.onChanged event will fire when the item is opened for the first time.
215 downloads.pause() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, downloads, pause
The pause() function of the downloads API pauses a download.
216 downloads.removeFile() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, downloads, removeFile
The removeFile() function of the downloads API removes a downloaded file from disk.
217 downloads.resume() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, downloads, resume
The resume() function of the downloads API resumes a paused download. If the request was successful, the download will be unpaused and progress will resume. The resume() call will fail if the download is not active: for example, because it has finished downloading.
218 downloads.search() API, Add-ons, Extensions, Method, Non-standard, Reference, Search, WebExtensions, downloads
The search() function of the downloads API queries the DownloadItems available in the browser's downloads manager, and returns those that match the specified search criteria.
219 downloads.setShelfEnabled() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, downloads, setShelfEnabled
The setShelfEnabled() function of the downloads API enables or disables the gray shelf at the bottom of every window associated with the current browser profile. The shelf will be disabled as long as at least one extension has disabled it.
220 downloads.show() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, downloads, show
The show() function of the downloads API shows the downloaded file in its containing folder in the underlying platform's file manager.
221 downloads.showDefaultFolder() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, downloads, showDefaultFolder
The showDefaultFolder() function of the downloads API opens the default downloads folder in the platform's file manager.
222 events API, Add-ons, Extensions, Interface, Non-standard, Reference, WebExtensions, events
Common types used by APIs that dispatch events.
223 events.Event API, Add-ons, Event, Extensions, Non-standard, Reference, Type, WebExtensions, events
An object which allows the addition and removal of listeners for a browser event.
224 events.Rule API, Add-ons, Extensions, Non-standard, Reference, Rule, Type, WebExtensions, events
Description of a declarative rule for handling events.
225 events.UrlFilter API, Add-ons, Extensions, Non-standard, Reference, Type, UrlFilter, WebExtensions, events
Describes various criteria for filtering URLs. If all of the criteria specified in the filter's properties match the URL, then the filter matches. Filters are often provided to API methods in an Array of UrlFilters. For example, webNavigation listeners can be added with a filter which is an object with a single url property that is an Array of UrlFilters, e.g. {url:[UrlFilter,UrlFilter,...]}. If any filter within the Array of UrlFilters matches, then it is considered a match for the Array. Effectively, the criteria specified within a single filter are AND'ed together, while all of the individual filters within an Array are OR'ed.
226 extension API, Add-ons, Extension, Extensions, Interface, Reference, WebExtensions
Utilities related to your extension. Get URLs to resources packages with your extension. Get the Window object for your extension's pages. Get the values for various settings.
227 extension.ViewType API, Add-ons, Extension, Extensions, Non-standard, Reference, Type, ViewType, WebExtensions
The type of extension view.
228 extension.getBackgroundPage() API, Add-ons, Extension, Extensions, Method, Non-standard, Reference, WebExtensions, getBackgroundPage
Alias for runtime.getBackgroundPage().
229 extension.getExtensionTabs() API, Add-ons, Extension, Extensions, Method, Non-standard, Reference, WebExtensions, getExtensionTabs
Returns an array of the JavaScript Window objects for each of the tabs running inside the current extension. If windowId is specified, returns only the Window objects of tabs attached to the specified window.
230 extension.getURL() API, Add-ons, Deprecated, Extension, Extensions, Method, Non-standard, Reference, WebExtensions, getURL
Converts a relative path within an extension's install directory to a fully-qualified URL.
231 extension.getViews() API, Add-ons, Extension, Extensions, Method, Non-standard, Reference, WebExtensions, getViews
Returns an array of the Window objects for each of the pages running inside the current extension. This includes, for example:
232 extension.inIncognitoContext API, Add-ons, Extension, Extensions, Non-standard, Property, Reference, WebExtensions, inIncognitoContext
Boolean value, true for content scripts running inside private browsing tabs and for extension pages running inside a private browsing process.
233 extension.isAllowedFileSchemeAccess() API, Add-ons, Extension, Extensions, Method, Non-standard, Reference, WebExtensions, isAllowedFileSchemeAccess
None.
234 extension.isAllowedIncognitoAccess() API, Add-ons, Extension, Extensions, Method, Non-standard, Reference, WebExtensions, isAllowedIncognitoAccess
Check whether the extension is allowed access to tabs opened in "private browsing" mode.
235 extension.lastError API, Add-ons, Extension, Extensions, Non-standard, Property, Reference, WebExtensions, lastError
An alias for runtime.lastError.
236 extension.onRequest API, Add-ons, Event, Extension, Extensions, Non-standard, Reference, WebExtensions, onRequest
Fired when a request is sent from either an extension process or a content script.
237 extension.onRequestExternal API, Add-ons, Event, Extension, Extensions, Non-standard, Reference, WebExtensions, onRequestExternal
Fired when a request is sent from another extension.
238 extension.sendRequest() API, Add-ons, Deprecated, Extension, Extensions, Method, Non-standard, Reference, WebExtensions, sendRequest
Sends a single request to other listeners within the extension. Similar to runtime.connect, but only sends a single request with an optional response. The extension.onRequest event is fired in each page of the extension.
239 extension.setUpdateUrlData() API, Add-ons, Extension, Extensions, Method, Non-standard, Reference, WebExtensions, setUpdateUrlData
Sets parameters for the extension's update URL. This value is ignored for extensions that are hosted in the browser vendor's store.
240 extensionTypes API, Add-ons, Extensions, Interface, Non-standard, Reference, WebExtensions, extensionTypes
Some common types used in other WebExtension APIs.
241 extensionTypes.ImageDetails API, Add-ons, Extensions, ImageDetails, Non-standard, Reference, Type, WebExtensions, extensionTypes
Details about the format and quality of an image.
242 extensionTypes.ImageFormat API, Add-ons, Extensions, ImageFormat, Non-standard, Reference, Type, WebExtensions, extensionTypes
The format of an image.
243 extensionTypes.InjectDetails API, Add-ons, Extensions, InjectDetails, Non-standard, Reference, Type, WebExtensions, extensionTypes
This type is given as a parameter to the tabs.executeScript(), tabs.insertCSS(), and tabs.removeCSS() methods. For the details of its properties and what they are used for, see the documentation pages for those methods:
244 extensionTypes.RunAt API, Add-ons, Extensions, Non-standard, Reference, RunAt, Type, WebExtensions, extensionTypes
The soonest that the JavaScript or CSS will be injected into the tab.
245 find API, Add-ons, Extensions, Reference, WebExtensions, find
Finds text in a web page, and highlights matches.
246 find.find() API, Add-ons, Extensions, Method, Reference, WebExtensions, find
Searches for text in a tab.
247 find.highlightResults() API, Add-ons, Extensions, Method, Reference, WebExtensions, find, highlightResults
Highlights the results of a previous call to find.find().
248 find.removeHighlighting() API, Add-ons, Extensions, Method, Reference, WebExtensions, find, removeHighlighting
Remove any highlighting of a previous search that was applied by a previous call to highlightResults(), or by the browser's native UI.
249 history API, Add-ons, Extensions, History, Interface, Non-standard, Reference, WebExtensions
Use the history API to interact with the browser history.
250 history.HistoryItem API, Add-ons, Extensions, History, HistoryItem, Non-standard, Reference, Type, WebExtensions
A HistoryItem object provides information about a page in the browser history.
251 history.TransitionType API, Add-ons, Extensions, History, Non-standard, Reference, TransitionType, Type, WebExtensions
This describes how the browser navigated to a particular page. For example, "link" means that the browser navigated to the page because the user clicked a link.
252 history.VisitItem API, Add-ons, Extensions, History, Non-standard, Reference, Type, VisitItem, WebExtensions
An object describing a single visit to a page.
253 history.addUrl() API, Add-ons, Extensions, History, Method, Non-standard, Reference, WebExtensions, addUrl
Adds a record to the browser's history of a visit to the given URL. The visit's time is recorded as the time of the call, and the TransitionType is recorded as "link".
254 history.deleteAll() API, Add-ons, Extensions, History, Method, Non-standard, Reference, WebExtensions, deleteAll
Deletes all visits from the browser's history.
255 history.deleteRange() API, Add-ons, Extensions, History, Method, Non-standard, Reference, WebExtensions, deleteRange
Removes all visits to pages that the user made during the given time range. If this removes all visits made to a given page, then the page will be no longer appear in the browser history and history.onVisitRemoved will fire for it.
256 history.deleteUrl() API, Add-ons, Extensions, History, Method, Non-standard, Reference, WebExtensions, deleteUrl
Removes all visits to the given URL from the browser history.
257 history.getVisits() API, Add-ons, Extensions, History, Method, Non-standard, Reference, WebExtensions, getVisits
Retrieves information about all visits to the given URL.
258 history.onTitleChanged API, Add-ons, Event, History, Reference, WebExtensions, onTitleChanged
Events have three functions:
259 history.onVisitRemoved API, Add-ons, Event, Extensions, History, Non-standard, Reference, WebExtensions, onVisitRemoved
Fired when a page is removed completely from the browser history.
260 history.onVisited API, Add-ons, Event, Extensions, History, Non-standard, Reference, WebExtensions, onVisited
Fired each time the user visits a page. A history.HistoryItem object is passed to the listener. This event fires before the page has loaded.
261 history.search() API, Add-ons, Extensions, History, Method, Non-standard, Reference, Search, WebExtensions
Searches the browser's history for history.HistoryItem objects matching the given criteria.
262 i18n API, Add-ons, Extensions, Interface, Non-standard, Reference, WebExtensions, i18n
Functions to internationalize your extension. You can use these APIs to get localized strings from locale files packaged with your extension, find out the browser's current language, and find out the value of its Accept-Language header.
263 Locale-specific message reference Internationalization, Localization, Reference, String, WebExtensions, i18n, message, messages.json, placeholders
Each internationalized extension has at least one file named messages.json that provides locale-specific strings. This page describes the format of messages.json files.
264 i18n.LanguageCode API, Add-ons, Extensions, LanguageCode, Non-standard, Reference, Type, WebExtensions, i18n
A language tag such as "en-US" or "fr".
265 i18n.detectLanguage() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, detectLanguage, i18n
Detects the language of the provided text using the Compact Language Detector (CLD).
266 i18n.getAcceptLanguages() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, getAcceptLanguages, i18n
Gets the accept-languages of the browser. This is different from the locale used by the browser. To get the locale, use i18n.getUILanguage.
267 i18n.getMessage() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, getMessage, i18n
Gets the localized string for the specified message.
268 i18n.getUILanguage() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, getUILanguage, i18n
Gets the UI language of the browser. This is different from i18n.getAcceptLanguages which returns the preferred user languages.
269 identity API, Add-ons, Extensions, Identity, Reference, WebExtensions
Use the identity API to get an OAuth2 authorization code or access token, which an extension can then use to access user data from a service which supports OAuth2 access (such as a Google or a Facebook account).
270 identity.getRedirectURL() API, Add-ons, Extensions, Identity, Method, Reference, WebExtensions, getRedirectURL
Generates a URL that you can use as a redirect URL.
271 identity.launchWebAuthFlow API, Add-ons, Extensions, Identity, Method, Reference, WebExtensions, launchWebAuthFlow
Performs the first part of an OAuth2 flow, including user authentication and client authorization.
272 idle API, Add-ons, Extensions, Idle, Interface, Non-standard, Reference, WebExtensions
Find out when the user's system is idle, locked, or active.
273 idle.IdleState API, Add-ons, Extensions, Idle, IdleState, Non-standard, Reference, Type, WebExtensions
String describing the device's idle state.
274 idle.onStateChanged API, Add-ons, Event, Extensions, Idle, Non-standard, Reference, WebExtensions, onStateChanged
Fired when the system changes to an active, idle or locked state. The event listener is passed a string that has one of three values:
275 idle.queryState() API, Add-ons, Extensions, Idle, Method, Non-standard, Reference, WebExtensions, queryState
Returns "locked" if the system is locked, "idle" if the user has not generated any input for a specified number of seconds, or "active" otherwise.
276 idle.setDetectionInterval() API, Add-ons, Extensions, Idle, Method, Non-standard, Reference, WebExtensions, setDetectionInterval
Sets the interval, in seconds, used to determine when the system is in an idle state for idle.onStateChanged events. The default interval is 60 seconds.
277 management API, Add-ons, Extensions, Reference, WebExtensions, management
Get information about installed add-ons.
278 ExtensionInfo API, Add-ons, ExtensionInfo, Extensions, Reference, Type, WebExtensions, management
An ExtensionInfo object contains information about an add-on.
279 management.get() API, Add-ons, Method, Reference, WebExtensions, get, management
Retrieves an ExtensionInfo object containing information about the specified add-on.
280 management.getAll() API, Add-ons, Method, Reference, WebExtensions, getAll, management
Retrieves an array of ExtensionInfo objects, one for each installed add-on.
281 management.getPermissionWarningsById() API, Add-ons, Method, Reference, WebExtensions, getPermissionWarningsById, management
Given the ID of an add-on, this function returns the permission warnings for it as an array of strings.
282 management.getPermissionWarningsByManifest() API, Add-ons, Method, Reference, WebExtensions, getPermissionWarningsByManifest, management
Given the text of a manifest.json file, this function returns the permission warnings that would be given for the resulting add-on, as an array of strings.
283 management.getSelf() API, Add-ons, Method, Reference, WebExtensions, getSelf, management
Retrieves an ExtensionInfo object containing information about the calling add-on.
284 management.install() API, Add-ons, Method, Reference, Theme, WebExtensions, install, management
This API requires the "management" API permission and will only work with signed themes.
285 management.onDisabled() API, Add-ons, Event, Reference, WebExtensions, management, onDisabled
Fired when an add-on is disabled.
286 management.onEnabled() API, Add-ons, Event, Reference, WebExtensions, management, onEnabled
The event listener called when the enabled event is fired, indicating that an add-on is now enabled.
287 management.onInstalled() API, Add-ons, Event, Reference, WebExtensions, management, onInstalled
Fired when an add-on is installed.
288 management.onUninstalled() API, Add-ons, Event, Reference, WebExtensions, management, onUninstalled
Fired when an add-on is uninstalled.
289 management.setEnabled() API, Add-ons, Method, Reference, WebExtensions, management, setEnabled
Enables or disables the given add-on.
290 management.uninstall() API, Add-ons, Method, Reference, WebExtensions, management, uninstall
Uninstalls an add-on, given its ID.
291 management.uninstallSelf() API, Add-ons, Method, Reference, WebExtensions, management, uninstallSelf
Uninstalls the calling add-on.
292 menus API, Add-ons, Extensions, Interface, Non-standard, Reference, WebExtensions, contextMenus, menus
Add items to the browser's menu system.
293 createProperties API, Add-ons, Extensions, WebExtensions, contextMenus, createProperties
An object passed to the  menus.create() or  menus.update() methods to describe the properties of the new or updated menu item.
294 menus.ACTION_MENU_TOP_LEVEL_LIMIT ACTION_MENU_TOP_LEVEL_LIMIT, API, Add-ons, Extensions, Non-standard, Property, Reference, WebExtensions, contextMenus
The maximum number of top level extension items that can be added to a menu item whose ContextType is "browser_action" or "page_action". Any items beyond this limit will be ignored.
295 menus.ContextType API, Add-ons, ContextType, Extensions, Non-standard, Reference, Type, WebExtensions, contextMenus, menus
The different contexts a menu item can appear in.
296 menus.ItemType API, Add-ons, Extensions, Non-standard, Reference, Type, WebExtensions, contextMenus, itemtype
The type of menu item.
297 menus.OnClickData API, Add-ons, Extensions, Non-standard, OnClickData, Reference, Type, WebExtensions, contextMenus
Information passed to the menus.onClicked event listener when a menu item is clicked.
298 menus.create() API, Add-ons, Create, Extensions, Method, Non-standard, Reference, WebExtensions, contextMenus
Creates a new menu item, given an options object defining properties for the item.
299 menus.getTargetElement() API, Method, Reference, WebExtensions, getTargetElement, menus
Returns the element for a given targetElementId
300 menus.onClicked API, Add-ons, Event, Extensions, Non-standard, Reference, WebExtensions, contextMenus, onClicked
Fired when a menu item is clicked.
301 menus.onHidden API, Add-ons, Event, Extensions, Reference, WebExtensions, menus, onHidden
Fired when the browser stops displaying a menu: for example because the user clicked outside it or selected an item.
302 menus.onShown API, Add-ons, Event, Extensions, Reference, WebExtensions, menus, onShown
Fired when the browser has shown a menu.
303 menus.overrideContext() API, Add-ons, Extensions, Method, WebExtensions, contextMenus
This API allows extensions to hide all default Firefox menu items in favor of providing a custom context menu UI. This context menu can consist of multiple top-level menu items from the extension, and may optionally include tab or bookmark context menu items from other extensions. This should be called during a contextmenu DOM event handler, and only applies to the menu that opens after this event.
304 menus.refresh() API, Add-ons, Extensions, Method, Reference, WebExtensions, menus, refresh
Refreshes a menu that's being shown.
305 menus.remove() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, contextMenus, remove
Removes a menu item.
306 menus.removeAll() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, contextMenus, menus, removeAll
Removes all menu items added by the extension.
307 menus.update() API, Add-ons, Extensions, Method, Non-standard, Reference, Update, WebExtensions, contextMenus
Updates a previously created menu item.
308 overrideContext() API, Add-ons, Create, Extensions, Method, WebExtensions, contextMenus
Hide all default Firefox menu items in favor of providing a custom context menu UI.
309 notifications API, Add-ons, Extensions, Notifications, WebExtensions
Display notifications to the user, using the underlying operating system's notification mechanism. Because this API uses the operating system's notification mechanism, the details of how notifications appear and behave may differ according to the operating system and the user's settings.
310 notifications.NotificationOptions API, Add-ons, Extensions, Non-standard, NotificationOptions, Notifications, Reference, Type, WebExtensions
This type contains all the data needed to:
311 notifications.TemplateType API, Add-ons, Extensions, Non-standard, Notifications, Reference, TemplateType, Type, WebExtensions
This is a string, and represents the type of notification to create. There are four types of notification: "basic", "image", "list", "progress".
312 notifications.clear() API, Add-ons, Extensions, Method, Non-standard, Notifications, Reference, WebExtensions, clear
Clears a notification, given its ID.
313 notifications.create() API, Add-ons, Create, Extensions, Method, Non-standard, Notifications, Reference, WebExtensions
Creates and displays a notification.
314 notifications.getAll() API, Add-ons, Extensions, Method, Non-standard, Notifications, Reference, WebExtensions, getAll
Gets all currently active notifications created by the extension.
315 notifications.onButtonClicked API, Add-ons, Event, Extensions, Non-standard, Notifications, Reference, WebExtensions, onButtonClicked
Fired when the user clicks one of the notification's buttons.
316 notifications.onClicked API, Add-ons, Event, Extensions, Non-standard, Notifications, Reference, WebExtensions, onClicked
Fired when the user clicks a notification, but not on any of the notification's buttons (for that, see notifications.onButtonClicked).
317 notifications.onClosed API, Add-ons, Event, Extensions, Non-standard, Notifications, Reference, WebExtensions, onClosed
Fired when a notification is closed, either by the system or by the user.
318 notifications.onShown API, Add-ons, Event, Extensions, Notifications, Reference, WebExtensions, events, onShown
Fired immediately after a notification has been shown.
319 notifications.update() API, Add-ons, Extensions, Method, Non-standard, Notifications, Reference, Update, WebExtensions
Updates a notification, given its ID.
320 omnibox API, Add-ons, Extensions, Reference, WebExtensions, omnibox
Enables extensions to implement customised behavior when the user types into the browser's address bar.
321 omnibox.OnInputEnteredDisposition API, Add-ons, Extensions, OnInputEnteredDisposition, Reference, Type, WebExtensions, omnibox
The omnibox.OnInputEnteredDisposition type describes how the extension should handle a user selection from the suggestions in the address bar's drop-down list.
322 omnibox.SuggestResult API, Add-ons, Extensions, Reference, SuggestResult, Type, WebExtensions, omnibox
The omnibox.SuggestResult type defines a single suggestion that the extension can add to the address bar's drop-down list.
323 omnibox.onInputCancelled API, Add-ons, Event, Extensions, Reference, WebExtensions, omnibox, onInputCancelled
Fired when the user has cancelled their interaction with your extension (for example, by clicking outside the address bar).
324 omnibox.onInputChanged API, Add-ons, Event, Extensions, Reference, WebExtensions, omnibox, onInputChanged
Fired whenever the user changes their input, after they have started interacting with your extension by entering its keyword in the address bar and then pressing the space key.
325 omnibox.onInputEntered API, Add-ons, Event, Extensions, Reference, WebExtensions, omnibox, onInputEntered
Fired when the user has selected one of the suggestions your extension has added to the address bar's drop-down list.
326 omnibox.onInputStarted API, Add-ons, Event, Extensions, Reference, WebExtensions, omnibox, onInputStarted
Fired when the user starts interacting with your extension by entering its keyword in the address bar and then pressing the space key.
327 omnibox.setDefaultSuggestion() API, Add-ons, Extensions, Method, Reference, WebExtensions, omnibox, setDefaultSuggestion
Set the default suggestion to appear in the address bar drop-down list when the user starts interacting with your extension.
328 pageAction API, Add-ons, Extensions, Interface, Non-standard, Reference, WebExtensions, pageAction
A page action is a clickable icon inside the browser's address bar.
329 pageAction.ImageDataType API, Add-ons, Extensions, ImageDataType, Non-standard, Reference, Type, WebExtensions, pageAction
Pixel data for an image.
330 pageAction.getPopup() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, getPopup, pageAction
Gets the URL for the HTML document set as the popup for this page action.
331 pageAction.getTitle() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, getTitle, pageAction
Gets the title of the page action.
332 pageAction.hide() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, hide, pageAction
Hides the page action for a given tab.
333 pageAction.isShown() API, Add-ons, Extensions, Method, Reference, WebExtensions, isShown, pageAction
Returns true if the page action is being shown for the given tab.
334 pageAction.onClicked API, Add-ons, Event, Extensions, Non-standard, Reference, WebExtensions, onClicked, pageAction
Fired when a page action icon is clicked. This event will not fire if the page action has a popup.
335 pageAction.openPopup() API, Add-ons, Extensions, Method, Reference, WebExtensions, close, sidebarAction
None.
336 pageAction.setIcon() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, pageAction, setIcon
Sets the icon for the page action.
337 pageAction.setPopup() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, pageAction, setPopup
Sets the HTML document to be opened as a popup when the user clicks on the page action's icon.
338 pageAction.setTitle() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, pageAction, setTitle
Sets the title of the page action. The title is displayed in a tooltip when the user hovers over the page action.
339 pageAction.show() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, pageAction, show
Shows the pageAction for a given tab. The page action is shown whenever the given tab is the active tab.
340 permissions API, Add-ons, Extensions, Permissions, Reference, WebExtensions
Extensions need permissions to access more powerful WebExtension APIs. They can ask for permissions at install time, by including the permissions they need in the permissions manifest.json key. The main advantages of asking for permissions at install time are:
341 Permissions API, Add-ons, Permissions, Reference, Type, WebExtensions
A Permissions object represents a collection of permissions.
342 permissions.contains() API, Add-ons, Contains, Method, Permissions, Reference, WebExtensions
Check whether the extension has the permissions listed in the given permissions.Permissions object.
343 permissions.getAll() API, Add-ons, Method, Permissions, Reference, WebExtensions, getAll
Retrieve a permissions.Permissions object containing all the permissions currently granted to the extension.
344 permissions.onAdded API, Add-ons, Event, Permissions, Reference, WebExtensions, onAdded
Fired when the extension granted new permissions.
345 permissions.onRemoved API, Add-ons, Event, Permissions, Reference, WebExtensions, onRemoved
Fired when some permissions are removed from the extension.
346 permissions.remove() API, Add-ons, Method, Permissions, Reference, WebExtensions, remove
Ask to give up the permissions listed in the given permissions.Permissions object.
347 permissions.request() API, Add-ons, Method, Permissions, Reference, WebExtensions, request
Ask for the set of permissions listed in the given permissions.Permissions object.
348 pkcs11 API, API Extensions, Add-ons, Extensions, Reference, Web, Web Development, WebExtensions, pkcs11
The pkcs11 API enables an extension to enumerate PKCS #11 security modules and to make them accessible to the browser as sources of keys and certificates.
349 pkcs11.getModuleSlots() API, Add-ons, Extensions, Method, Reference, WebExtensions, getModuleSlots, pkcs11
Enumerate a module's slots. This function returns an array containing one entry for each slot. Each entry contains the slot's name and, if the slot contains a token, information about the token.
350 pkcs11.installModule() API, Add-ons, Extensions, Method, Reference, WebExtensions, installModule, pkcs11
Installs the named PKCS #11 module, making it available to Firefox.
351 pkcs11.isModuleInstalled() API, Add-ons, Extensions, Method, Reference, WebExtensions, isModuleInstalled, pkcs11
Checks whether the named PKCS #11 module is currently installed in Firefox.
352 pkcs11.uninstallModule() API, Add-ons, Extensions, Method, Reference, WebExtensions, pkcs11, uninstallModule
Uninstalls the named PKCS #11 module from Firefox.
353 privacy API, Add-ons, Extensions, Privacy, Reference, WebExtensions
Access and modify various privacy-related browser settings.
354 privacy.network API, Add-ons, Extensions, Network, Privacy, Property, Reference, WebExtensions
No summary!
355 privacy.services API, Add-ons, Extensions, Privacy, Property, Reference, Services
No summary!
356 privacy.websites API, Add-ons, Extensions, Privacy, Property, Reference, WebExtensions, websites
No summary!
357 proxy API, Add-ons, Proxy, WebExtensions
Use the proxy API to proxy web requests. You can use the proxy.onRequest event listener to intercept web requests, and return an object that describes whether and how to proxy them.
358 proxy.ProxyInfo Add-ons, Extensions, Proxy, ProxyInfo, Type, WebExtensions
Contains information about a proxy. This object, or an array of these objects, is returned from the listener to proxy.onRequest. It instructs the browser whether to proxy the request, and if so, which proxy to use.
359 proxy.RequestDetails Add-ons, Extensions, Proxy, RequestDetails, Type, WebExtensions
Contains information about a web request. An instance of this object is passed into the proxy.onRequest listener.
360 proxy.onError API, Add-ons, Event, Proxy, Reference, WebExtensions, onProxyError
Fired when there is an error evaluating the PAC file or the onRequest listener.
361 proxy.onRequest API, Add-ons, Event, Extensions, Proxy, Reference, WebExtensions, onRequest
Fired when a web request is about to be made, to give the extension an opportunity to proxy it.
362 proxy.register() API, Add-ons, Function, Method, Proxy, Reference, WebExtensions, register, registerProxyScript
This method was deprecated in Firefox 68 and removed in Firefox 71. In Firefox 68–70, calling this method logs an error message to the console:
363 proxy.settings API, Add-ons, Extensions, Property, Proxy, Reference, Settings, WebExtensions
A BrowserSetting object that can be used to change the browser's proxy settings.
364 proxy.unregister() API, Add-ons, Extensions, Method, Proxy, Reference, WebExtensions, unregister
This method was deprecated in Firefox 68 and removed in Firefox 71. In Firefox 68–70, calling this method logs an error message to the console:
365 runtime API, Add-ons, Extensions, Interface, Reference, WebExtensions, runtime
This module provides information about your extension and the environment it's running in.
366 runtime.MessageSender API, Add-ons, Extensions, MessageSender, Non-standard, Reference, Type, WebExtensions, runtime
An object containing information about the sender of a message or connection request; this is passed to the runtime.onMessage() listener.
367 runtime.OnInstalledReason API, Add-ons, Extensions, Non-standard, OnInstalledReason, Reference, Type, WebExtensions, runtime
The reason that the runtime.onInstalled event is being dispatched.
368 runtime.OnRestartRequiredReason API, Add-ons, Extensions, Non-standard, OnRestartRequiredReason, Reference, Type, WebExtensions, runtime
The reason that the onRestartRequired event is being dispatched.
369 runtime.PlatformArch API, Add-ons, Extensions, Non-standard, PlatformArch, Reference, Type, WebExtensions, runtime
The machine's processor architecture.
370 runtime.PlatformInfo API, Add-ons, Extensions, Non-standard, PlatformInfo, Reference, Type, WebExtensions, runtime
An object containing information about the current platform.
371 runtime.PlatformNaclArch API, Add-ons, Extensions, Non-standard, PlatformNaclArch, Reference, Type, WebExtensions, runtime
The native client architecture. This may be different from arch on some platforms.
372 runtime.PlatformOs API, Add-ons, Extensions, Non-standard, PlatformOs, Reference, Type, WebExtensions, runtime
The operating system the browser is running on.
373 runtime.Port API, Add-ons, Extensions, Non-standard, Reference, Type, WebExtensions, port, runtime
A Port object represents one end of a connection between two specific contexts, which can be used to exchange messages.
374 runtime.RequestUpdateCheckStatus API, Add-ons, Extensions, Non-standard, Reference, RequestUpdateCheckStatus, Type, WebExtensions, runtime
Result of a call to runtime.requestUpdateCheck().
375 runtime.connect() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, connect, runtime
Make a connection between different contexts inside the extension.
376 runtime.connectNative() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, connectNative, runtime
For more information, see Native messaging.
377 runtime.getBackgroundPage() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, getBackgroundPage, runtime
Retrieves the Window object for the background page running inside the current extension.
378 runtime.getBrowserInfo() API, Add-ons, Extensions, Method, Reference, WebExtensions, getBrowserInfo, runtime
Returns information about the browser in which the extension is installed.
379 runtime.getManifest() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, getManifest, runtime
None.
380 runtime.getPackageDirectoryEntry() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, getPackageDirectoryEntry, runtime
Returns a DirectoryEntry object representing the package directory.
381 runtime.getPlatformInfo() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, getPlatformInfo, runtime
Returns information about the current platform. This can only be called in the background script context.
382 runtime.getURL() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, getURL, runtime
string. The fully-qualified URL to the resource.
383 runtime.id API, Add-ons, Extensions, Non-standard, Property, Reference, WebExtensions, id, runtime
The ID of the extension.
384 runtime.lastError API, Add-ons, Extensions, Non-standard, Property, Reference, WebExtensions, lastError, runtime
The runtime.lastError property is set when an asynchronous function has an error condition that it needs to report to its caller.
385 runtime.onBrowserUpdateAvailable API, Add-ons, Deprecated, Event, Extensions, Non-standard, Reference, WebExtensions, onBrowserUpdateAvailable, runtime
Fired when an update for the browser is available, but it isn't installed immediately because a browser restart is required.
386 runtime.onConnect API, Add-ons, Event, Extensions, Non-standard, Reference, WebExtensions, onconnect, runtime
Fired when a connection is made with either an extension process or a content script.
387 runtime.onConnectExternal API, Add-ons, Event, Extensions, Non-standard, Reference, WebExtensions, onConnectExternal, runtime
Fired when an extension receives a connection request from a different extension.
388 runtime.onInstalled API, Add-ons, Event, Extensions, Non-standard, Reference, WebExtensions, onInstalled, runtime
Fired when the extension is first installed, when the extension is updated to a new version, and when the browser is updated to a new version.
389 runtime.onMessage API, Add-ons, Event, Extensions, Non-standard, Reference, WebExtensions, onmessage, runtime
To send a message that is received by the onMessage listener, use runtime.sendMessage() or (to send a message to a content script) tabs.sendMessage().
390 runtime.onMessageExternal API, Add-ons, Event, Extensions, Non-standard, Reference, WebExtensions, onMessageExternal, runtime
This API can't be used in a content script.
391 runtime.onRestartRequired API, Add-ons, Event, Extensions, Non-standard, Reference, WebExtensions, onRestartRequired, runtime
Fired when an app or the device that it runs on needs to be restarted. The app should close all its windows at its earliest convenience to let the restart happen. If the app does nothing, a restart will be enforced after a 24-hour grace period has passed. Currently, this event is only fired for Chrome OS kiosk apps.
392 runtime.onStartup API, Add-ons, Event, Extensions, Non-standard, Reference, WebExtensions, onStartup, runtime
Fired when a profile that has this extension installed first starts up. This event is not fired when a private browsing/incognito profile is started, even if this extension is operating in 'split' incognito mode.
393 runtime.onSuspend API, Add-ons, Event, Extensions, Non-standard, Reference, WebExtensions, onSuspend, runtime
Sent to the event page just before it is unloaded. This gives the extension an opportunity to do some cleanup. Note that since the page is unloading, any asynchronous operations started while handling this event are not guaranteed to complete.
394 runtime.onSuspendCanceled API, Add-ons, Event, Extensions, Non-standard, Reference, WebExtensions, onSuspendCanceled, runtime
Sent after runtime.onSuspend to indicate that the app won't be unloaded after all.
395 runtime.onUpdateAvailable API, Add-ons, Event, Extensions, Non-standard, Reference, WebExtensions, onUpdateAvailable, runtime
Fired when an update to the extension is available. This event enables an extension to delay an update: for example, because it is in the middle of some operation which should not be interrupted.
396 runtime.openOptionsPage() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, openOptionsPage, runtime
This is an asynchronous function that returns a Promise.
397 runtime.reload() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, reload, runtime
Reloads the extension.
398 runtime.requestUpdateCheck() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, requestUpdateCheck, runtime
Checks to see if an update for the extension is available.
399 runtime.sendMessage() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, runtime, sendMessage
Sends a single message to event listeners within your extension or a different extension.
400 runtime.sendNativeMessage() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, runtime, sendNativeMessage
Sends a single message from an extension to a native application.
401 runtime.setUninstallURL() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, runtime, setUninstallURL
Sets the URL to be visited when the extension is uninstalled. This may be used to clean up server-side data, do analytics, or implement surveys. The URL can be a maximum 255 characters.
402 search API, Add-ons, Extensions, Reference, Search, Search Engines, WebExtensions
Retrieves search engines and executes a search with a specific search engine.
403 search.get() API, Add-ons, Extensions, Method, Reference, Search, WebExtensions, get
Gets an array of all installed search engines.
404 search.search() API, Add-ons, Extensions, Reference, Search, Search Engines, WebExtensions
Perform a search using the search engine specified, or the default search engine if no search engine is specified.
405 sessions API, Add-ons, Extensions, Non-standard, Reference, WebExtensions, sessions
Use the sessions API to list, and restore, tabs and windows that have been closed while the browser has been running.
406 sessions.Filter API, Add-ons, Extensions, Non-standard, Reference, Type, WebExtensions, filter, sessions
The Filter object enables you to restrict the number of Session objects returned by a call to sessions.getRecentlyClosed().
407 sessions.MAX_SESSION_RESULTS API, Add-ons, Extensions, MAX_SESSION_RESULTS, Non-standard, Property, Reference, WebExtensions, sessions
This value represents the maximum number of sessions that will be returned by a call to sessions.getRecentlyClosed(). It is read-only for WebExtension code, and is set to 25.
408 sessions.Session API, Add-ons, Extensions, Non-standard, Reference, Session, Type, WebExtensions, sessions
The Session object represents a tab or window that the user has closed in the current browsing session.
409 sessions.forgetClosedTab() API, Add-ons, Extensions, Method, Reference, WebExtensions, forgetClosedTab, sessions
This is an asynchronous function that returns a Promise.
410 sessions.forgetClosedWindow() API, Add-ons, Extensions, Method, Reference, WebExtensions, forgetClosedWindow, sessions
This is an asynchronous function that returns a Promise.
411 sessions.getRecentlyClosed() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, getRecentlyClosed, sessions
Returns an array of Session objects, representing windows and tabs that were closed in the current browsing session (that is: the time since the browser was started).
412 sessions.getTabValue() API, Add-ons, Extensions, Method, Reference, WebExtensions, getTabValue, sessions
Retrieves a value previously stored by a call to sessions.setTabValue.
413 sessions.getWindowValue() API, Add-ons, Extensions, Method, Reference, WebExtensions, getWindowValue, sessions
Retrieves a value previously stored by a call to sessions.setWindowValue.
414 sessions.onChanged API, Add-ons, Event, Extensions, Non-standard, Reference, WebExtensions, onChanged, sessions
Fired whenever the list of closed tabs or windows changes.
415 sessions.removeTabValue() API, Add-ons, Extensions, Method, Reference, WebExtensions, removeTabValue, sessions
Removes a value previously stored by a call to sessions.setTabValue.
416 sessions.removeWindowValue() API, Add-ons, Extensions, Method, Reference, WebExtensions, removeWindowValue, sessions
Removes a value previously stored by a call to sessions.setWindowValue.
417 sessions.restore() API, Add-ons, Extensions, Method, Non-standard, WebExtensions, restore, sessions
Restores a closed tab or window. Restoring doesn't just reopen the tab or window: it also restores the tab's navigation history so the back/forward buttons will work. Restoring a window will restore all the tabs that the window contained when it was closed.
418 sessions.setTabValue() API, Add-ons, Extensions, Method, Reference, WebExtensions, sessions, setTabValue
Stores a key/value pair to associate with a given tab. You can subsequently retrieve this value using sessions.getTabValue.
419 sessions.setWindowValue() API, Add-ons, Extensions, Method, Reference, WebExtensions, sessions, setWindowValue
Stores a key/value pair to associate with a given window. You can subsequently retrieve this value using sessions.getWindowValue.
420 sidebarAction API, Extensions, Non-standard, Reference, Sidebar, WebExtensions, sidebarAction
Gets and sets properties of an extension's sidebar.
421 sidebarAction.ImageDataType API, Add-ons, Extensions, ImageDataType, Reference, Type, WebExtensions, sidebarAction
Pixel data for an image. Must be an ImageData object (for example, from a <canvas> element).
422 sidebarAction.close() API, Add-ons, Extensions, Method, Reference, WebExtensions, close, sidebarAction
Closes the sidebar in the active window, if it is the extension's own sidebar.
423 sidebarAction.getPanel() API, Add-ons, Extensions, Method, Reference, WebExtensions, getPanel, sidebarAction
Gets a URL to the HTML document that defines the sidebar's contents.
424 sidebarAction.getTitle() API, Add-ons, Extensions, Method, Reference, WebExtensions, getTitle, sidebarAction
Gets the sidebar's title.
425 sidebarAction.isOpen() API, Add-ons, Extensions, Method, Reference, WebExtensions, isOpen, sidebarAction
Returns true if the extension's sidebar is open in a given window.
426 sidebarAction.open() API, Add-ons, Extensions, Method, Reference, open, sidebarAction
None.
427 sidebarAction.setIcon() API, Add-ons, Extensions, Method, Reference, WebExtensions, setIcon, sidebarAction
Sets the icon for the sidebar.
428 sidebarAction.setPanel() API, Add-ons, Extensions, Method, Reference, WebExtensions, setPanel, sidebarAction
Sets the sidebar's panel: that is, the HTML document that defines the content of this sidebar.
429 sidebarAction.setTitle() API, Add-ons, Extensions, Method, Reference, WebExtensions, setTitle, sidebarAction
Sets the sidebar's title. The title is displayed anywhere the browser lists available sidebars. For example, Firefox will show it in the "View > Sidebar" menu. It's also shown at the top o the sidebar when the sidebar is open.
430 sidebarAction.toggle()
Toggles the visibility of the sidebar in the active window, if the sidebar belongs to the extension.
431 storage API, Add-ons, Extensions, Interface, Non-standard, Reference, Storage, WebExtensions
Enables extensions to store and retrieve data, and listen for changes to stored items.
432 storage.StorageArea API, Add-ons, Extensions, Non-standard, Reference, Storage, StorageArea, Type, WebExtensions
StorageArea is an object representing a storage area.
433 StorageArea.clear() API, Add-ons, Extensions, Method, Non-standard, Reference, Storage, StorageArea, WebExtensions, remove
Removes all items from the storage area.
434 StorageArea.get() API, Add-ons, Extensions, Method, Non-standard, Reference, Storage, StorageArea, WebExtensions, get
Retrieves one or more items from the storage area.
435 StorageArea.getBytesInUse() API, Add-ons, Extensions, Method, Non-standard, Reference, Storage, StorageArea, WebExtensions, getBytesInUse
Gets the amount of storage space, in bytes, used one or more items being stored in the storage area.
436 StorageArea.remove() API, Add-ons, Extensions, Method, Non-standard, Reference, Storage, StorageArea, WebExtensions, remove
Removes one or more items from the storage area.
437 StorageArea.set() API, Add-ons, Extensions, Method, Non-standard, Reference, Storage, StorageArea, WebExtensions, set
Stores one or more items in the storage area, or update existing items.
438 storage.StorageChange API, Add-ons, Extensions, Non-standard, Reference, Storage, StorageChange, Type, WebExtensions
StorageChange objects contain the following properties:
439 storage.local API, Add-ons, Extensions, Non-standard, Property, Reference, Storage, WebExtensions, local
Represents the local storage area. Items in local storage are local to the machine the extension was installed on.
440 storage.managed API, Add-ons, Extensions, Non-standard, Property, Reference, Storage, WebExtensions, managed
A storage.StorageArea object that represents the managed storage area. Items in managed storage are set by the domain administrator or other native applications installed on user's computer, and are read-only for the extension. Trying to modify this storage area results in an error.
441 storage.onChanged API, Add-ons, Event, Extensions, Non-standard, Reference, Storage, WebExtensions, onChanged
Fired when one or more items change.
442 storage.sync API, Add-ons, Extensions, Non-standard, Property, Reference, Storage, Sync, WebExtensions
Represents the sync storage area. Items in sync storage are synced by the browser, and are available across all instances of that browser that the user is logged into (e.g. via Firefox sync, or a Google account), across different devices.
443 tabs API, Add-ons, Extensions, Interface, Non-standard, Reference, WebExtensions, tabs
Interact with the browser's tab system.
444 tabs.MutedInfo API, Add-ons, Extensions, MutedInfo, Non-standard, Reference, Type, WebExtensions, tabs
This object contains a boolean indicating whether the tab is muted, and the reason for the last state change.
445 tabs.MutedInfoReason API, Add-ons, Extensions, MutedInfoReason, Non-standard, Reference, Type, WebExtensions, tabs
Specifies the reason a tab was muted or unmuted.
446 tabs.PageSettings API, Add-ons, Extensions, PageSettings, Reference, Type, WebExtensions, tabs
The type tabs.PageSettings is used to control how a tab is rendered as a PDF by the tabs.saveAsPDF() method.
447 tabs.TAB_ID_NONE API, Add-ons, Extensions, Non-standard, Property, Reference, TAB_ID_NONE, WebExtensions, tabs
A special ID value given to tabs that are not browser tabs (for example, tabs in devtools windows).
448 tabs.Tab API, Add-ons, Extensions, Non-standard, Reference, Tab, Type, WebExtensions, tabs
The type tabs.Tab contains information about a tab. This provides access to information about what content is in the tab, how large the content is, what special states or restrictions are in effect, and so forth.
449 tabs.TabStatus API, Add-ons, Extensions, Non-standard, Reference, TabStatus, Type, WebExtensions, tabs
Indicates whether the tab has finished loading.
450 tabs.WindowType API, Add-ons, Extensions, Non-standard, Reference, Type, WebExtensions, WindowType, tabs
The type of window that hosts this tab.
451 tabs.ZoomSettings API, Add-ons, Extensions, Non-standard, Reference, Type, WebExtensions, ZoomSettings, tabs
Defines zoom settings for a tab: modescope, and default zoom factor.
452 tabs.ZoomSettingsMode API, Add-ons, Extensions, Non-standard, Reference, Type, WebExtensions, ZoomSettingsMode, tabs
Defines how zoom changes are handled. Extensions can pass this value into tabs.setZoomSettings() to control how the browser handles attempts to change zoom settings for a tab. Defaults to "automatic".
453 tabs.ZoomSettingsScope API, Add-ons, Extensions, Non-standard, Reference, Type, WebExtensions, ZoomSettingsScope, tabs
Defines whether zoom changes will persist for the page's origin, or only take effect in this tab. This defaults to per-origin when tabs.zoomSettingsMode is "automatic", and is always per-tab otherwise.
454 tabs.captureTab() API, Add-ons, Extensions, Method, Reference, WebExtensions, captureTab, tabs
Creates a data URI encoding an image of the visible area of the given tab. You must have the <all_urls> permission to use this method.
455 tabs.captureVisibleTab() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, captureVisibleTab, tabs
Creates a data URI encoding an image of the visible area of the currently active tab in the specified window. You must have the <all_urls> permission to use this method. (Alternately, Chrome allows use of this method with the activeTab permission and a qualifying user gesture).
456 tabs.connect() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, connect, tabs
Call this function to set up a connection between the extension's background scripts (or other privileged scripts, such as popup scripts or options page scripts) and any content scripts that belong to this extension and are running in the specified tab. This function returns a runtime.Port object.
457 tabs.create() API, Add-ons, Create, Extensions, Method, Non-standard, Reference, WebExtensions, tabs
Creates a new tab.
458 tabs.detectLanguage() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, detectLanguage, tabs
Detects the primary language of the content in a tab, using the Compact Language Detector (CLD).
459 tabs.discard() API, Add-ons, Extensions, Method, WebExtensions, discard, tabs
Discards one or more tabs.
460 tabs.duplicate() API, Add-ons, Duplicate, Extensions, Method, Non-standard, Reference, WebExtensions, tabs
Duplicates a tab, given its ID.
461 tabs.executeScript() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, executeScript, tabs
Injects JavaScript code into a page.
462 tabs.get() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, get, tabs
Given a tab ID, get the tab's details as a tabs.Tab object.
463 tabs.getAllInWindow() API, Add-ons, Deprecated, Extensions, Method, Non-standard, Reference, WebExtensions, getAllInWindow, tabs
Gets details about all tabs in the specified window.
464 tabs.getCurrent() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, getCurrent, tabs
Get a tabs.Tab containing information about the tab that this script is running in.
465 tabs.getSelected() API, Add-ons, Deprecated, Extensions, Method, Non-standard, Reference, WebExtensions, getSelected, tabs
Gets the tab that is selected in the specified window.
466 tabs.getZoom() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, getZoom, tabs
Gets the current zoom factor for the specified tab.
467 tabs.getZoomSettings() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, getZoomSettings, tabs
Gets the current zoom settings for a specified tab.
468 tabs.hide() API, Add-ons, Extensions, Method, Reference, WebExtensions, hide, tabs
Hides one or more tabs.
469 tabs.highlight() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, highlight, tabs
A Promise that will be fulfilled with a windows.Window object containing details about the window whose tabs were highlighted. If the window could not be found or some other error occurs, the promise will be rejected with an error message.
470 tabs.insertCSS() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, insertCSS, tabs
Injects CSS into a page.
471 tabs.move() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, move, tabs
Moves one or more tabs to a new position in the same window or to a different window.
472 tabs.moveInSuccession() API, Add-ons, Extensions, Method, Reference, WebExtensions, tabs
Modifies the succession relationship for a group of tabs.
473 tabs.onActivated API, Add-ons, Event, Extensions, Non-standard, Reference, WebExtensions, onActivated, tabs
Fires when the active tab in a window changes. Note that the tab's URL may not be set at the time this event fired, but you can listen to tabs.onUpdated events to be notified when a URL is set.
474 tabs.onActiveChanged API, Add-ons, Deprecated, Event, Extensions, Non-standard, Reference, WebExtensions, onActiveChanged, tabs
Fires when the selected tab in a window changes. Note that the tab's URL may not be set at the time this event fired, but you can listen to tabs.onUpdated events to be notified when a URL is set.
475 tabs.onAttached API, Add-ons, Event, Extensions, Non-standard, Reference, WebExtensions, onAttached, tabs
Fired when a tab is attached to a window, for example because it was moved between windows.
476 tabs.onCreated API, Add-ons, Event, Extensions, Non-standard, Reference, WebExtensions, onCreated, tabs
Fired when a tab is created.
477 tabs.onDetached API, Add-ons, Event, Extensions, Non-standard, Reference, WebExtensions, onDetached, tabs
Fired when a tab is detached from a window, for example because it is being moved between windows.
478 tabs.onHighlightChanged API, Add-ons, Deprecated, Event, Extensions, Non-standard, Reference, WebExtensions, onHighlightChanged, tabs
Fired when the highlighted or selected tabs in a window changes.
479 tabs.onHighlighted API, Add-ons, Event, Extensions, Non-standard, Reference, WebExtensions, onHighlighted, tabs
Fired when the set of highlighted tabs in a window changes.
480 tabs.onMoved API, Add-ons, Event, Extensions, Non-standard, Reference, WebExtensions, onMoved, tabs
Fired when a tab is moved within a window.
481 tabs.onRemoved API, Add-ons, Event, Extensions, Non-standard, Reference, WebExtensions, onRemoved, tabs
Fired when a tab is closed.
482 tabs.onReplaced API, Add-ons, Event, Extensions, Non-standard, Reference, WebExtensions, onReplaced, tabs
Fired when a tab is replaced with another tab due to prerendering or instant.
483 tabs.onSelectionChanged API, Add-ons, Deprecated, Event, Extensions, Non-standard, Reference, WebExtensions, onSelectionChanged, tabs
Fires when the selected tab in a window changes.
484 tabs.onUpdated API, Add-ons, Event, Extensions, Non-standard, Reference, WebExtensions, onUpdated, tabs
Fired when a tab is updated.
485 tabs.onZoomChange API, Add-ons, Event, Extensions, Non-standard, Reference, WebExtensions, onZoomChange, tabs
Fired when a tab is zoomed.
486 tabs.print() API, Add-ons, Extensions, Method, Reference, WebExtensions, print, tabs
Call this function to print the contents of the active tab. If this function is called, the user will be presented with the print dialog from the underlying platform, and will have the chance to change the print settings and then print the currently active tab.
487 tabs.printPreview() API, Add-ons, Extensions, Method, Reference, WebExtensions, printPreview, tabs
None.
488 tabs.query() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, query, tabs
Gets all tabs that have the specified properties, or all tabs if no properties are specified.
489 tabs.reload() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, reload, tabs
Reload a tab, optionally bypassing the local web cache.
490 tabs.remove() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, remove, tabs
Closes one or more tabs.
491 tabs.removeCSS() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, removeCSS, tabs
Removes from a page CSS which was previously injected by a call to tabs.insertCSS().
492 tabs.saveAsPDF() API, Add-ons, Extensions, Method, Reference, WebExtensions, saveAsPDF, tabs
Saves the current page as a PDF file. This will open a dialog, supplied by the underlying operating system, asking the user where they want to save the PDF file.
493 tabs.sendMessage() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, sendMessage, tabs
Sends a single message from the extension's background scripts (or other privileged scripts, such as popup scripts or options page scripts) to any content scripts that belong to the extension and are running in the specified tab.
494 tabs.sendRequest() API, Add-ons, Deprecated, Extensions, Method, Non-standard, Reference, WebExtensions, sendRequest, tabs
Sends a single request to the content script(s) in the specified tab, with an optional callback to run when a response is sent back. The extension.onRequest event is fired in each content script running in the specified tab for the current extension.
495 tabs.setZoom() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, setZoom, tabs
Zooms the specified tab.
496 tabs.setZoomSettings() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, setZoomSettings, tabs
Sets zoom settings for the specified tab. These settings are reset to the default settings upon navigating the tab.
497 tabs.show() API, Add-ons, Extensions, Method, Reference, WebExtensions, show, tabs
Shows one or more tabs that were previously hidden by a call to tabs.hide.
498 tabs.toggleReaderMode() API, Add-ons, Extensions, Method, Reference, WebExtensions, tabs, toggleReaderMode
Toggles Reader Mode for the given tab.
499 tabs.update() API, Add-ons, Extensions, Method, Non-standard, Reference, Update, WebExtensions, tabs
Navigate the tab to a new URL, or modify other properties of the tab.
500 theme Extensions, Themes, WebExtensions, add-on
Enables browser extensions to update the browser theme.
501 Theme Extension, Theme, Type, WebExtensisons, add-on
A Theme object represents the specification of a theme.
502 theme.getCurrent() API, Add-ons, Extensions, Method, Reference, Theme, WebExtensions, getCurrent
Gets the currently used theme as a Theme object. The arguments available in the color object are listed in the properties of the color.
503 theme.onUpdated Add-ons, Event, Extensions, Theme, WebExtensions
Fires when a theme supplied as a browser extension is applied or removed. Specifically:
504 theme.reset() API, Add-ons, Extensions, Method, Reference, Theme, WebExtensions, reset
Resets any theme that was applied using the theme.update() method.
505 theme.update() API, Add-ons, Extensions, Method, Reference, Theme, Update, WebExtensions
Updates the browser theme according to the content of given Theme object.
506 topSites API, Add-ons, Extensions, Interface, Non-standard, Reference, WebExtensions, topSites
Use the topSites API to get an array containing pages that the user has visited frequently.
507 topSites.MostVisitedURL API, Add-ons, Extensions, MostVisitedURL, Non-standard, Reference, Type, WebExtensions, topSites
The MostVisitedURL type contains two properties: the title of a page and its URL.
508 topSites.get() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, get, topSites
Gets an array containing information about pages that the user has visited often and recently.
509 types API, Add-ons, Extensions, Reference, Types, WebExtensions
Defines the BrowserSetting type, which is used to represent a browser setting.
510 BrowserSetting API, Add-ons, BrowserSetting, Extensions, Reference, Type, Types, WebExtensions
A BrowserSetting is an object representing a browser setting.
511 BrowserSetting.onChange API, Add-ons, BrowserSetting, Event, Extensions, Privacy, Reference, WebExtensions, onchange
The BrowserSetting.onChange event is fired when the setting is changed.
512 clear() API, Add-ons, Extensions, Method, Reference, Types, WebExtensions, clear
Use BrowserSetting.clear() to clear any changes the extension has made to the browser setting. The browser setting will revert to its previous value.
513 get() API, Add-ons, Extensions, Method, Reference, Types, WebExtensions, get
The BrowserSetting.get() method gets the current value of the browser setting, and an enumeration indicating how the setting's value is currently controlled.
514 set() API, Add-ons, BrowserSetting, Extensions, Privacy, Reference, WebExtensions, set
Use BrowserSetting.set() to change the browser setting to a new value.
515 userScripts Add-ons, Customization, Extensions, Firefox, Mozilla, Reference, WebExtensions, userScripts
Use this API to register user scripts, third-party scripts designed to manipulate webpages or provide new features. Registering a user script instructs the browser to attach the script to pages that match the URL patterns specified during registration.
516 APIScript APIScript, Add-ons, Customization, Extensions, Firefox, Junk, Reference, WebExtensions, userScripts
The userScripts APIScript is a special kind of extension Content Script.
517 UserScripts.UserScriptOptions
The UserScriptOptions object represents the content scripts to register. It has similar syntax to the contentScript options supported by browser.contentScripts.register. The differences are:
518 Working with userScripts API, Extensions, How-to, Tutorial, userScripts
By implementing userScripts, extension developers can modify how sites look and/or work to better meet user needs.
519 userScripts.RegisteredUserScript API, Extensions, Reference, RegisteredUserScript, Type, userScripts
A RegisteredUserScript object is returned by a call to userScripts.register() and represents the user scripts registered in that call.
520 RegisteredUserScript.unregister() Add-ons, Extensions, Method, User Scripts API, WebExtensions, unregister, userScripts
The unregister() method of the RegisteredUserScript object unregisters the user scripts represented by the object, user scripts that were registered using  userScripts.register().
521 unregister API, Extensions, Reference, RegisteredUserScript, Type, unregister, userScripts
The unregister() method of RegisteredUserScript interface unregisters the User Script represented by that interface instance and previously registered via userScripts.register().
522 userScripts.onBeforeScript Add-ons, Addons, Customization, Extensions, Firefox, Mozilla, Reference, User Scripts API, WebExtensions, userScripts
Events have three functions:
523 userScripts.register() Add-ons, Extensions, Method, User Scripts API, WebExtensions, register, userScripts
This method enables user scripts to be registered from an extension's pages (such as the background page).
524 webNavigation API, Add-ons, Extensions, Interface, Non-standard, Reference, WebExtensions, webNavigation
Add event listeners for the various stages of a navigation. A navigation consists of a frame in the browser transitioning from one URL to another, usually (but not always) in response to a user action like clicking a link or entering a URL in the location bar.
525 webNavigation.TransitionQualifier API, Add-ons, Extensions, Non-standard, Reference, TransitionQualifier, Type, WebExtensions, webNavigation
Values of this type are strings. Possible values are:
526 webNavigation.TransitionType API, Add-ons, Extensions, Non-standard, Reference, TransitionType, Type, WebExtensions, webNavigation
Cause of the navigation: for example, the user clicked a link, or typed an address, or clicked a bookmark.
527 webNavigation.getAllFrames() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, getAllFrames, webNavigation
Given a tab ID, retrieves information about all the frames it contains.
528 webNavigation.getFrame() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, getFrame, webNavigation
Retrieves information about a particular frame. A frame may be the top-level frame in a tab or a nested iframe, and is uniquely identified by a tab ID and a frame ID.
529 webNavigation.onBeforeNavigate API, Add-ons, Event, Extensions, Non-standard, Reference, WebExtensions, onBeforeNavigate, webNavigation
Fired when the browser is about to start a navigation event.
530 webNavigation.onCommitted API, Add-ons, Event, Extensions, Non-standard, Reference, WebExtensions, onCommitted, webNavigation
Fired when a navigation is committed. At least part of the new document has been received from the server and the browser has decided to switch to the new document.
531 webNavigation.onCompleted API, Add-ons, Event, Extensions, Non-standard, Reference, WebExtensions, onCompleted, webNavigation
Fired when a document, including the resources it refers to, is completely loaded and initialized. This is equivalent to the DOM load event.
532 webNavigation.onCreatedNavigationTarget API, Add-ons, Event, Extensions, Non-standard, Reference, WebExtensions, onCreatedNavigationTarget, webNavigation
Fired when a new window, or a new tab in an existing window, is created to host the target of a navigation. For example, this event is sent when:
533 webNavigation.onDOMContentLoaded API, Add-ons, Event, Extensions, Non-standard, Reference, WebExtensions, onDOMContentLoaded, webNavigation
Fired when the DOMContentLoaded event is fired in the page. At this point the document is loaded and parsed, and the DOM is fully constructed, but linked resources such as images, stylesheets and subframes may not yet be loaded.
534 webNavigation.onErrorOccurred API, Add-ons, Event, Extensions, Non-standard, Reference, WebExtensions, onErrorOccurred, webNavigation
Fired when an error occurs and the navigation is aborted. This can happen if either a network error occurred, or the user aborted the navigation.
535 webNavigation.onHistoryStateUpdated API, Add-ons, Event, Extensions, Non-standard, Reference, WebExtensions, onHistoryStateUpdated, webNavigation
Fired when the page used the history API to update the URL displayed in the browser's location bar. All future events for this frame will use the updated URL.
536 webNavigation.onReferenceFragmentUpdated API, Add-ons, Event, Extensions, Non-standard, Reference, WebExtensions, onReferenceFragmentUpdated, webNavigation
Events have three functions:
537 webNavigation.onTabReplaced API, Add-ons, Event, Extensions, Non-standard, Reference, WebExtensions, onTabReplaced, webNavigation
Fired when the contents of the tab is replaced by a different (usually previously pre-rendered) tab.
538 webRequest API, Add-ons, Extensions, Interface, Non-standard, Reference, WebExtensions, webRequest
Add event listeners for the various stages of making an HTTP request, which includes websocket requests on ws:// and wss://. The event listener receives detailed information about the request and can modify or cancel the request.
539 webRequest.BlockingResponse API, Add-ons, BlockingResponse, Extensions, Non-standard, Reference, Type, WebExtensions, webRequest
An object of this type is returned by event listeners that have set "blocking" in their extraInfoSpec argument.
540 webRequest.CertificateInfo API, Add-ons, CertificateInfo, Extensions, Reference, Type, WebExtensions, webRequest
An object describing a single X.509 certificate.
541 webRequest.HttpHeaders API, Add-ons, Extensions, HttpHeaders, Non-standard, Reference, Type, WebExtensions, webRequest
An array of HTTP headers. Each header is represented as an object with two properties: name and either value or binaryValue.
542 webRequest.MAX_​HANDLER_​BEHAVIOR_​CHANGED_​CALLS_​PER_​10_​MINUTES API, Add-ons, Extensions, MAX_HANDLER_BEHAVIOR_CHANGED_CALLS_PER_10_MINUTES, Non-standard, Property, Reference, WebExtensions, webRequest
The maximum number of times that handlerBehaviorChanged() can be called in a 10 minute period.
543 webRequest.RequestFilter API, Add-ons, Extensions, Non-standard, Reference, RequestFilter, Type, WebExtensions, webRequest
An object describing filters to apply to webRequest events.
544 webRequest.ResourceType API, Add-ons, Extensions, Non-standard, Reference, ResourceType, Type, WebExtensions, webRequest
This type is a string, which represents the context in which a resource was fetched in a web request.
545 webRequest.SecurityInfo API, Add-ons, Reference, SecurityInfo, Type, WebExtensions, webRequest
An object describing the security properties of a particular web request. An object of this type is returned from the webRequest.getSecurityInfo() API.
546 webRequest.StreamFilter API, Add-ons, Extensions, Reference, StreamFilter, Type, WebExtensions, webRequest
A StreamFilter is an object you can use to monitor and modify HTTP responses.
547 webRequest.StreamFilter.close() Add-ons, Extensions, Method, StreamFilter.close, WebExtensions, webRequest
Closes the request. After this is called, no further response data will be passed to the browser's rendering engine and no more filter events will be given to the extension.
548 webRequest.StreamFilter.disconnect() API, Add-ons, Extensions, StreamFilter.disconnect, WebExtensions, webRequest
You should always call disconnect() or close() once you don't need to interact with the response any further.
549 webRequest.StreamFilter.ondata API, Add-ons, Extensions, Reference, StreamFilter.ondata, TextDecoder, TextEncoder, WebExtensions, webRequest
This example adds an ondata listener which replaces "Example" in the response with "WebExtension Example".
550 webRequest.StreamFilter.onerror API, Add-ons, Extensions, Reference, StreamFilter.onerror, WebExtensions, webRequest
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
551 webRequest.StreamFilter.onstart API, Add-ons, Extensions, Reference, StreamFilter.onstart, WebExtensions, webRequest
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
552 webRequest.StreamFilter.onstop API, Add-ons, Extensions, Reference, StreamFilter.onstop, WebExtensions, webRequest
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
553 webRequest.StreamFilter.resume() API, Add-ons, Extensions, Reference, StreamFilter.resume(), WebExtensions, webRequest
Resumes a request that was previously suspended through a call to suspend().
554 webRequest.StreamFilter.status API, Add-ons, Extensions, Reference, StreamFilter.status, WebExtensions, webRequest
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
555 webRequest.StreamFilter.suspend() API, Add-ons, Extensions, Reference, StreamFilter.suspend(), WebExtensions, webRequest
Suspends a request. After this is called, no more data will be delivered until the request is resumed with a call to resume().
556 webRequest.StreamFilter.write() API, Add-ons, Extensions, Reference, StreamFilter.write(), WebExtensions, webRequest
None.
557 webRequest.Streamfilter.error API, Add-ons, Extensions, Reference, StreamFilter.error, WebExtensions, webRequest
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
558 webRequest.UploadData API, Add-ons, Extensions, Non-standard, Reference, Type, UploadData, WebExtensions, webRequest
Contains data uploaded in a URL request.
559 webRequest.filterResponseData() API, Add-ons, Extensions, Method, Reference, WebExtensions, filterResponseData, webRequest
Use this function to create a webRequest.StreamFilter object for a particular request. You can then use the stream filter to monitor and modify the response. You'd typically call this function from a webRequest event listener.
560 webRequest.getSecurityInfo() API, Add-ons, Extensions, Method, Reference, WebExtensions, getSecurityInfo, webRequest
Use this function to get detailed information about the TLS connection associated with a particular request.
561 webRequest.handlerBehaviorChanged() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, handlerBehaviorChanged, webRequest
Suppose an extension's job is to block web requests against a pattern, and the following scenario happens:
562 webRequest.onAuthRequired API, Add-ons, Event, Extensions, Non-standard, Reference, WebExtensions, onAuthRequired, webRequest
Fired when the server sends a 401 or 407 status code: that is, when the server is asking the client to provide authentication credentials such as a username and password.
563 webRequest.onBeforeRedirect API, Add-ons, Event, Extensions, Non-standard, Reference, WebExtensions, onBeforeRedirect, webRequest
Fired when a server-initiated redirect is about to occur.
564 webRequest.onBeforeRequest API, Add-ons, Event, Extensions, Non-standard, Reference, WebExtensions, onBeforeRequest, webRequest
This event is triggered when a request is about to be made, and before headers are available. This is a good place to listen if you want to cancel or redirect the request.
565 webRequest.onBeforeSendHeaders API, Add-ons, Event, Extensions, Non-standard, Reference, WebExtensions, onBeforeSendHeaders, webRequest
This event is triggered before sending any HTTP data, but after all HTTP headers are available. This is a good place to listen if you want to modify HTTP request headers.
566 webRequest.onCompleted API, Add-ons, Event, Extensions, Non-standard, Reference, WebExtensions, onCompleted, webRequest
Fired when a request has completed.
567 webRequest.onErrorOccurred API, Add-ons, Event, Extensions, Non-standard, Reference, WebExtensions, onErrorOccurred, webRequest
Fired when a request could not be processed due to an error: for example, a lack of Internet connectivity.
568 webRequest.onHeadersReceived API, Add-ons, Event, Extensions, Non-standard, Reference, WebExtensions, onHeadersReceived, webRequest
Fired when the HTTP response headers associated with a request have been received. You can use this event to modify HTTP response headers.
569 webRequest.onResponseStarted API, Add-ons, Event, Extensions, Non-standard, Reference, WebExtensions, onResponseStarted, webRequest
Fired when the first byte of the response body is received.
570 webRequest.onSendHeaders API, Add-ons, Event, Extensions, Non-standard, Reference, WebExtensions, onSendHeaders, webRequest
This event is fired just before sending headers. If your extension or some other extension modified headers in onBeforeSendHeaders, you'll see the modified version here.
571 windows API, Add-ons, Extensions, Interface, Non-standard, Reference, WebExtensions, Windows
Interact with browser windows. You can use this API to get information about open windows and to open, modify, and close windows. You can also listen for window open, close, and activate events.
572 windows.CreateType API, Add-ons, CreateType, Extensions, Non-standard, Reference, Type, WebExtensions, Windows
Specifies the type of browser window to create.
573 windows.WINDOW_ID_CURRENT API, Add-ons, Extensions, Non-standard, Property, Reference, WINDOW_ID_CURRENT, WebExtensions, Windows
browser.windows.WINDOW_ID_CURRENT is a value that can be used as a windowId parameter in some APIs to represent the current window.
574 windows.WINDOW_ID_NONE API, Add-ons, Extensions, Non-standard, Property, Reference, WINDOW_ID_NONE, WebExtensions, Windows
The windowId value that represents the absence of a browser window.
575 windows.Window API, Add-ons, Extensions, Non-standard, Reference, Type, WebExtensions, Window, Windows
Information about a browser window.
576 windows.WindowState API, Add-ons, Extensions, Non-standard, Reference, Type, WebExtensions, WindowState, Windows
The state of this browser window.
577 windows.WindowType API, Add-ons, Extensions, Non-standard, Reference, Type, WebExtensions, WindowType, Windows
The type of browser window this is.
578 windows.create() API, Add-ons, Create, Extensions, Method, Non-standard, Reference, WebExtensions, Windows
Creates a new window.
579 windows.get() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, Windows, get
Gets details about a window, given its ID. The details are passed into a callback.
580 windows.getAll() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, Windows, getAll
Gets information about all open windows, passing them into a callback.
581 windows.getCurrent() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, Windows, getCurrent
Gets the current browser window, passing its details into a callback.
582 windows.getLastFocused() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, Windows, getLastFocused
Gets the window that was most recently focused — typically the window 'on top'.
583 windows.onCreated API, Add-ons, Event, Extensions, Non-standard, Reference, WebExtensions, Windows, onCreated
Fired when a window is created.
584 windows.onFocusChanged API, Add-ons, Event, Extensions, Non-standard, Reference, WebExtensions, Windows, onFocusChanged
Fired when the currently focused window changes. Will be windows.WINDOW_ID_NONE if all browser windows have lost focus.
585 windows.onRemoved API, Add-ons, Event, Extensions, Non-standard, Reference, WebExtensions, Windows, onRemoved
Fired when a window is closed.
586 windows.remove() API, Add-ons, Extensions, Method, Non-standard, Reference, WebExtensions, Windows, close, remove
Closes a window and all the tabs inside it, given the window's ID.
587 windows.update() API, Add-ons, Extensions, Method, Non-standard, Reference, Update, WebExtensions, Windows
Updates the properties of a window. Use this to move, resize, and (un)focus a window, etc.
588 Match patterns in extension manifests WebExtensions
Match patterns are a way to specify groups of URLs: a match pattern matches a specific set of URLs. They are used in WebExtensions APIs in a few places, most notably to specify which documents to load content scripts into, and to specify which URLs to add webRequest listeners to.
589 Modify a web page WebExtensions
One of the most common use cases for an extension is to modify a web page. For example, an extension might want to change the style applied to a page, hide particular DOM nodes, or inject extra DOM nodes into the page.
590 Native manifests Extensions, WebExtensions
Native manifests are specially formatted JSON files that are provisioned on the user's computer by some means outside the extension installation process. For example, a native manifest might be provisioned by a device administrator or by a native application installer.
591 Native messaging WebExtensions
Native messaging enables an extension to exchange messages with a native application installed on the user's computer. This enables native applications to provide a service to extensions without needing to be reachable over the web. One common example here is password managers: the native application manages storage and encryption of passwords, and communicates with the extension to populate web forms. Native messaging also enables extensions to access resources that are not accessible through WebExtension APIs, such as some particular piece of hardware.
592 Package your extension WebExtensions
During development, your extension will consist of a directory containing a manifest.json file and the other files the extension needs—scripts, icons, HTML documents, and so on. You need to zip these into a single file for uploading to AMO.
593 Porting a Google Chrome extension WebExtensions
The browser extension APIs are designed to promote cross-browser compatibility among extensions. The WebExtension APIs is, therefore, to a large extent, code-compatible with the extension API supported by Google Chrome and Opera. Extensions written for these browsers will, in most cases, run in Firefox with just a few changes. Almost all of the WebExtension APIs provide support for callback functions under the chrome namespace, the same as Chrome. The only APIs that aren't supported in the chrome namespace are those that are intentionally incompatible with Chrome. In those cases, the API documentation page states that support is provided only in the browser namespace. The process of porting an extension from Chrome or Opera is, therefore, relatively straightforward:
594 Porting a legacy Firefox extension WebExtensions
If you have developed a Firefox extension using XUL/XPCOM or the Add-on SDK, this page will help you migrate your extension to use WebExtensions APIs. The standard to build extensions for Firefox is to use
595 Prerequisites Draft, WebExtensions
All you need is Firefox 45 or higher. See Your first extension to get started.
596 Prompt users for data and privacy consents Add-ons, Extensions, How to, Privacy, UI, UX, User Interface, WebExtensions
If your extension uses cookies or collects user data, it needs to comply with the requirement of the Data Disclosure, Collection and Management section of the Add-on Policies.
597 Requesting the right permissions Add-ons, Beginner, Extensions, How-to, Intermediate, Permissions
Or how to avoid permissions discouraging users from installing your extensions.
598 Safely inserting external content into a page Add-ons, Beginner, Extensions, How-to, Security, WebExtensions
There are times when you might want or need to include content from an external source in your extension. But, there is the risk that the source may have malicious scripts embedded in it—added by either the developer of the source or by a malicious third-party.
599 Security best practices Beginner, Extensions, Intermediate, Security, WebExtensions, reviews
Here is a list of best practices you should follow to keep the users of your extension safe. If you don't follow these best practices your extension may fail the reviews on addons.mozilla.org, preventing you from distributing your add-on or resulting in it being blocked from installation in Firefox.
600 Sharing objects with page scripts Add-ons, Content script, Extensions, Firefox, Guide, Mozilla, Non-standard, WebExtensions, XPCOM, page scripts
As the content scripts guide notes, content scripts don't see changes made to the DOM by scripts loaded by web pages. This means that, for example, if a web page loads a library like jQuery, content scripts won't be able to use it, and have to load their own copy. Conversely, scripts loaded by web pages can't see changes made by content scripts.
601 Temporary installation in Firefox WebExtensions
This article describes how an add-on developer can temporarily install an extension in Firefox for testing and debugging. The extension will stay installed until you restart Firefox. You can use this method with any kind of restartless extension, including bootstrapped extensions and Add-on SDK add-ons.
602 Test permission requests Add-ons, Extensions, Guide, Permissions, Testing, WebExtensions
When you’re testing with an unpackaged extension, using either about:debugging or web-ext, install time and runtime permissions are handled as follows:
603 Testing persistent and restart features Beginner, Development, Extensions, How-to, Intermediate, Testing, WebExtensions, add-on, web-ext
When testing your extension, you may notice that some features reset themselves or stop working when you load an updated version or after you restart Firefox. For example, you may be using local storage and notice that previously saved data disappears when you reload your extension. Alternatively, you may want to test your extension across a Firefox restart but notice your extension doesn't remain loaded.
604 Tips and Tricks ECMAScript, Tips, Tips and Tricks, WebExtensions, tricks
This page contains various tips and tricks which should be useful to many people developing extensions using WebExtension APIs.
605 User actions Add-ons, Guide, WebExtensions
Some WebExtension APIs perform functions that are generally performed as a result of a user action. For example:
606 User experience best practices Add-ons, Extensions, Guide, UI, UX
You want to make sure your users have a great experience using your extension—when you do, the good reviews and ratings will follow on addons.mozilla.org (AMO)
607 User interface Landing, User Interface, WebExtensions
Extensions that use WebExtension APIs are provided with several user interface options so that their functionality can be made available to the user. A summary of those options is provided below, with a more detailed introduction to each user interface option in this section.
608 Accessibility guidelines Development, Extensions, UI, UX, User Interface, Web Extensions
When it comes to accessibility, extensions should follow the same guidelines as websites. However, extensions have unique features that deserve consideration when designing for accessibility. Here is a breakdown of extension features and how they should be used to make an extension accessible.
609 Address bar button AddressBarButton, Page Action, User Interface, WebExtensions
Commonly referred to as a page action button, this user interface option is a button added to the browser address bar. Users are able to click the button to interact with their extensions.
610 Address bar suggestions User Interface, WebExtensions
Using the omnibox API, extensions can customize the suggestions offered in the browser address bar's drop-down when the user enters a keyword.
611 Browser styles Add-ons, Browser style, Example, Extensions, Guide, WebExtensions
Certain user interface components - browser and page action popups, sidebars, and options pages - are specified by your extension in essentially the same way:
612 Context menu items WebExtensions
This user interface option adds one or more items to a browser context menu.
613 Extension pages Beginner, User Interface, WebExtensions
You can include HTML pages in your extension to provide forms, help, or any other content your extension needs.
614 Notifications WebExtensions
Notifications allow you to communicate information about your extension or its content using the underlying operating system's notification service.
615 Options page WebExtensions
An Options page enables you to define preferences for your extension that your users can change. Users can access the options page for an extension from the browser's add-ons manager:
616 Popups UI, User Interface, WebExtensions, popup
No summary!
617 Sidebars WebExtensions
A sidebar is a pane that is displayed at the side of the browser window, next to the web page. This page describes sidebars, specifying them, designing them, and examples of use.
618 Toolbar button WebExtension
Commonly referred to as a browser action, this user interface option is a button added to the browser toolbar. Users click the button to interact with your extension.
619 devtools panels Beginner, Guide, User Interface, WebExtensions
When an extension provides tools that are of use to developers, it's possible to add a UI for them to the browser's developer tools as a new panel.
620 What are extensions? Extensions, WebExtensions
An extension adds features and functions to a browser. It’s created using familiar web-based technologies—HTML, CSS, and JavaScript. It can take advantage of the same web APIs as JavaScript on a web page, but an extension also has access to its own set of JavaScript APIs. This means that you can do a lot more in an extension than you can with code in a web page. Here are just a few examples of the things you can do:
621 What does review rejection mean to users? Add-ons, Extensions, Guide, Review, WebExtensions, publication
This article explains how users and people looking for your extension are affected should you get a rejection from the Mozilla review process.
622 What next? Beginner, Extensions, WebExtension
You will now be ready to start turning your idea for a browser extension into reality. Before you start that journey, it's worth being aware of a few things that will help to make it a smooth one.
623 Work with contextual identities Add-ons, Beginner, Contextual identities, Extensions, How-to, WebExtensions
Many people need or want to interact with the web using multiple personas. They may have accounts for web-based work and personal email. They might sign out of their social media accounts before accessing online shopping, to ensure that any tracking scripts on the shopping sites can't pick up their social media activity. To address these requirements, users often end up working with a standard and private browser window or two different browsers.
624 Work with the Bookmarks API Add-ons, Beginner, Bookmarks, Extensions, How-to, WebExtensions
Bookmarks enable users to collect and organize lists of web pages, so they can easily get back to their favorites. Using the Bookmarks API, your extensions can manipulate bookmarks in much the same way users can.
625 Work with the Cookies API Add-ons, Beginner, Cookies, Extensions, How-to, WebExtensions
With the Cookies API your extensions have access to capabilities similar to those used by websites to store and read cookies. The API’s features give extensions the ability to store information on a site-by-site basis. So, as we shall see in the example, you could store details of a user’s choice of background color for a site. Then, when the user revisits the site, your extension can use the API’s ability to get details about cookies and read them to recover the user’s choice and apply it to the website.
626 Working with files Guide, WebExtensions
Your browser extension may need to work with files to deliver its full functionality. This article looks at the five mechanisms you have for handling files:
627 Working with the Tabs API Add-ons, Beginner, Extensions, How-to, WebExtensions, tabs
Tabs let a user open several web pages in their browser window and then switch between those web pages. With the Tabs API, you can work with and manipulate these tabs to create utilities that provide users with new ways to work with tabs or to deliver the features of your extension.
628 Your first extension Guide, WebExtensions
In this article we'll walk through creating an extension for Firefox, from start to finish. The extension just adds a red border to any pages loaded from "mozilla.org" or any of its subdomains.
629 Your second extension WebExtensions
In this article, we'll write a slightly more complex extension that demonstrates a few more of the APIs.
630 manifest.json Add-ons, Extensions, Overview, WebExtensions, manifest.json
The manifest.json file is the only file that every extension using WebExtension APIs must contain.
631 author Add-ons, Extensions, WebExtensions
The extension's author, intended for display in the browser's user interface. If the developer key is supplied and it contains the "name" property, it will override the author key. There's no way to specify multiple authors.
632 background Add-ons, Extensions, Manifest, Reference, WebExtensions
Use the background key to include one or more background scripts, and optionally a background page in your extension.
633 browser_action Add-ons, Extensions, WebExtensions
A browser action is a button that your extension adds to the browser's toolbar. The button has an icon, and may optionally have a popup whose content is specified using HTML, CSS, and JavaScript.
634 browser_specific_settings Add-ons, WebExtensions, browser_specific_settings, manifest.json
The browser_specific_settings key contains keys that are specific to a particular host application.
635 chrome_settings_overrides Add-ons, Extensions, WebExtensions, chrome_settings_overrides, manifest.json
Use the chrome_settings_overrides key to override certain browser settings. Two settings are available:
636 chrome_url_overrides Add-ons, Extensions, WebExtensions
Use the chrome_url_overrides key to provide a custom replacement for the documents loaded into various special pages usually provided by the browser itself.
637 commands Add-ons, Extensions, WebExtensions
Use the commands key to define one or more keyboard shortcuts for your extension.
638 content_scripts Add-ons, Extensions, WebExtensions
Instructs the browser to load content scripts into web pages whose URL matches a given pattern.
639 content_security_policy Add-ons, Extensions, WebExtensions
Extensions have a content security policy applied to them by default. The default policy restricts the sources from which they can load<script> and <object> resources, and disallows potentially unsafe practices such as the use of eval(). See Default content security policy to learn more about the implications of this.
640 default_locale Add-ons, Extensions, WebExtensions
This key must be present if the extension contains the _locales directory, and must be absent otherwise. It identifies a subdirectory of _locales, and this subdirectory will be used to find the default strings for your extension.
641 description Add-ons, Extensions, WebExtensions
A short description of the extension, intended for display in the browser's user interface.
642 developer Add-ons, Extensions, WebExtensions
The name of the extension's developer and their homepage URL, intended for display in the browser's user interface.
643 devtools_page Add-ons, DevTools, Extensions, Manifest, Reference, WebExtensions, devtools_page
Use this key to enable your extension to extend the browser's built-in devtools.
644 dictionaries Add-ons, Extensions, WebExtensions, manifest.json
The dictionaries key specifies the locale_code for which your extension supplies a dictionary. Although the dictionary consists of two files, one with a .dic and one with an .aff file extension, only the one with the .dic extension is referenced in the manifest.json.
645 externally_connectable Add-ons, WebExtensions, manifest.json
Externally connectable allows extension developer to control which other extensions and web pages can communicate with this extension via runtime.connect() and runtime.sendMessage() message passing. If externally_connectable is not specified, all extensions can communicate with each other but not with web pages.
646 homepage_url Add-ons, Extensions, WebExtensions
URL for the extension's home page.
647 icons Add-ons, Extensions, WebExtensions
The icons key specifies icons for your extension. Those icons will be used to represent the extension in components such as the Add-ons Manager.
648 incognito Add-ons, WebExtensions, incognito, manifest.json
Use the incognito key to control how the extension works with private browsing windows.
649 manifest_version Add-ons, Extensions, WebExtensions
This key specifies the version of manifest.json used by this extension.
650 name Add-ons, Extensions, WebExtensions
Name of the extension. This is used to identify the extension in the browser's user interface and on sites like addons.mozilla.org.
651 offline_enabled Add-ons, Deprecated, Extensions, Non-standard, Offline, WebExtensions, google chrome
Whether the app or extension is expected to work offline. When Chrome detects that it is offline, apps with this field set to true will be highlighted on the New Tab page.
652 omnibox Add-ons, Extensions, WebExtensions
Use the omnibox key to define an omnibox keyword for your extension.
653 optional_permissions Add-ons, WebExtensions, manifest.json, optional_permissions
Use the optional_permissions key to list permissions that you want to ask for at runtime, after your extension has been installed.
654 options_page Add-ons, Deprecated, Extensions, Manifest, Options, WebExtensions, options_page
Use the options_page key to define an options page for your extension.
655 options_ui Add-ons, Extensions, Manifest, Options, WebExtensions, options_ui
Use the options_ui key to define an options page for your extension.
656 page_action Add-ons, Extensions, WebExtensions
A page action is an icon that your extension adds inside the browser's URL bar.
657 permissions Add-ons, Extensions, Permissions, Reference, WebExtensions, manifest.json
Use the permissions key to request special powers for your extension. This key is an array of strings, and each string is a request for a permission.
658 protocol_handlers Add-ons, Extensions, WebExtensions, manifest.json
Use this key to register one or more web-based protocol handlers.
659 short_name Add-ons, Extensions, WebExtensions
Short name for the extension. If given, this will be used in contexts where the name field is too long. It's recommended that the short name should not exceed 12 characters. If the short name field is not included in manifest.json, then name will be used instead and may be truncated.
660 sidebar_action WebExtensions
A sidebar is a pane that is displayed at the left-hand side of the browser window, next to the web page. The browser provides a UI that enables the user to see the currently available sidebars and to select a sidebar to display.
661 theme Add-ons, Browser, Customization, Customize, Design, Look and Feel, Themes, colors, theme manifest
Use the theme key to define a static theme to apply to Firefox.
662 theme_experiment Add-ons, Browser, Customization, Customize, Design, Look and Feel, Themes, colors, theme manifest
The theme_experiment key is an object that takes the following properties:
663 user_scripts Add-ons, Extensions, WebExtensions, manifest.json, user_scripts key
Instructs the browser to load a script packaged in the extension, known as the API script, this script is used to export a set of custom API methods for use in user scripts. The API script path, relative to the manifest.json file, is defined as a string in "api_script".
664 version Add-ons, Extensions, WebExtensions
Version of the extension, formatted as numbers and ASCII characters separated by dots. For the details of the version format, see the Version format page.
665 version_name Add-ons, Extensions, WebExtensions
In addition to the version field, which is used for update purposes, version_name can be set to a descriptive version string and will be used for display purposes if present.
666 web_accessible_resources Add-ons, Extensions, WebExtensions
Sometimes you want to package resources—for example, images, HTML, CSS, or JavaScript—with your extension and make them available to web pages.
667 web-ext command reference Options, Reference, Tools, WebExtensions, commands, web-ext
This page lists all the commands and options available under the web-ext command line tool.
668 Creating an appealing add-on listing Add-ons, Beginner, Guide, WebExtension, publishing
There are two essential steps to getting people to use your add-on: they need to discover your add-on and open the listing page, then the listing page needs to encourage them to click the Add to Firefox button. The content you add to a listing is therefore vital: from making effective use of keywords in your descriptions, to get visibility in external search engine results, through having an icon that attracts a user’s attention from a category list, to screenshots that show how useful your add-on is.
669 Index Add-ons, Glossary, Guide, Index
Found 682 pages:
670 Signing and distributing your add-on Add-ons, Extensions, WebExtensions, distribution, publication, reviews, signing
Add-ons need to be signed before they can be installed into release and beta versions of Firefox. This signing process takes place through addons.mozilla.org (AMO), whether you choose to distribute your add-on through AMO or to do it yourself.
671 Make money from browser extensions Guide, Monetization, WebExtensions, distribution
While users can download browser extensions for Firefox free of cost from addons.mozilla.org  (AMO), this doesn’t mean you can’t make money from browser extensions, and to a more limited extent themes.
672 Promoting your extension or theme Add-ons, Extensions, Promotion, Themes, WebExtensions, distribution
So you’ve written a great extension, but only a few people have found and installed it from addons.mozilla.org—despite your efforts to create an appealing listing. So, how do you encourage more people to install your extension? This page looks at how.
673 Resources for publishers Add-ons, Extensions, distribution, publication
Now your add-on is published on AMO, check out the following resources:
674 Retiring your extension Extensions, WebExtension, end-of-life, publication
There may be occasions where you want to retire one of your extensions. This article suggests the steps you might want to follow, as well as offering some pointers to a suitable timeline.
675 Submitting an add-on Add-ons, Beginner, Tutorial, WebExtensions
This article walks through the process of publishing an add-on. If you just want to get started, head to the Submit a New Add-on page on AMO.
676 Source code submission Add-ons, Extensions, Review Policy, distribution
To complete the review process at addons.mozilla.org (AMO), reviewers must be able to read the code in your extension. Some build processes render extension code difficult to read. These processes include minifying your code, as well as the use of module bundlers or similar tools, such as webpack. In this case, when you upload your extension to AMO, you will need to provide your source code and instructions for building that source code, where build processes render your extension’s code hard to read.
677 Themes Add-ons, Look & Feel, Themes
Themes allow you to change the look and feel of the user interface and personalize it to your tastes. Learn how to create and share themes!
678 Obsolete Add-ons, Archive, Look & Feel, Obsolete, Themes
This page contains theme documents and resources that we don't expect will ever be updated, but which we're keeping for the time being as potential source material for updated docs.
679 Theme concepts Theme, add-on
Themes developed using the WebExtensions API in Firefox enable you to change the look of the browser by adding images to the header area of the Firefox browser; this is the area behind the menu bar, toolbars, address bar, search bar, and tab strip.
680 Using the AMO theme generator AMO, Add-ons, Firefox, Guide, Tutorial, add-on
The theme generator on addons.mozilla.org (AMO) guides you through the process of creating a theme for Firefox. Once you have defined the colors and image for your theme, the generator will submit your new theme to AMO. You may submit themes for publishing on AMO or for self-distribution.
681 Third Party Library Usage Add-ons, Extensions, Review Policy
To complete the review process at addons.mozilla.org (AMO), reviewers must be able to verify the code in your extension. You may include third-party libraries in your extension. In that case, when you upload your extension to AMO, you will need to provide links to the library source code.
682 Updates
Firefox supports automated updates to add-ons using JSON update manifests. Add-ons hosted on AMO automatically receive updates to new versions posted there. Other add-ons must specify the location of their update manifests.