第 2 回 Firefox 出張ワークショップ発表資料
2009-07-15


よく参照する Firefox のソースコード

Mozilla Cross-Reference で Mozilla の (Firefox の) ソースコードを閲覧・検索できます。私の場合、実際によく参照するのは次のような箇所です。

Firefox の機能とそのソースコードの場所
機能 Firefox 3.5 系統 最新開発版
ブラウザの UI /browser/base/content/ /browser/base/content/
DOM インターフェース /dom/public/idl/ /dom/interfaces/
UI 部品 /toolkit/content/widgets/ /toolkit/content/widgets/

数値への変換

JavaScript で +exprNumber(expr) と同じ意味であり、expr を数値へ変換した結果を返します。

ラベルの国際化

追加したメニューのラベルを、ロケールによらずツールバーの履歴ドロップダウンボタンのツールチップと同じにするのが目標でした。たとえば次のような手順が考えられます。

  1. DOM Inspector で履歴ドロップダウンボタンを選択し、その id を確認する。
  2. view-source:chrome://browser/content/browser.xul からその id を検索し、ツールチップ文字列を表す実体参照を見つける。
  3. MXR で実体名を検索し、その実体が含まれる DTD ファイルを見つける。
  4. MXR で見つかった DTD ファイル名と browser.xul のソースで参照している DTD の chrome URI とを見比べ、その DTD ファイルを指す chrome URI の見当をつける。
  5. オーバーレイファイルからその DTD を参照し、メニューのラベルとしてその実体参照を記述する。

[LINK] (禺画像]) [LINK] (禺画像]) [LINK] (禺画像]) [LINK] (禺画像])

<!DOCTYPE overlay [
  <!ENTITY % browserDTD SYSTEM "chrome://browser/locale/browser.dtd">
  %browserDTD;
]>

修正の反映

最初のほうで QuickRestart を紹介した影響か、ソースコードを修正するたびに Firefox を再起動していた人が多かったですが、実は about:config から nglayout.debug.disable_xul_cache を true にしておけば、新しいウィンドウを開くたびに最新のソースコードが読み込みなおされます。ただし、XPCOM コンポーネントJavaScript モジュールはこの限りではありません。

拡張の JavaScript の名前空間


続きを読む
戻る
[Mozilla Firefox]

コメント(全0件)
コメントをする


記事を書く
powered by ASAHIネット