Add-on Compatibility Updates, Firefox 20 and above

This post is just a mixed bag of add-on compatibility issues that developers should be aware of, most of which will be included in future compatibility updates in this blog, but are worth giving a heads up in advance.

Asynchronous Places [21]

A large number of Places APIs will be removed in Firefox 21, as Places continues to become fully asynchronous. The list of API changes and discussion is happening on this dev.extensions thread.

Per-window Private Browsing Mode [20]

Much has changed in the past couple of releases in preparation for per-window private browsing mode. In Firefox 20, most of what was left has been taken out, including nsIPrivateBrowsingService and some observer notifications.

Lazy Tab Restoration [20]

Firefox already implements this feature where old tabs are only loaded on demand after a Firefox restart. To further optimize this feature and save more memory,  the browser elements in these tabs will be set to display: none. This means that many assumptions about accessing such tabs are now broken, like the existence of a docShell, browser.contentWindow, etc. If your add-on looks into content of existing tabs, you should make sure it works with tabs that haven’t been loaded yet. This will ship in Firefox 20, currently on beta.

Java Click-to-Play

The continuous click-to-play blocks that we have been doing for Java may be breaking some add-ons that rely on Java code. We strongly recommend that you move away from Java and implement your add-on code either using JavaScript or external libraries and JS-ctypes. If you still rely on Java for your add-ons and have run into problems with click-to-play, this bug might help.

5 comments on “Add-on Compatibility Updates, Firefox 20 and above”

  1. Mook wrote on

    Hmm, if I’m interested in per-window-PB, where should I look for the docs? The linked bug doesn’t say anything, the pbngen bug links to the implementation wiki (i.e. it shows the plan before work was underway), and nsIDocShell didn’t actually say much about private anything. (I’m hoping to essentially set up an XHR with a separate cookie jar.) Basically: I’m going to guess leads to how to transition to the new world will be useful!

    Paging Ehsan, I guess? 😀

    1. wbamberg wrote on

      It looks as if there is useful information in Updating addons broken by private browsing and Supporting per-window private browsing.

      1. Jorge Villalobos wrote on

        Whoops, yeah, I was supposed to add those links also. And, for excruciating detail, you can look at this bug and its dependencies.

  2. Fun With Puzzles wrote on

    I have developed some of Firefox add-on as below

    I am now trying to update these add-on but I am not able to test it because of Add-on builder helper is not installing properly. Can you please let me know where I can get help to test my add-ons?

    1. Jorge Villalobos wrote on

      For help with the builder and the SDK, I recommend that you post on this group or the SDK section of the forum.