Is multiprocessCompatible tag necessary for Firefox Multiprocess Compatibility?

248 Views Asked by At

I have a toolbar button add-on on AMO. As of now, it works for normal and e10s Firefox versions. But AMO validator asks add-ons to add em:multiprocessCompatible tag.

<em:multiprocessCompatible>true</em:multiprocessCompatible>

If I do not update my AMO add-on and not add em:multiprocessCompatible tag in install.rdf, does it mean Firefox 50 will disable my add-on?

1

There are 1 best solutions below

5
On

No, your add-on will not be disabled by Firefox 50, nor any planned future release of Firefox, just because your add-on is not marked as compatible.

However, if you have tested in multiprocess, then it is a good idea to mark it as compatible, even if that means you have to roll the revision number and submit a new version. For a while now, part of my process for releasing a new version of any of my add-ons has been to test in multiprocess and include the comparability tag with the release. I figured it does not take that much time to test and add the tag one way or the other. Doing so should result in a better user experience.

The current schedule and what each version will do is: here with respect to add-ons and here with respect to Firefox releases.

Firefox 50:

  • Firefox will disable multiprocess capability if all extensions are not either WebExtensions and/or explicitly marked as multiprocess capable.1, 2

Firefox 51, and later:

  • Firefox will disable multiprocess capability if there is an extension installed that is explicitly marked as not compatible with multiprocess. 1, 2
  1. Before each stage moves from beta to release, there are release criteria (crashes, jank etc) that need to be met. We will delay moving to Release if issues are identified in Beta.

  2. Initially Shims will be available that will help certain add-ons with compatibility. These are a temporary measure due to potential limitations that could impact user experience.

Add-on compatibility with multiprocess Firefox

While an extension may function with the shims, it is not mutliprocessCompatible if the shims are required. It may function with multiprocess enabled, but it is not strictly mutliprocess compatible. Marking it as mutliprocessCompatible should be done to test that it is fully compatible with multiprocess. Setting <em:multiprocessCompatible>true</em:multiprocessCompatible> will disable all the shims, allowing you to test that your add-on is fully compatible with multiprocess Firefox. Testing without that set will just tell you if your add-on will continue to function with the shims when/if the user is running in a multiplrocess enabled Firefox. Your add-on is only "compatible with multiprocess Firefox" if it operates correctly without the shims.