Posts

Android 版 Firefox のアプリ切り替え時の処理

Android 版 Firefox は、 バックグラウンドに切り替えると android の省電力機能によって、 Web ページの状態が保持されず、 アプリをフォアクラウンドに切り替えた際に Web ページがリロードされることがあります。 静的な Web ページであれば、リロードするだけで画面を再構成されます。 セッション管理が必要な Web ページであれば、 Cookie を利用してセッションを復元できます。 Web Extension の場合、通常の Web ページとは異なる制御が必要になります。 省電力機能によって Web Extension のペー

Firefox の File System API (オリジンプライベートファイルシステム)

ブラウザ上で動作するウェブアプリ内のデータは、 基本的に RAM 上で管理されるだけで不揮発には保持されない。 不揮発にデータを保持するには、次の 3 つの方法がある。 Cookie データの本体をサーバ側で記録しておき、 サーバ側で管理しているデータへのアクセスキーをブラウザ側で不揮発に管理する方法。 Web Storage API Key-value 方式の簡易的な DB で、 比較的に小さいサイズのデータをブラウザ側で不揮発に管理する方法。 File System API ブラウザ側のファイルシステムを

ブラウザ(Firefox)の拡張機能で「出来ること」と「出来ないこと」

ブラウザ(Firefox)の拡張機能は、 通常の Web のクライアントサイドプログラム(JavaScript + wasm) では出来ないことが 実現可能になっている。 例えば、拡張機能は表示中の全てのタブ内の情報にアクセスできる。 とはいえ、何でも出来てしまうと、それはそれでセキュリティ上問題になる。 そのため、セキュリティ問題となるようなことはそもそも実現できない。 例えば、ブラウザを実行している環境内のネットワークへの TCP,UDP で

Firefox の拡張機能で additional review が必要な manifest.json の項目

Firefox の拡張機能をインストール可能な状態にするには署名が必要で、 この署名には addons.mozilla.org のレビューが必要になる。 レビューとはいえ基本的には機械的に処理され、 署名処理自体は数分程度で終了する。 しかし中には例外があり、機械的なレビューではなく、 追加レビュー(additional review)が必要なケースが存在する。 では、どんなときに additional review が必要になるか? それは、 manifest.json の項目に依存するらしい。 manifest.json の項目だけでなく、 JS コード

Android 版 Firefox で動かす拡張機能を Wireless debug する

昨年終盤から Firefox の拡張機能開発に手を出し始めた。 折角作った拡張機能なので PC 版だけでなく、 android 版 Firefox でも動かそうと思い Android 版 Firefox でのデバッグ方法を調べたので、 備忘録として載せておく。 なお、基本は次の公式ドキュメント通りだが、 躓いたところもあるので改めてここに設定手順を残す。 <https://firefox-source-docs.mozilla.org/devtools-user/about_colon_debugging/index.html#connecting-to-android-over-wi-fi> Wireless debug Android 版 Firefox の拡張機能のデバッグを行なうには、 Android 版 Firefox とそれをデバッグする PC 版 Firefox を接続する必要がある。 そしてその接続方法には、次の 2 つある。