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

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

もずはっく日記(2005年12月)

2005年12月2日

Bug 4530 CSSにてborder: double;を指定したとき、特定条件下で線が欠ける
初回投稿日時: 2005年12月02日01時08分02秒
最終更新日時: 2005年12月04日00時43分51秒
カテゴリ: Mozilla Core
SNS: (list)

綾川さんが提供してくれた提案パッチを元に、私が修正を加えて本家とのやりとりを代行して修正完了。

理想を言えば、私のサポート無しにパッチのチェックインまで持って行ってもらえれれば、それに越したことはないが、このように重要なバグで、このレベルの修正案を提示してくれるというのは十分にありがたい。綾川さんがいなければ間違いなく修正できなかったバグなので、当然、ソースコードの権利者には綾川さんもエントリされている。(別に私がアイデアだけ奪い取って、私の仕事とした訳ではないので変な誤解は勘弁して欲しい(笑))

パッチ案がこのように具体的に提出されたのは今回が初めてだが、これはとてもありがたい。是非、他の人も腕試しにチャレンジしてみてはどうだろうか? 常用しているアプリケーションの気になるバグを自分で修正できる、というのはとても楽しいことなのでコードが書けるならチャレンジしてみることをお勧めする。ただし、それなりに私、もしくは自身で本家に持ち込んだ場合ならレビュアとのやりとりがあるので楽な仕事ではないことだけは明言しておく。(つまり、パッチ案は出したので、後は知らない、というパターンはご勘弁を。)

で、肝心の修正結果だが、doublesolidgrooveridgeのレンダリングがとても安定した。まず、一ピクセル未満の太さであっても一ピクセルの実線が描画されることは保証されるコードになった(dotteddashedはまだこの問題を抱えている)。また、二ピクセルのdoubleは二ピクセルの実線として描画されるようになり、それ以上の太さの場合、二本の線は必ず同じ太さで描画されるようになったので違和感の無い描画結果が得られるようになっている。また、grooveridgeのレンダリングも安定し、常にボーダーの中央で色が変更されるようになっている。(特に奇数ピクセルの場合の表示結果が安定した。)

綾川さん、どうもありがとうございました。今後ともよろしくお願いします。

それにしても、今、日本人でパッチを書いている人は私以外では綾川さんを含め、何人かおられるが、見事に修正しようとする部分が違っているのが素晴らしい。

最初この一文を見たときに「?」と思ってしまった。「日本人でパッチを書く人が、それぞれ違う箇所を担当している」という意味だろうか?ちょっとよく分からない。

その通り。分かりにくくて申し訳ない。

それぞれに得意ジャンルのようなものがある訳だが、それが異なっているおかげで幅広い貢献ができるようになっている。レビュー制度があるので、コードの品質はモジュールオーナーがチェックしてくれるので、パッチの提供者の作業場所は異なっている方が効率的なのだ。

例えば専門分野が同一な貢献者が二人いた場合、最悪なのが、バグを修正できるか調査する作業段階では、まずbugzillaで担当を名乗り出ることはないので、二人で同じ作業をしてしまっていた、という状況。私も何度か本家関係者とこの最悪のバッティングをやってしまったことがあるが、全く持って無駄な話だ。

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

bug 4530を含むエントリ

Bug 4530 CSSにてborder: double;を指定したとき、特定条件下で線が欠ける #3

Bug 4530 CSSにてborder: double;を指定したとき、特定条件下で線が欠ける #2