モジラ 最近発表した するつもりです あなたのウェブブラウザ 「Firefox」は Chrome マニフェストのバージョン 3 と互換性があります また、プラグインに提供される機能とリソースを定義するロードマップを公開しています。
マニフェストの XNUMX 番目のバージョンは、多くのセキュリティ プラグインを中断し、不適切なコンテンツをブロックすることで批判されていることを覚えておく必要があります。 ここのブログで。
Mozilla は次のようにコメントしています。 新しいマニフェストのほぼすべての機能と制限を Firefox に実装する予定宣言的コンテンツ フィルタリング API (declarativeNetRequest) が含まれていますが、Chrome とは異なり、Firefox は、少なくとも新しい API が webRequest API を使用するプラグイン開発者のニーズを完全に満たさなくなるまで、webRequest API の古いブロック モードのサポートを停止しません。
このアプローチ Chrome プラグインとの互換性を確保します webRequest API に依存するプラグインとの互換性を損なうことなく。
新しいマニフェストに対する主な不満は、webRequest API の読み取り専用モードへの変換に関連しています。これにより、ネットワーク リクエストに完全にアクセスでき、トラフィックをオンザフライで変更できる独自のコントローラーに接続できます。
この API は、不適切なコンテンツをブロックしてセキュリティを確保するために、uBlock Origin や他の多くのプラグインで使用されます。 webRequest API の代わりに、宣言型の NetRequest API が提案され、その機能が制限されています。これにより、ブロック ルールを独立して処理する組み込みのフィルター エンジンへのアクセスが提供され、カスタム フィルター アルゴリズムの使用が許可されず、複雑な確立が許可されません。条件によって重なるルール。
Firefox では、 マニフェストの XNUMX 番目のバージョンとの互換性 Chromeから 2021年後半にテスト予定 そして、新しいマニフェストは2022年初頭に予定されています。
実装の特徴の中で Firefox の新しいマニフェストから目立つ:
- declarativeNetRequest API を提供しますが、従来の webRequest API を維持します。
- クロスオリジンリクエストの処理を変更する: 新しいマニフェストによると、コンテンツ処理スクリプトは、これらのスクリプトが埋め込まれているメインページと同じ許可制限の対象となります (たとえば、ページがロケーション API では、スクリプト内のプラグインもこのアクセスを取得しません)。 クロスオリジンの制限に関連する変更リクエストの一部が、Firefox のナイトリー ビルドでテストできるようになりました。
- バックグラウンド ページは、バックグラウンド プロセスの形式で動作するサービス ワーカーに置き換えられます (変更はまだテストを開始する準備ができていません)。
- Promise ベースの API: Firefox は、名前空間 «browser. * » マニフェストの XNUMX 番目のバージョンでは、名前空間« chrome に移動します。 * ».
- 権限をリクエストするための新しい詳細モデル: プラグインはすべてのページで一度にアクティブ化することはできませんが、アクティブなタブのコンテキストでのみ機能します。つまり、ユーザーはプラグインの動作を確認する必要があります。各サイト。 Mozilla はアクセス制御の強化に取り組んでいますが、プラグインが別のタブで動作することを許可するかどうかをユーザーが決定できるようにすることを目的としています。
- 外部サーバーからダウンロードしたコードの実行を禁止します (プラグインが外部コードを読み込んで実行する状況について話しています)。 Firefox はすでに外部コード ブロッキングを使用しており、Mozilla 開発者は、マニフェストの XNUMX 番目のバージョンで提供される追加のコード ダウンロード トラッキング技術を追加する準備ができています。
- さらに、コンテンツ処理スクリプト用に別のコンテンツ セキュリティ ポリシー (CSP) が導入され、既存の UserScripts および contentScripts API がサービスへのワーカー ベースの拡張機能をサポートするように変更されます。