現バージョンのデスクトップ版 Firefox は、オペレーティングシステムにおけるプロセス 1 つでブラウザ全体を実行しています。特に、ブラウザ UI (別名 "chrome code") の JavaScript を実行するプロセスと Web ページ (別名 "content" または "web content") のコードを実行するプロセスが同じです。

将来のバージョンの Firefox は、ブラウザ UI のプロセスと web content のプロセスを分離します。このアーキテクチャの第 1 段階では、すべてのブラウザタブを同一のプロセスで実行して、ブラウザ UI を別のプロセスで実行する予定です。また将来の段階で、複数の content プロセスを持つようにする予定です。マルチプロセス Firefox を提供するプロジェクトは Electrolysis と呼ばれ、e10s と略されることがあります。

一般的な Web ページは、マルチプロセス Firefox の影響を受けません。Firefox そのものや Firefox アドオンの開発に携わる人々は、web content に直接アクセスできる機能に依存するコードを使用している場合に影響を受けます。

content へ直接アクセスせずに、chrome JavaScript では メッセージマネージャ を使用して content にアクセスしなければなりません。容易に移行できるようにするため、クロスプロセスオブジェクトラッパーアドオン開発者向けの互換性 shim を実装しました。あなたがアドオン開発者で影響を受けるかがわからない場合は、マルチプロセス Firefox を扱うためのガイドをご覧ください。

現在マルチプロセス Firefox は Firefox Developer Edition で、既定で有効です。


技術概要
マルチプロセス Firefox がどのように実装されているかを、高レベルから概観します。
用語
マルチプロセス Firefox で使用する用語のリファレンスです。
メッセージマネージャ
chrome と content の間の通信に使用するオブジェクトのガイドです。
SDK ベースのアドオン
Add-on SDK を使用して開発したアドオンのマイグレーション方法です。
URI ごとの読み込み先
どの URI (chrome:、about:、file:、resource:) がどのプロセスに読み込まれるかのクイックガイドです。
マルチプロセス化を行う理由
なぜマルチプロセス Firefox を実装するか? その答えはパフォーマンス、セキュリティ、安定性です。
アドオンのマイグレーションガイド
あなたがアドオン開発者でしたら、アドオンが影響を受けるかを突き止めてコードの更新方法を確認してください。
クロスプロセスオブジェクトラッパー
クロスプロセスオブジェクトラッパーは、chrome code が同期的に content にアクセスする機能を提供する、マイグレーション支援措置です。
content プロセスのデバッグ
frame やプロセスのスクリプトを含む、content プロセスで実行しているコードをデバッグする方法です。
マルチプロセス化された Firefox におけるタブの選択方法
マルチプロセス化された Firefox ではタブの選択方法が異なります。

chrome スクリプトの制限
chrome code で実施できなくなることと、その修正方法の実例です。
frame スクリプトの制限
frame スクリプトで実施できなくなることと、その代替手段の実例です。

問い合わせ先

プロジェクトについて詳しく知り、参加するか疑問点を尋ねてください。

ドキュメントのタグと貢献者

 このページの貢献者: chikoski, yyss
 最終更新者: chikoski,