Firefox multi-processus

Cet article nécessite une relecture technique. Voici comment vous pouvez aider.

Cet article nécessite une relecture rédactionnelle. Voici comment vous pouvez aider.

Cette traduction est incomplète. Aidez à traduire cet article depuis l'anglais.

Dans les versions actuelles de Firefox pour bureau, le navigateur ne s'exécute que dans un seul processus du système d'exploitation. En particulier, le JavaScript exécutant le navigateur UI (également connu sous le nom "code chrome") s'exécute dans le même processus que celui présent dans les pages Web (appelé aussi "contenu" ou "contenu Web").

Les versions futures de Firefox vont exécuter le navigateur UI dans un processus différent de celui des pages Web. Dans la première itération de cette architecture, tous les onglets tourneront dans le même processus et le navigateur UI dans un processus différent. Dans les itérations suivantes, nous espérons avoir plus d'un processus pour le contenu. Le projet qui consiste à apporter le multi-processus dans Firefox est appelé Electrolysis, qui correspond à l'abréviation e10s.

Les pages web classiques ne sont pas affectées par l'apparition du multi-processus dans Firefox. Les développeurs travaillant sur Firefox lui-même ou les extensions du navigateur seront affectés si leur code repose sur la possibilité d'accéder directement à du contenu Web.

Au lieu d'accéder au contenu directement, le JavaScript présent dans le code chrome devra utiliser le gestionnaire de messages pour accéder au contenu. Pour faciliter la transition, nous avons mis en place des objets (les Cross Process Object Wrappers) et vous pouvez vous référer à cette page pour découvrir les limitations des scripts chrome. Si vous développez des extensions, vous pouvez lire le guide pour travailler avec Firefox multi-processus.

Electrolysis est activé par défaut dans les versions  Nightly.


Présentation technique
Une vision très haut niveau de comment le multi-processus pour Firefox est implémenté.
Glossaire
La définition du jargon utilisé dans le projet Electrolysis.
Gestionnaire de messages
Guide complet sur les objets utilisés pour communiquer entre le code chrome et le contenu.
Extensions basées sur le SDK
Comment migrer vos extensions en utilisant le SDK d'extensions.
Motivation
Pourquoi nous implémentons le multi-processus dans Firefox : performance, sécurité et stabilité.
Guide de migration des extensions
Si vous êtes un développeur d'extensions, apprenez si votre extension est affectée et comment mettre à jour votre code.
Objets CPOW
Les objets appelés Cross Process Object Wrappers sont une aide à la migration, permettant au code chrome d'accéder de manière synchrone au contenu.
Deboggage des processus du contenu
Comment debugger du code fonctionnant dans le processus contenu.

Limitations des scripts chrome
Les pratiques ne fonctionnant plus dans le code chrome et comment y remédier.
Limitations des scripts avec privilèges
Les pratiques ne fonctionnant plus dans le code des scripts de cadre et comment y remédier.

Contactez-nous

Pour plus d'informations sur le projet, vous impliquer ou poser des questions :

Étiquettes et contributeurs liés au document

 Contributeurs à cette page : AmarOk1412
 Dernière mise à jour par : AmarOk1412,