Chrome拡張のマニフェスト変更で広告ブロック拡張機能の動作制限も
2019年1月27日 22:10
現在Googleが策定を進めているChrome拡張機能プラットフォームのマニフェスト新バージョンManifest V3のドラフトには、広告ブロック拡張機能の動作を制限するAPI変更が盛り込まれている(9to5Googleの記事、gHacksの記事、The Registerの記事、Chromium Bug Issue 896897 — Raymond Hill氏のコメント)。 現在のManifest V2では、広告ブロック拡張機能はwebRequest APIを使用してネットワークリクエストを変更・リダイレクト・ブロックできる。しかし、Chromeから拡張機能へリクエストを転送し、拡張機能の処理を待つ必要があるため、大幅な遅延が発生することもあるという。 対策としてManifest V3ではブロッキング用途でのwebRequest API使用が制限され、ブロッキング用としては新たにdeclarativeNetRequest APIが追加される。declarativeNetRequest APIではリクエストに対してどのような処理をするのか拡張機能に問い合わせ、それをChrome側で処理する形になる。これにより、効率の悪いルールをChorme側で無効化することも可能だ。 しかし、uBlock OrginとuMatrixを開発するRaymond Hill氏(gorhill)によれば、declarativeNetRequest APIはAdblock Plus互換のフィルタリングを強制するもので、uBlock OrginやuMatrixが存在できなくなるだけでなく、新たなフィルタリングエンジンの登場も不可能になるという。また、ルールの数も30,000件に制限されることから、広く使われているEasyListのルールだけでも制限を上回る。 一方、Googleは変更後にも不可欠な場面での利用がすべて可能になるようにしたいと考えており、引き続き拡張機能が動作し続けるよう拡張機能の開発者と協力しているとのことだ。