Add-on Compatibility for Firefox 25

Jorge Villalobos

19

Firefox 25 will be released on October 29th. Here’s the list of changes that went into this version that can affect add-on compatibility. There is more information available in Firefox 25 for Developers, so you should read that too.

General

DOM

XPCOM

New!

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

The automatic compatibility validation and upgrade for add-ons on AMO will happen in the coming weeks (the Mozilla Summit will probably delay this), so keep an eye on your email if you have an add-on listed on our site with its compatibility set to Firefox 24.

19 responses

  1. Kohei Yoshino wrote on :

    Japanese translation: https://dev.mozilla.jp/2013/10/firefox-25-addon-compatibility/

  2. LouCypher wrote on :

    And ‘statusbar-display’ changes?

    1. Jorge Villalobos wrote on ::

      What are you referring to?

      1. LouCypher wrote on :

        Tooltip-like element where the URL is shown when you hover on a a link or places item.

        On Firefox prior to version 25, you use `document.getElementById(‘statusbar-display’).label = ‘foo’` to display a string.

        On version 25+, the above snippet is not working anymore and is replaced by `gBrowser.getStatusPanel().label = ‘foo’`

        1. Jorge Villalobos wrote on ::

          That’s bug 821687, and I wasn’t aware of it. I’ll update the article to include it.

          Thanks!

          1. LouCypher wrote on :

            After reading the patch on bug 821687, we can actually use XULBrowserWindow’s method `setOverLink(‘foo’)` that works on all versions including old Gecko :-/

  3. Luke wrote on :

    What about changes to the DevTools? This code for example, needs changing in 25, though I’m not completely certain why – new API change? http://stackoverflow.com/questions/19205953

    1. Jorge Villalobos wrote on ::

      We haven’t been tracking those changes so closely, since they are fairly new and few add-ons depend on them. It look like you already got a couple of useful responses.

      Thanks for bringing it up, though.

  4. Nicholas Maddix wrote on :

    Compiling my add-in is definitely broken in FF 25. I get errors like the following, which I can’t make sense of. Any help would be greatly appreciated!

    … xpcom-25.0\gecko-sdk\include\mozilla/Atomics.h(714): error C2059: syntax error : ‘sizeof’
    … xpcom-25.0\gecko-sdk\include\mozilla/Atomics.h(717) : see reference to class template instantiation ‘mozilla::detail::IntrinsicBase’ being compiled
    … xpcom-25.0\gecko-sdk\include\mozilla/Atomics.h(715): error C2059: syntax error : ‘)’
    … xpcom-25.0\gecko-sdk\include\mozilla/Atomics.h(715): error C2143: syntax error : missing ‘)’ before ‘;’
    … xpcom-25.0\gecko-sdk\include\mozilla/Atomics.h(715): error C4430: missing type specifier – int assumed. Note: C++ does not support default-int
    … xpcom-25.0\gecko-sdk\include\mozilla/Atomics.h(715): warning C4183: ‘static_assert’: missing return type; assumed to be a member function returning ‘int’

    1. Jorge Villalobos wrote on ::

      Please post this question in the dev.extensions newsgroup. That’s the best place to get answers about problems with binaries.

      1. Nicholas Maddix wrote on :

        Good tip, thanks!

      2. Nicholas Maddix wrote on :

        FYI, got some help on the newsgroup. Turns out it was the compiler. Thanks for the tip! Here’s the thread:

        https://groups.google.com/forum/#!topic/mozilla.dev.extensions/SeFVgEZdvPU

  5. RandomEngy wrote on :

    My extension broke in Firefox 25, but only for some people. Any ideas? http://stackoverflow.com/questions/19729961/string-bundles-work-differently-in-firefox-25

    1. Jorge Villalobos wrote on ::

      It could be an extension conflict, like suggested in the SO thread. My guess is that the stringbundle DOM object you get back from getElementById is the wrong type of node, which is why getString fails. Maybe checking getElementById(“your id”).stringBundle in the console will give you some hints…

  6. Brian wrote on :

    I was using the following code in my userChrome.css file:

    #statusbar-display {display:none!important;}

    I was using this code to get rid of the annoying URL address pop-ups at the bottom of my browser window whenever I hovered over a web page link.

    It worked great, until I updated to Firefox 25.0. Can someone show me a simple and similar way (like what I was doing before the update) of making those pop-ups disappear again? Thanks.

  7. Mark Smith wrote on ::

    I just learned that one of the add-ons we maintain is broken by https://bugzilla.mozilla.org/show_bug.cgi?id=893117 Maybe I missed it, but I did not see that documented anywhere (maybe because the bug has not been closed yet). Code such as the following now throws:

    if (elem instanceof Components.interfaces.nsIDOMHTMLParamElement)

    (because nsIDOMHTMLParamElement has been completely removed). Fun.

    1. Jorge Villalobos wrote on ::

      Yes, we weren’t aware of these changes because we track compatibility bugs by milestone, and they need to be resolved for us to look at them. I just commented on the bug to figure out what went wrong so it doesn’t happen again.

      Thank you for bringing it up!

  8. Fred Rogers wrote on :

    Sometime around Firefox 25 (linux) – the URLs that used to appear in high contrast (black on grey) on the Add-on bar have now been modified to render in nearly-invisible, extreme low-contrast (grey on black) just above the add-on bar.

    How to I get the regular behavior back? My spouse has enough trouble figuring out phishing e-mails without making it even harder for her to see where a link *actually* goes.

    The old way was superiod, from a usability perspective. Not sure why it was changed.

    1. Jorge Villalobos wrote on ::

      The default appearance of that popup should be black text over light grey background. If that’s not what you see, then it’s possible that you installed a theme that is changing the way it looks. If that is what you see and it is still very low contrast, then I would recommend looking in the add-ons site for extensions or themes that change this.