移行の進行状況を追跡する
次のチェックリストは、移行作業の追跡に役立ちます。手順へのリンクを含む、完了する必要があるタスクを定義します。移行作業は、移行の概要で説明したように、大きく 5 つのカテゴリに分類されます。
マニフェストを更新する
manifest.json ファイルは、Manifest V2 と Manifest V3 で形式が若干異なります。このページでは、manifest.json ファイルのみに影響する変更について説明します。ただし、スクリプトやページに対する変更の多くでは、マニフェストの変更も必要になります。これらの変更は、必要な移行タスクで対応されます。
Service Worker に移行する
Service Worker は、拡張機能のバックグラウンド ページまたはイベントページを置き換えて、バックグラウンド コードがメインスレッドから外れるようにします。これにより、拡張機能は必要なときにのみ実行され、リソースが節約されます。
始める前に、バックグラウンド スクリプトと拡張機能サービス ワーカーの違いについてお読みください。
- マニフェストの「background」フィールドを更新する
- DOM とウィンドウの呼び出しをオフスクリーン ドキュメントに移動
- localStorage を chrome.storage.local に変換する
- リスナーを同期的に登録する
XMLHttpRequest()の呼び出しをグローバルfetch()に置き換えます。- 永続状態
- タイマーをアラームに変換する
- Service Worker を存続させる(例外的なケース)
API 呼び出しを更新する
一部の機能は Manifest V3 の同等の機能に置き換える必要があります。他のものは完全に削除する必要があります。
tabs.executeScript()をscripting.executeScript()に置き換えます。tabs.insertCSS()とtabs.removeCSS()をscripting.insertCSS()とscripting.removeCSS()に置き換えます。- ブラウザ アクションとページ アクションをアクションに置き換える
- Manifest V2 のバックグラウンド コンテキストを想定する関数を置き換えます。
- コールバックを Promise に置き換える
- サポートされていない API を置き換える
ブロックするウェブ リクエスト リスナーを置き換える
(Manifest V2 で行ったように)ネットワーク リクエストをプログラムで読み取って変更する代わりに、拡張機能で、特定の条件が満たされたときに実行するアクションを記述するルールを指定します。
上記の項目を完了したら、一般的なユースケースを確認することをおすすめします。
拡張機能のセキュリティを強化する
拡張機能のセキュリティを強化するために変更が必要です。これには、サポートが終了したリモートでホストされているコードの削除も含まれます。
Manifest V3 拡張機能を公開する
Manifest バージョン 3 に変換したら、Chrome ウェブストアで拡張機能をリリースします。変更内容に応じて、段階的なロールアウトを検討してください。このアプローチでは、まず一部のユーザーを対象に拡張機能が想定どおりに動作することを確認してから、すべてのユーザーにリリースできます。