Firefox が Chrome マニフェストの XNUMX 番目のバージョンのテストを開始しました

Mozilla は、WebExtensions API を使用して作成されたアドオンで使用できる機能とリソースを定義する Chrome マニフェストの第 101 バージョンの Firefox 実装のテストを開始したと発表しました。 Firefox 3 ベータ版でマニフェストの XNUMX 番目のバージョンをテストするには、about:config ページで「extensions.manifestVXNUMX.enabled」パラメータを true に設定し、「xpinstall.signatures.required」パラメータを false に設定する必要があります。 アドオンをインストールするには、about:debugging インターフェイスを使用できます。 マニフェストの XNUMX 番目のバージョンは、年末までにデフォルトで有効になる予定です。

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

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

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

Firefox で提案されたマニフェストの XNUMX 番目のバージョンの実装では、コンテンツ フィルタリング用の新しい宣言型 API が追加されましたが、Chrome とは異なり、webRequest API の古いブロック操作モードのサポートは停止されませんでした。 Firefox の新しいマニフェスト実装のその他の機能は次のとおりです。

  • マニフェストは、バックグラウンド プロセス (バックグラウンド サービス ワーカー) として実行される Service Workers オプションによるバックグラウンド ページの置き換えを定義します。 互換性を確保するために、Firefox はこの要件を実装しますが、Web 開発者にとってより馴染みのある新しいイベント ページ メカニズムも追加で提供します。これはアドオンの完全な作り直しを必要とせず、Service Worker の使用に関連する制限を排除します。 。 イベント ページを使用すると、DOM の操作に必要なすべての機能へのアクセスを維持しながら、既存のバックグラウンド ページの追加がマニフェストの 136 番目のバージョンの要件に準拠できるようになります。 Firefox でのテストに利用できるマニフェスト実装では、現在イベント ページのみがサポートされており、Service Worker に基づくソリューションのサポートは後で追加されることが約束されています。 Apple はこの提案を支持し、Safari テクノロジー プレビュー XNUMX にイベント ページを実装しました。
  • 新しい詳細な権限リクエスト モデル - アドオンは、すべてのページに対して一度にアクティブ化することはできません (「all_urls」権限は削除されています)。ただし、アクティブなタブのコンテキストでのみ機能します。 ユーザーは、アドオンが各サイトで機能することを確認する必要があります。 Firefox では、サイト データへのアクセス要求はすべてオプションとみなされ、アクセス許可の最終決定はユーザーによって行われ、ユーザーは特定のサイト上のデータへのアクセスをどのアドオンに許可するかを選択的に決定できます。
  • クロスオリジンリクエストの処理の変更 - 新しいマニフェストに従って、コンテンツ処理スクリプトは、これらのスクリプトが埋め込まれているメインページと同じ権限制限の対象になります (たとえば、ページがlocation API を使用すると、スクリプト アドオンもこのアクセスを受け取りません)。 この変更は Firefox に完全に実装されています。
  • Promise ベースの API。 Firefox はすでにこの API をサポートしており、マニフェストの XNUMX 番目のバージョンではこの API を「chrome.*」名前空間に移動する予定です。
  • 外部サーバーからダウンロードされたコードの実行を禁止します (アドオンが外部コードをロードして実行する状況について話しています)。 Firefox はすでに外部コード ブロッキングを使用しており、Mozilla 開発者は、マニフェストの XNUMX 番目のバージョンで提供される追加のコード ダウンロード追跡技術を追加しました。 コンテンツ処理スクリプトについては、別のコンテンツ アクセス制限ポリシー (CSP、コンテンツ セキュリティ ポリシー) が提供されます。

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

コメントを追加します