chrome.storageの実体の場所


たまに自作のChrome拡張が勝手に吹っ飛んだりして困るので覚書。
多分ほとんどの人には役に立たない知識。

場所

chrome.storage.local

Windowsは以下。Macは知らない
C:\Users\{ユーザー名}\AppData\Local\Google\Chrome\User Data\Default\Local Extension Settings\{拡張のID}

※ IDは拡張機能一覧 chrome://extensions/ からデベロッパーモードをONにすることで確認できる

chrome.storage.sync

C:\Users\{ユーザー名}\AppData\Local\Google\Chrome\User Data\Default\Sync Extension Settings\{拡張のID}

syncについてはGoogleアカウントで同期されるので、下手に弄らないほうが良さそう。

フォーマット

LevelDBっぽい。
知っていると何かに使えるかもしれない。

参考:LevelDBの設計ドキュメント和訳 - Qiita

拡張機能が吹っ飛んだ時の復旧方法

1. データを救出する

拡張機能が吹っ飛んでもstorageの実体は残っている可能性があるので、上記の場所から頑張って探す。
各フォルダにある 000003.log というファイルをテキストエディタで開くとなんとなく入っているデータがわかる。
見つけたらフォルダの中身をまるごと退避する。

2. 拡張機能を再度インストールする

吹っ飛んだ拡張機能を再度インストールする。

3. 再度インストールした拡張のstorageの実体を差し替え

Chromeのプロセスをすべて落とした状態で、2でインストールし直した拡張に対応するchrome.storageの実体を、1で救出したデータに入れ替える。