Let's go through your list. Throughout the answer, I will refer to the relevant documentation. If you're complelely clueless on getting started with Firefox add-on development, read the Getting started tutorial.
Before starting, also read about modules and the SDK Idioms (the last one is very important, because it gives an explanation on important concepts in the Firefox add-on SDK world).
chrome.extension.sendMessage
/chrome.tabs.sendMessage
/chrome.extension.onMessage.addListener
See Content scripts to learn how to work with thesdk/page-mod
module and pass around messages.chrome.browserAction.setIcon
andchrome.extension.onMessage.addListener
I've written a SDK module which is a full implementation of Chrome'schrome.browserAction
API for Firefox. Installation instructions and documentation is found at https://github.com/Rob--W/browser-action-jplib.webkitNotifications.createNotification
See thesdk/notifications
module.chrome.privacy.services.autofillEnabled.get
Seesdk/preferences/service
module. A list of preference identifiers can be found at the about:config entries article. For your specific example:var prefName = 'browser.formfill.enable'; var prefService = require("sdk/preferences/service"); var isAutoFillEnabled = prefService.get(prefName); // true or false
chrome.runtime.onInstalled.addListener
Whether your extension was installed can be determined by reading theloadReason
property of theself
module, e.g.if (require('sdk/self').loadReason == 'install') { // Do something on the very first install }
chrome.tabs.query
Thesdk/tabs
module is an iterator. You can loop through the object and filter out the results yourself.localStorage
Seesdk/simple-storage