Add-on Compatibility for Firefox 16

Firefox 16 will be released next week. Here’s the list of changes that went into Firefox 16 that can affect add-on compatibility. There is more information available in Firefox 16 for Developers, so you should read that too.

General

  • Mass CSS unprefixing. A very large number of CSS properties are no longer prefixed, so some of your CSS may break. When using prefixed CSS, make sure you also use the unprefixed form for forward compatibility. There’s more information in the MDN article and this post.
  • Remove support for “java” DOM object. If you use Java in your extension, you’ll probably need to change the approach you use to get to the global java object. You should also consider moving away from Java if possible, given that Java is not well supported for add-ons, and your extension can suffer because of Java plugin blocklisting. The linked bug has information about workarounds.
  • Unprefix IndexedDB. Another unprefixing that can affect some add-ons.
  • Certificate of a signed extension is validated on each startup. The certificate in signed add-ons is now only checked on install time. We don’t expect it to have any negative effects, but you should tests carefully anyway if your add-on is signed.
  • Refactor init/shutdown functions in browser.js. This affects add-ons that patch functions like BrowserStartup or delayedStartup in browser.js.

XPCOM

New!

  • Firefox Command Line. While this is more useful for web developers, I’m sure there are creative ways to use this tool for add-on development, specially considering it was designed to be extensible. There’s no documentation for this yet, but you can start here. Also, theme developers should be aware of this new UI. You can find the styles in gcli.css.
  • OS.File. This library makes file system access much easier, and it is exposed to chrome workers, which was a major limitation about worker usage in general. There’s more information about the motivation behind this library in this blog post.
  • Create a shared Identity.jsm module. Persona (formerly known as BrowserID) had its Beta launch recently, and now Firefox includes a module that exposes this functionality. Give it a look and create awesome things 🙂

Please let me know in the comments if there’s anything missing or incorrect on these lists. If your add-on breaks on Firefox 16, I’d like to know.

The automatic compatibility validation and upgrade for add-ons on AMO will happen very soon, so check your email.

12 comments on “Add-on Compatibility for Firefox 16”

  1. Kohei Yoshino wrote on

    Japanese translation is here:
    https://dev.mozilla.jp/2012/10/firefox-16-addon-compatibility/

    1. Jorge Villalobos wrote on

      ^^

  2. Ben wrote on

    I completely switched from Chrome to Firefox at 15beta. Happy so far no bother to test 16 but will be willing to see its stable release!

  3. FF crash wrote on

    Firefox is still a unstable mess with any page with flash. Even updating to FF16 and updating flash today did not fix this issue. Been a FF user since 0.93 and sad to say, I’m heading to chrome. I cant trust my web browser not to crash on 1 page and bring the entire application and all tabs/windows with it. This also happened briefly with FF14 as well.

    Several of my co-workers are doing the same… what in the world is going on in Mozilla Land? The entire internet is littered with Firefox crashing with flash.

    For fun, here’s a discussion over at adobe http://forums.adobe.com/message/4662991
    Tons of links on Mozilla http://support.mozilla.org/en-US/questions?sort=requested&tagged=crash

    Going to chrome so the internet can work. Going to miss FF. Maybe one day I’ll try them again when they get a mainline 64bit windows client out the door.

  4. Aris wrote on

    CSS unprefixing and compatibility reporter warnings

    I don’t think its a good idea to show bunch of warnings (yet) for uploaded themes/add-ons, because

    1. Fx16-19.0a1 can still handle prefixed css like `-moz-linear-gradient`, `-moz-radial-gradient` etc.
    2. no version of Fx (16-19.0a1) has already switched to unprefixed css.

    After rechecking my uploaded theme the first time yesterday, the compatibility reporter showed server errors. The second check gave me over 1000 warnings like `-moz-linear-gradient` is no longer prefixed in Gecko 16….

    Which Fx version won’t support prefixed css anymore: 20, 21, 22…?

    1. patrickjdempsey wrote on

      Maybe you aren’t understanding what’s being said.

      – The creation of new prefixed CSS commands and the gradual Unprefixing of them is a constant process.

      – Current Firefox versions already support unprefixed versions of many CSS commands.

      – The warnings only occur when Firefox stops supporting the prefixed versions of commands and there is usually a pretty big overlap between the support of unprexed versions and end of support for prefixed ones.

      – Mozilla isn’t Apple. They aren’t so presumptuous to conclude that their version of a command should be THE official version before the spec is even finished.

      1. Aris wrote on

        Actually I was reffering to the warnings shown inside addon validator:
        “Warning: Several CSS properties have been unprefixed in Firefox 16 and no longer work in their prefixed form.”
        Its a bit confusing since prefixed CSS code (-moz-transition, -moz-linear-gradient etc.) covered by this warning still works fine up to Fx 19 nightlys. A more specific number from which version on the prefixed code really stops working would make more sense imo, like “Warning: Several CSS properties have been unprefixed and stop working in their prefixed form from Firefox 21 on.”

  5. James Edwards wrote on

    You have to take the addon validator with a huge pinch of salt.

    For example, last time I got a warning that one of the classes I was using has been updated to “nsWhatever2” and I should use the new version. It showed the line of code in question … which was already using the new version!

    1. Jorge Villalobos wrote on

      Yes, some of the checks are very simple regular expression tests that can yield false positives.

  6. bryan merrick wrote on

    Automatically i was on FF-15 and within a about a month later FF-16 was already loaded in my laptop ,but it’s all over the shop and stopping and freezing like mad,any chance i can hit the FF-15 exe i still have and go back one to the new 16 + 17 are all working fine as i use windows-7 32 – bit . What the real pain is it’s conflicting with my Windows protection ” defender ” and it’s getting worse more + more everyday or just uninstall and just go for a basic Bing page or something less hassle altogether.

  7. DatNT wrote on

    I’m using firefox 16, and sdk1.11, firefox16 hang when Addon open panel which have youtube embed video.

    1. DatNT wrote on

      Here is the issue on stackoverflow page:

      http://stackoverflow.com/questions/11082484/flashvideo-in-firefox-addon-panel-only-plays-sound/11898202#11898202