Si Firefox est parvenu à faire partie des navigateurs les plus populaires, c'est notamment grâce à ses nombreuses extensions qui permettent de personnaliser sa navigation sur le web. En un peu plus de 10 ans, 4 milliards d'extensions ont été téléchargées.
Environ 18 000 add-ons (à ne pas confondre avec les plug-ins, comme Flash ou Silverlight) sont disponibles aujourd'hui, et le plus populaire d'entre eux, Adblock Plus, a près de 20 millions d'utilisateurs. On trouve loin derrière Video DownloadHelper avec 5 millions d'utilisateurs et NoScript avec 2 millions.
Dans les mois à venir, un changement important dans Firefox risque de poser des problèmes de compatibilité avec certaines extensions.
Avec le projet Electrolysis, abrégé e10s, Mozilla va rendre son navigateur multiprocessus. Actuellement, le JavaScript qui fait tourner l'interface de Firefox est géré dans le même processus que le code des pages web. Comme le montre la vidéo ci-dessous, si on lance une opération JavaScript très lourde, le navigateur se bloque et un message d'alerte apparaît.
e10s va permettre de séparer ces processus. Dans un premier temps, il est prévu que tous les onglets tournent dans le même processus et que l'interface tourne dans un second processus. Ensuite, Mozilla prévoit de faire du multiprocessus pour chaque onglet, comme le font déjà Chrome ou Safari depuis un moment : si un onglet plante, il ne perturbera pas les autres. Le gain en performances et en stabilité est évident.
Ce changement d'architecture concerne aussi les extensions. Elles tourneront dans un processus différent de celui du contenu, et n'auront plus d'accès direct à celui-ci. Dans certains cas détaillés sur cette page, cette modification va entraîner des incompatibilités.
Les développeurs ont bien sûr les moyens de mettre à jour leur add-on, mais il y en aura immanquablement qui ne seront pas adaptés. Un site recense l'état de fonctionnement des extensions avec Electrolysis. De nombreuses (1Password, Adblock Plus, All In One Sidebard, Ghostery...) souffrent de bugs à l'heure actuelle, mais rappelons qu'e10s est toujours en cours de développement et que les éditeurs ont donc encore du temps pour se mettre à jour.
e10s peut être testé avec la version Nightly de Firefox.