ひとりGecko-SDK読書会
とりあえず、自分がbuildしたFirefoxのdist/sdk/idlの中の人をメモっていくことにするのです。
泥縄とか言わない。
domstubs.idl
nsIDOMhogeのがさっとプロトタイプ
mozJSSubScriptLoader.idl
javascriptがさらにこどもjavascriptをloadするためのservice。
Bagel-0.4.1のnsBagelScriptLoader.jsでも使われてるみたい。
nsIArray.idl
Gecko的配列?
nsIASN1Object.idl nsIASN1Sequence.idl
ASN1ってなんですか?
nsIBadCertListener.idl
認証を通らなかったとか、そっち系っぽい。
K-MeleonではnsICertificateDialogsのそばで使われてるみたい。
nsICertificateDialogs.idl
認証書を表示するとか、受け入れるとかのdialogのinterface。
がんばって自分で実装する。
nsIChannel.idl
GETしたりするためのchannelをほげる。
これは結構使えるかも。
nsIClassInfo.idl
XPCOM objectが実装してるinterfaceのlistをとってくる。
nsIClipboardCommands.idl
クリップボードをほげる。これ結構便利。
WebBrowserもこれを実装してるみたい。(nomina.041cのnmnFrameWindow.cpp)
nsIComponentManager.idl nsIComponentRegistrar.idl
おなじみ。XPCOMを作ってくれたり登録したりする。
nsComponentManagerUtils.h経由で使うことも多いかな。(nomina.041cのnmnGeckoEngine.cpp)
nsIContextMenuListener.idl
はいおなじみ。WebBrowserの右クリックメニューのやつ。
僕はnsIContextMenuListener2のほうが好きです。
nsICookie.idl nsICookieManager.idl
cookieのservice。なんか機能が少ないような気も…
nsICRLInfo.idl
なんか認証がらみっぽい。
nsIDebug.idl
assertとかまで独自仕様で実装してしまうのか…
nsIDirectoryService.idl
Geckoにはいろんなディレクトリ名を一元管理する機能があって、そのへん。
nsDirectoryServiceUtils.hとか、nsDirectoryServiceDefs.hとかをみるといろいろある。
nsIDOMhoge
めんどくさいので省略。192個のidlのうち、112個がこれだけど。
まあ、あれだ。DOMだ。
そして結構疲れる割にはムダであることに気づくorz
しんどいので続きはまたこんど。
…続けるのか?