Mozilla は Chrome マニフェストの第 XNUMX バージョンに基づくアドオンの受け入れを開始します

21 月 109 日、AMO ディレクトリ (addons.mozilla.org) は、Chrome マニフェストのバージョン 17 を使用したアドオンの受け入れとデジタル署名を開始します。 これらのアドオンは、Firefox の夜間ビルドでテストできます。 安定版リリースでは、マニフェスト バージョン 2023 のサポートが Firefox 2023 で有効になり、XNUMX 年 XNUMX 月 XNUMX 日に予定されています。 マニフェストの XNUMX 番目のバージョンのサポートは当面維持されますが、XNUMX 年末には、マニフェストの XNUMX 番目のバージョンへの追加機能の移行のダイナミクスを評価した後、マニフェストの XNUMX 番目のバージョンのサポートが廃止される可能性があります。検討されます。

Chrome マニフェストは、WebExtensions API を使用して作成された拡張機能で使用できる機能とリソースを定義します。 バージョン 57 以降、Firefox はアドオンの開発に WebExtensions API の使用に完全に切り替えられ、XUL テクノロジーのサポートを停止しました。 WebExtensions への移行により、Chrome、Opera、Safari、Edge プラットフォームでのアドオンの開発を統合できるようになり、異なる Web ブラウザ間でのアドオンの移植が簡素化され、WebExtensions のマルチプロセス モードを完全に使用できるようになりました。操作 (WebExtensions アドオンは、ブラウザーの残りの部分から分離された別個のプロセスで実行できます)。 アドオンの開発を他のブラウザと統合するために、Firefox は Chrome マニフェストの XNUMX 番目のバージョンとのほぼ完全な互換性を提供します。

Chrome は現在、マニフェストのバージョン 2024 への移行に取り組んでおり、バージョン XNUMX のサポートは XNUMX 年 XNUMX 月に終了します。 新しいバージョンで行われた変更の主な目的は、安全で高パフォーマンスのアドオンの作成を容易にし、安全ではない低速なアドオンの作成をより困難にすることです。 マニフェストの XNUMX 番目のバージョンが批判を浴びており、多くのコンテンツ ブロッキングやセキュリティ アドオンが機能しなくなるため、Mozilla は Firefox のマニフェストとの完全な互換性から離れ、いくつかの変更を別の方法で実装することを決定しました。

マニフェストの XNUMX 番目のバージョンに対する主な不満は、webRequest API の読み取り専用モードへの変換に関連しています。これにより、ネットワーク リクエストに完全にアクセスでき、トラフィックをオンザフライで変更できる独自のハンドラーを接続できるようになりました。 この API は、不適切なコンテンツをブロックし、セキュリティを提供するために、uBlock Origin や他の多くのアドオンで使用されます。 webRequest API の代わりに、マニフェストの XNUMX 番目のバージョンは、機能が制限された declarativeNetRequest API を提供します。これは、ブロック ルールを個別に処理する組み込みフィルタリング エンジンへのアクセスを提供しますが、独自のフィルタリング アルゴリズムの使用は許可されず、条件に応じて重複する複雑なルールを設定できます。

Firefox での新しいマニフェストの実装の機能には次のようなものがあります。

  • 新しい宣言型コンテンツ フィルタリング API が追加されましたが、Chrome とは異なり、webRequest API の古いブロック モードのサポートは廃止されていません。
  • マニフェストは、バックグラウンド プロセス (バックグラウンド サービス ワーカー) として実行される Service Workers オプションによるバックグラウンド ページの置き換えを定義します。 将来の互換性を確保するために、Firefox は Service Worker をサポートしますが、現在、Service Worker は新しいイベント ページ メカニズムに置き換えられています。これは Web 開発者にとってより馴染みがあり、アドオンを完全に作り直す必要がなく、サービス ワーカーに関連する制限が排除されています。 Service Worker の使用。 イベント ページを使用すると、DOM の操作に必要なすべての機能へのアクセスを維持しながら、既存のバックグラウンド ページの追加がマニフェストの XNUMX 番目のバージョンの要件に準拠できるようになります。
  • 新しい詳細な権限リクエスト モデル - アドオンは、すべてのページに対して一度にアクティブ化することはできません (「all_urls」権限は削除されています)。ただし、アクティブなタブのコンテキストでのみ機能します。 ユーザーは、アドオンが各サイトで機能することを確認する必要があります。 Firefox では、サイト データへのアクセス要求はすべてオプションとみなされ、アクセス許可の最終決定はユーザーによって行われ、ユーザーは特定のサイト上のデータへのアクセスをどのアドオンに許可するかを選択的に決定できます。

    権限を管理するために、新しい「Unified Extensions」ボタンがインターフェイスに追加されており、Firefox の夜間ビルドですでにテストできます。 このボタンは、各アドオンがどのサイトにアクセスできるかを直接制御する手段を提供します。ユーザーは、任意のサイトへのアドオンのアクセスを許可または取り消すことができます。 権限管理は、マニフェストの XNUMX 番目のバージョンに基づくアドオンにのみ適用されます。マニフェストの XNUMX 番目のバージョンに基づくアドオンの場合、サイトへの詳細なアクセス制御は実行されません。

    Mozilla は Chrome マニフェストの第 XNUMX バージョンに基づくアドオンの受け入れを開始します
  • クロスオリジンリクエストの処理の変更 - 新しいマニフェストに従って、コンテンツ処理スクリプトは、これらのスクリプトが埋め込まれているメインページと同じ権限制限の対象になります (たとえば、ページがlocation API を使用すると、スクリプト アドオンもこのアクセスを受け取りません)。 この変更は Firefox に完全に実装されています。
  • Promise ベースの API。 Firefox はこの API をサポートしており、マニフェストの XNUMX 番目のバージョンではそれを「chrome.*」名前空間に移動します。
  • 外部サーバーからダウンロードされたコードの実行を禁止します (アドオンが外部コードをロードして実行する状況について話しています)。 Firefox は外部コード ブロッキングを使用しており、Mozilla 開発者は、マニフェストの XNUMX 番目のバージョンで提供される追加のコード ダウンロード追跡技術を追加しました。 コンテンツ処理スクリプトについては、別のコンテンツ アクセス制限ポリシー (CSP、コンテンツ セキュリティ ポリシー) が提供されます。

出所: オープンネット.ru

コメントを追加します