Firefoxの2.0系はSQLiteを内臓してるらしいというのを偶然発見し、XPCOMを使ってローカルのSQLiteデータベースから画像データなどのバイナリをとってきてブラウザに表示したら面白いかもと思ったのでやってみた。 ちなみにXPCOM とは、mozillaのソフトウェアなどに実装されている実装言語やプラットフォームに依存しない、共通インターフェースを持つライブラリです。 例えば、firefoxのaddonを作る上で、プラットフォームの機能を利用する際に使います。OSが管理するローカルリソースにアクセスしたりとほとんど何でもできてしまいます。XPCOM自体はC で書かれていますが、JavaScriptバインディングもあるので、addonを作る際は、見た目はXULで作り、処理はJavaScriptとXPCOM(JavaScript経由)で書くのが一般的です。 この仕組みの概念図とし