background preloader

Check if your addon is affected

Facebook Twitter

High-Level APIs. Modules listed on this page implement high-level APIs for building add-ons: creating user interfaces, interacting with the web, and interacting with the browser. Unless the documentation explicitly says otherwise, all these modules are "Stable": we'll avoid making incompatible changes to them. addon-page Create a page that does not contain navigational elements. base64 Data encoding and decoding using Base64 algorithms. clipboard Interact with the system clipboard, setting and getting its contents. context-menu Add items, submenus, and menu separators to the page's context menu. hotkeys Assign hotkey combinations to functions in your add-on. indexed-db Exposes the IndexedDB API to add-ons. l10n Localize strings appearing in the add-on's JavaScript code. notifications Display transient, toaster-style desktop messages to the user. page-mod Run scripts in the context of web pages whose URL matches a given pattern. page-worker Create a permanent, invisible page and access its DOM. panel passwords private-browsing.

Overlay extensions. Bootstrapped extensions. Note: All extensions created using the Add-on SDK are bootstrapped! All the bootstrapping code is generated for you, so you don't really need to think about it. Not using the Add-on SDK? Read on... Traditional extensions include overlays, wherein the application can load up XUL from the extension's package and automatically apply it atop its own UI.

While this makes creating extensions that add to the application's user interface relatively easy, it means that updating, installing, or disabling an extension requires an application restart. Gecko 2.0 (Firefox 4 / Thunderbird 3.3 / SeaMonkey 2.1) introduces bootstrapped extensions. All the application does is call into this script file; the extension is responsible for adding and removing its user interface and handling any other setup and shutdown tasks it requires.

This article discusses how bootstrapped extensions work. The startup and shutdown process There are several scenarios in which the startup() function may be called; for example: Low-Level APIs. To know for sure,