Skip to content

Instantly share code, notes, and snippets.

Mozilla provides three different toolsets for developing add-ons. Choose the one that's right for you.

XUL-based add-ons

The traditional way of creating add-ons for Gecko-based applications is to modify the XUL used to define the application user interface and access platform features by loading XPCOM components.

Mobile add-ons

Expected final state

  • New starters can understand the whole process of add-on development on fennec
  • Desktop firefox add-on developers understand what's different in fennec
  • All add-on developers understand:
    • The tool support available for developing fennec add-ons
    • The power of specifically mobile add-ons
  • How to use the fennec-specific add-on APIs

Persona

Expected Final State

  • All audiences understand what Persona is (P1)
    • High level introduction to Persona: not done
    • Mid level technical overview of Persona
    • Detailed specification of Persona
    • Article explaining the differences between Persona now, and Persona as it will be in the future

Jetpack plan

Expected Final State

  • All major high-level features have tutorials explaining how to use them (P1)
  • All high-level APIs have correct and complete API documentation (P1)
  • All low-level APIs have correct and complete API documentation (P2)
  • Jetpack docs are hosted on MDN (P1)

Relevant Actions

We're pleased to announce a new feature for the page-mod module that's coming in Add-on SDK 1.11: The attachTo PageMod's option!

If you're interested in trying this feature out now, you can do so by checking out the master branch of the addon-sdk repository:

git clone git://github.com/mozilla/addon-sdk.git

Or download the current master's zip archive:

https://github.com/mozilla/addon-sdk/zipball/master

We're pleased to announce a new feature for page-mod module, that will be introduced in Add-on SDK 1.11: The attachTo PageMod's option!

If you're interested in trying this feature out now, you can do so by checking out the master branch of the addon-sdk repository:

git clone git://github.com/mozilla/addon-sdk.git

Or download the current master's zip archive:

https://github.com/mozilla/addon-sdk/zipball/master

@wbamberg
wbamberg / gist:3860327
Created October 9, 2012 17:54
testcfx log with layout change
(addon-sdk)~/mozilla/gozala > git clone https://github.com/Gozala/addon-sdk.git
Cloning into addon-sdk...
remote: Counting objects: 32835, done.
remote: Compressing objects: 100% (12663/12663), done.
remote: Total 32835 (delta 20629), reused 31242 (delta 19259)
Receiving objects: 100% (32835/32835), 11.64 MiB | 238 KiB/s, done.
Resolving deltas: 100% (20629/20629), done.
(addon-sdk)~/mozilla/gozala > cd addon-sdk/
(addon-sdk)~/mozilla/gozala/addon-sdk(master) > git checkout bug/layout-change@787346
Branch bug/layout-change@787346 set up to track remote branch bug/layout-change@787346 from origin.
var data = require("sdk/self").data;
require("tabs").open({
url: data.url("page.html"),
onReady: function(tab) {
worker = tab.attach({
contentScriptFile: data.url("script.js")
});
initializeWorker(worker);
}
/****data/page.html*******/
<html>
<head></head>
<body>
<input id="fileBrowser" type="file"/>
</body>
</html>
/******data/script.js*******/
error: Timestamp: 13-03-27 11:49:57 AM
Error: courseratrops: An exception occurred.
Error: The page is currently hidden and can no longer be used until it is visible again.
resource://anonid0-marcio-at-jetpack/addon-sdk/lib/sdk/content/worker.js 397
Traceback (most recent call last):
File "resource://anonid0-marcio-at-jetpack/addon-sdk/lib/sdk/timers.js", line 31, in notify
callback.apply(null, args);
File "resource://anonid0-marcio-at-jetpack/addon-sdk/lib/sdk/content/worker.js", line 111, in onContentEvent/<
self._emit.apply(self, JSON.parse(args));
File "resource://anonid0-marcio-at-jetpack/addon-sdk/lib/sdk/deprecated/events.js", line 123, in _emit