Add-on Compatibility for Firefox 25

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.

Tags: , , ,

Categories: compatibility, developers, documentation

19 responses {+}

  1. Kohei Yoshino

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

      ·   Reply

  2. LouCypher

    And ‘statusbar-display’ changes?

      ·   Reply

    1. Jorge Villalobos Author

      What are you referring to?

        ·   Reply

      1. LouCypher

        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’`

          ·   Reply

        1. Jorge Villalobos Author

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

          Thanks!

            ·   Reply

          1. LouCypher

            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

    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

      ·   Reply

    1. Jorge Villalobos Author

      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.

        ·   Reply

  4. Nicholas Maddix

    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’

      ·   Reply

    1. Jorge Villalobos Author

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

        ·   Reply

      1. Nicholas Maddix

        Good tip, thanks!

          ·   Reply

      2. Nicholas Maddix

        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

          ·   Reply

  5. RandomEngy

    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

      ·   Reply

    1. Jorge Villalobos Author

      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…

        ·   Reply

  6. Brian

    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.

      ·   Reply

  7. Mark Smith

    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.

      ·   Reply

    1. Jorge Villalobos Author

      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!

        ·   Reply

  8. Fred Rogers

    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.

      ·   Reply

    1. Jorge Villalobos Author

      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.

        ·   Reply

Post Your Comment