ひとり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のそばで使われてるみたい。

nsICategoryManager.idl

なんか、たとえば"http"と"ftp"と"mailto"は"scheme"というcategoryで…
みたいな管理ができるみたい。こんなのあるのか。

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
しんどいので続きはまたこんど。


…続けるのか?