Extensions in Firefox 72

After the holiday break we are back with a slightly belated update on extensions in Firefox 72. Firefox releases are changing to a four week cycle, so you may notice these posts getting a bit shorter. Nevertheless, I am excited about the changes that have made it into Firefox 72.

Welcome to the (network) party

Firefox determines if a network request is considered third party and will now expose this information in the webRequest listeners, as well as the proxy onRequest listener. You will see a new thirdParty property. This information can be used by content blockers as an additional factor to determine if a request needs to be blocked.

Doubling down on security

On the road to Manifest v3, we also recently announced the possibility to test our new content security policy for content scripts. The linked blog post will fill you in on all the information you need to determine if this change will affect you.

More click metadata for browser- and pageActions

If your add-on has a browserAction or pageAction button, you can now provide additional ways for users to interact with them. We’ve added metadata information to the onClicked listener, specifically the keyboard modifier that was active and a way to differentiate between a left click or a middle click. When making use of these features in your add-on, keep in mind that not all users are accustomed to using keyboard modifiers or different mouse buttons when clicking on icons. You may need to guide your users through the new feature, or consider it a power-user feature.

Changing storage.local using the developer tools

In Firefox 70 we reported that the storage inspector will be able to show keys from browser.storage.local. Initially the data was read-only, but since Firefox 72 we also have limited write support. We hope this will allow you to better debug your add-ons.

Miscellaneous

  • The captivePortal API now provides access to the canonicalURL property. This URL is requested to detect the captive portal state and defaults to http://detectportal.firefox.com/success.txt
  • The browserSettings API now supports the onChange listener, allowing you to react accordingly if browser features have changed.
  • Extension files with the .mjs extension, commonly used with ES6 modules, will now correctly load. You may come across this when using script tags, for example.

A shout out goes to contributors Mélanie Chauvel, Trishul Goel, Myeongjun Go, Graham McKnight and Tom Schuster for fixing bugs in this version of Firefox. Also we’ve received a patch from James Jahns from the MSU Capstone project. I would also like to thank the numerous staff members from different corners of Mozilla who have helped to make extensions in Firefox 72 a success. Kudos to all of you!

6 responses

  1. Anton Bershanskiy wrote on :

    > Initially the data was read-only, but since Firefox 72 we also have limited write support.

    “limited write support” is probably supposed to be “implemented write support”.

  2. FF User wrote on :

    Hi,

    Please could you provide me more informations about this “Firefox determines if a network request is considered third party…”.
    My question is if I load page on domain1.com and if that page have iframe to domain2.com/somescript, will this iframe will be blocked somehow?
    I ask this question because of this part “This information can be used by content blockers as an additional factor to determine if a request needs to be blocked”.

    Regards.

  3. John B wrote on :

    “limited write support” is probably supposed to mean just that. You can’t write everywhere, so it’s limited.

  4. Dechoal Marie Quiroz-Montano wrote on :

    @legal-notices@mozilla.com

    May I get an add-on through my tools bar in menu options please?There are options from another website I am linking Fire Fox with and these are the instructions.

    1.On the Tools menu, select Options; click the Content icon
    2.Check the “Block pop-up windows” box, then the Exceptions button

  5. Vance Balacek wrote on :

    How do I set up my extensions so that they show up on the desktop? Such as Lastpass?

    1. Caitlin Neiman wrote on :

      Hi Vance, you’ll need to check with the developers of your favorite extensions to see if they have a desktop application version available. 🙂 It looks like you can download Lastpass for Desktop from their website: https://lastpass.com/