Add-on Compatibility for Firefox 18

Jorge Villalobos

22

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

General

Private Browsing

Private Browsing Mode is changing to support private and non-private windows opened at the same time. This means that many XPCOM interfaces and other functions are changing to support it. The changes are mostly new parameters that tell the function which context it is being called from, so that it can work accordingly.

There’s more information about the new private browsing in these docs: Supporting PBM, and Updating add-ons broken by PB changes.

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 18, I’d like to know.

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

22 responses

  1. Josh Matthews wrote on ::

    The “Supporting PBM” link is incorrect and should be https://developer.mozilla.org/en-US/docs/Supporting_per-window_private_browsing instead. It’s currently pointing at the docs for the old mode.

  2. Boris wrote on :

    “Move various onfoo event listeners off of DOM objects.” should instead say “No longer allow objects with a handleEvent property as values for onfoo attributes on XMLHttpRequest, WebSocket, EventSource, and FileReader objects.”

  3. Ken wrote on :

    I cannot use Skype with Firefox 17. What do I do?

    1. Dave wrote on :

      Hi Ken, I too, am having difficulty using the two programs (compatibility). I am a CHARTER member of Skype since it’s inception and have used Firefox for a number of years. I have a purchased a land line number. I am just trying to find the right “combination” of matching versions of both programs. I hope someone out here is listening.

  4. Boohbah wrote on :

    Hi, anonymox has stopped working in FF18, it worked for a few minutes then gave disabled messages.

    Unfortunately anonymoX does not work for you

    The self-test of anonymoX failed, which may have several causes:

    * In your network, access to the selected anonymoX service is blocked or censored
    * Another proxy on your network intercepts the connection to anonymoX
    * Your network requires already another proxy to get to the Internet
    * An error of anonymoX. Have you seen an error message or do you think that it is not caused by your network?

    It may also be just a temporary problem. Please try again later.

    Most probably we there’s no way to change this, but you can still contact us so that we may be able to fix or work around it.

    Contact us

    hopefully this is temporary as i use it daily

    1. MM wrote on :

      Same problem with my anonymox.. it doesn’t work even if I loaded older version of Firefox (11 beta 4). I tried also 17.01 and 19! Allways “Disabled”..
      If I try to fix it, it gives immediately this window, and when I open Firefox.
      http://www.anonymox.net/en/self-check-failed

      Is there something I can do or only waiting that it will be okay by itself?

      By the way, is there finnish language support anywhere?

      1. Jorge Villalobos wrote on ::

        Please try contacting the developers of the Anonymox extension. They will be able to tell you when they plan to fix it, if there’s anything they need to fix.

  5. Fixed Point wrote on :

    Was there a change to how web workers behave or perhaps how they work with data urls? My add on broke with the following previously working code:

    var data = require(“self”).data;
    // …
    var webWorker = new Worker(data.url(“worker.js”));
    webWorker.addEventListener(“message”, function (e) { /* … */ });

    // TypeError: webWorker.addEventListener is not a function

    1. Jorge Villalobos wrote on ::

      Is this happening on 18 or some other version? Have you updated recently?

      1. Fixed Point wrote on :

        It is happening on 18.

        I verified it worked on 16 then immediately after updating to 18 it didn’t work.

        So it seems that something in either 17 or 18 is causing problems.

      2. Fixed Point wrote on :

        I did some more digging this morning and I forgot to include some rather important points that I think are at the root of this:

        var data = require(“self”).data;

        var {Cu} = require(“chrome”); // <—
        var {Worker} = Cu.import(data.url("import.jsm")); // <—
        Cu.unload(data.url("import.jsm")); // <—

        var webWorker = new Worker(data.url(“worker.js”));
        webWorker.addEventListener(“message”, function (e) { /* … */ });

        Where import.jsm is:

        var EXPORTED_SYMBOLS=["Worker"];

        Also of note:

        Using web worker with the same worker.js file works fine outside of the extension. Both worker.js and import.jsm data resources are in fact there.

        I'll keep digging and post back if I find anything else.

        1. Jorge Villalobos wrote on ::

          This sounds very similar to this bug, except it’s happening for Workers instead of WebSockets. Can you please test on Firefox 17 and let me know if it works?

          1. Fixed Point wrote on :

            Test on Firefox 17…it works fine.

            So the issue arose in Firefox 18 apparently.

        2. Fixed Point wrote on :

          It turns out that the line which unloads “import.jsm” does something different now than it used to. Removing that line allows the extension to work although it does bring up two questions:

          1. Why does unloading “import.jsm” not work anymore?
          2. Does it matter if I omit the line?

          For (2), it was originally suggested on Stackoverflow to import and then unload the module.

          http://stackoverflow.com/a/9224122/967974

          I found this documentation on unload which seems to suggest that perhaps the only problem is if the definition of Worker changes during a restartless add-on’s install:

          https://developer.mozilla.org/en-US/docs/Components.utils.unload

          Comments or ideas?

          1. Jorge Villalobos wrote on ::

            (2) seems unnecessary in that context. It’s actually unnecessary in general to unload JSMs.

            It’d be interesting to see if there’s an error in the console related to this, but my best guess is that it is failing because you’re holding a reference to something from the module and something breaks when you try to unload it.

  6. MM wrote on :

    Today it’s working again normally! Some problem with youtube.com -profile, which I deleted. Shortly after this it started to find working proxies again.. Still, I don’t know if it’s working with version 18 or 19??

  7. Jaluki wrote on :

    I heavily rely on Awesome Screenshot 2.3.8. Now with FF17 and FF18 it cannot save the grab locally. Under FF17 I could still save temporarily to their cloud and then grab from that URL. With FF18 even that is broken – uploads forever and goes noplace.

    As a backup I have Abduction 3.0.17 but that complains it has not enough memory to save the grab.

    Something changed and I need it fixed please. Thank you.

  8. Keith wrote on :

    Below is a question and answer that I “copy and pasted” from http://blog.mozilla.org/addons/2012/05/11/compatibility-for-firefox-13/.
    I am having the exact same problem. I noticed in your response to this question you stated that it is up to the vendor, (HP), to keep their software up to date with the latest versions of the software they interact with.
    The HP SimplePass software that I am using works fine with the newest versions of other browsers like Internet Explorer. If they can make this work with their software, why is Firefox dropping the ball?
    I have always preferred Firefox until this issue. Now when I use it, I am constantly warned that my browser is “out of date” and “at risk” because I am forced to use version 3.6 in order to continue using my password protection software that was one of the deciding factors when choosing to purchase my HP laptop.
    Will I ever see a fix from Firefox for this or will I have to become accustom to using Internet Explorer?

    Patricia

    I am not sure if this is the right place to ask this but I have an HP Pavilion dv7 Notebook and it uses Digital Persona Finger Print Reader or it is also called HP SimplePass Identity Protection. All the new updates from Firefox past the 3.6 version won’t let me use the fingerprint to log on to web sites. It is my password protection. Do you know if you will develop an add-on to help me? Thank you.

    May 22nd, 2012 · Reply

    1.
    Jorge Villalobos Author

    Hello Patricia,

    I looked around and this is what I found: it looks like DigitalPersona is no longer working on this, and they won’t update their software for Firefox 4 or later versions. However, a compatible version was released by a different company called Egistec. See details here. I don’t know if they support only Firefox 4 or if they support all current versions, but moving up to 4 is at least a step in the right direction.

    I haven’t tested this software, so I don’t know if it will work in the same way. In the end it is up to the vendor (HP, I guess?) to keep their software up to date with the latest versions of the software they interact with. If they decide not to continue supporting their product, there’s very little we can do about it.

    May 22nd, 2012 · Reply

  9. Glen wrote on :

    Good Morning, I updated to Firefox 18 and now I cannot seem to get Foxtabs to work, any ideas as to why?

    1. Jorge Villalobos wrote on ::

      A number of users have reported problems with FoxTab, so there’s probably something the developer needs to fix for the add-on to be fully compatible and work again.

  10. Nani Games wrote on ::

    great but now 19 is coming out

  11. bikerdon wrote on :

    WHY are all the technogeeks trying to fix something that worked just fine ??? HOW ABOUT A BUTTON for those that dont know how to protect themselves “”PROTECT ME”” LEAVE THE REST OF US ALONE,,, have tried allllll the ” do not update” settings includeing in the config files ,,, but it seems you all think you have to update us anyway… THEN HAVE to go back and reset everything the way “I” want it… also several add on programs now do not work (from 17 to 18)…if I wish to continue using an older version IT SHOULD BE MY DECISION !!!! WHY DO U THINK YOU NEED TO PLAY DADDY ???? I DONT NEED OR WANT ALL THE “”BLACKLIST”” or “”WHITELIST”” cr@p… have all that turned off (for 5 or more years) and have never had any kind of virus or malware !!!
    have been using computers since BEFORE the internet,,(probably before you were born) so i dont NEED for you to keep changing what “YOU think” i want or need (and i surf the world) i do appreciate some of the improvements you make,,, but how about letting US decide what we want to implement ????
    not all of us are spacebook, facebook,, or social networking FREEKS and dont wish to be !!!!
    AND NOW ALL THE “DEVELOPERS” WANT TO PUT EVERYTHING IN THE “CLOUDS” IF IT AINT ON MY PC WHERE I CAN CONTROL WHAT IT IS DOING “” I DONT WANT IT”” ON MY PC
    THANKS FOR LETTING ME POST MY RANT ,,, but things really are getting out of hand !!!