この日記はMozillaのプロダクトへの貢献者としての私の成果を中心に、気になったバグやWeb界隈の話題について書いていますが、 断り書きがある場合を除き、いかなる団体のオフィシャルな見解ではありません。あくまでも個人的なものです。 Mozilla Foundation、Mozilla Corporation、及び関連企業の公式情報ではないことに注意してください。

現在、XHTML 1.0 (もどき)から、HTML5なコンテンツに修正中です。古い日記は修正が完了していませんので表示が崩れます。 順次、修正していく予定ですのでしばらくお待ちください。

もずはっく日記(2011年5月)

2011年5月24日

Bug-org 656826 Redesign nsPrefService for helpful static utility methods
初回投稿日時: 2011年05月24日12時32分56秒
カテゴリ: Mozilla Core Mozilla6 バグ修正
SNS: (list)

C++のコードで設定を読むには、nsIPrefBranchを取得してアクセスするか、nsContentUtilsのstaticメソッドを使うしかありませんでした。前者は取得にかかるコストと、ロジックとは無関係のコードが入ってしまう、という点が問題で、後者はnsContentUtils.hの依存関係が巨大すぎて気軽に使えない、低レベルの戻り値を知ることができない、という点が問題でした。

今回、nsPrefServiceをシングルトンに修正し、mozilla::Preferencesに改名してpublicに移動しました。さらにmozilla::Preferencesにstaticメソッドを追加して利用しやすくしています。

Firefox 6向けのAuroraでもmozilla-centralと同じパッチが使えるように、Mozilla 6に滑り込みで間に合わせました。今後、順次、prefにアクセスする箇所は修正していく予定です。

関連するかもしれないエントリ

bug-org 656826を含むエントリ