Mozilla Flux

Mozilla関係の情報に特化したブログです。

Firefox.nextのアドオンマネージャ

Firefoxのアドオン管理システムはFirefox.next(3.5の次のバージョン)で大幅に改修される予定だ。目玉の一つは再起動なしにアドオンをインストールできることだが、もちろん変更点はそれだけにとどまらない。Mozilla Wikiの"Extension Manager:Future Work"で紹介されている内容を見てみよう。

まず、ユーザーインターフェイス(UI)が変更される。拡張機能とテーマという区分をやめ、アドオンという大きな括りの中でより細かくカテゴリーを分けるようだ。具体的なカテゴリーについては検討中とされているが、Mozilla Add-onsの分類と一致させれば簡単だし、ユーザーにとってもわかりやすいのではないだろうか。そのほか、アドオンが言語パックをもっているとき、設定用のUIを用意する計画がある。

"Application Specific Metadata"とは、アドオンが自己の情報をアドオンマネージャに提供するものだ。"Letting add-ons perform work during install and uninstall"によれば、ファイルのリストや設定情報が主に想定されている。アドオンマネージャがアンインストール時にそれらを消去するので、データのゴミが残らなくなるメリットがある。

もう一つ、アドオンの依存関係や衝突の問題を解決するメカニズムも盛り込む。どちらもアドオンマネージャが定期的に情報をダウンロードして保持しておき、依存関係は必須アドオンを自動的にインストールして対処。アドオンの衝突があればユーザーに警告を発する。

アドオン作者にとっては、"Replace RDF Formats"が重要そうだ。インストールマニフェストをinstall.rdfと比べて簡単に記述できるものに変更するとある。また、"Install/Uninstall Hooks"というプランもある。アドオンのインストール/アップデート/アンインストールの各時点で、アドオン作者が自ら設定したJavaScriptファイルを実行できる仕組みだ。作者の自由度を高めるものだが、セキュリティ上の問題があるので、実行可能な処理は限定される見込み。

これらの新機能を支えるAPIを整備するほか、"SQLite Backend"への移行も計画されている。現在のコードは、拡張機能のメタデータや状態(有効/無効やアップデートの存在など)をキャッシュするためRDFバックエンドを使用しているが、これをSQLiteデータベースに置き換えるという。

つまり、アドオンマネージャはよりスマートな方向へと進化する。期待して待ちたい。