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

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

もずはっく日記(2006年2月)

2006年2月2日

新たに1.8 branchにチェックインした修正(日本人が修正したもののみ) 初回投稿日時: 2006年02月02日03時59分10秒
最終更新日時: 2006年02月02日03時59分40秒
カテゴリ: Firefox Mozilla Core Thunderbird
固定リンク: id=2006020200
リンク元: 0件
SNS: (list)

久々に大炎上 初回投稿日時: 2006年02月02日05時46分30秒
カテゴリ: Mozilla Core
固定リンク: id=2006020201
リンク元: 0件
SNS: (list)

やってしまった。Bug-org 317375のパッチと見事にコンフリクト。

Bug 4952 position: fixed;な要素の上でマウスのホイールを回しても、祖先のドキュメントがスクロールしない 初回投稿日時: 2006年02月02日23時53分58秒
カテゴリ: Mozilla Core
固定リンク: id=2006020202
リンク元: 0件
SNS: (list)

今朝の大炎上の原因となったバグ。

この修正と、前回のBug 2060で、おそらく、ホイールを回してもスクロールしない、というバグは一掃できたのではないかと思う。もし、期待通りにホイールでスクロールできないバグがあればバグ報告をして欲しい。

ちなみに、このバグはFirefox2には入らない予定。

2006年2月4日

Bug 4855 印刷すると背景画像が縮小されてしまう(no-repeat, repeat-x, repeat-yの場合) 初回投稿日時: 2006年02月04日03時44分35秒
カテゴリ: Mozilla Core
固定リンク: id=2006020400
リンク元: 2件
SNS: (list)

修正完了。

画像の大きさから背景画像の印刷範囲を計算する時に、デバイスのピクセル単位で計算していたことが原因だった。CSSのピクセル単位は、印刷時のようにスクリーンと解像度があまりにも異なる場合は、補正をかける必要があるのだが、この処理が忘れられていただけだった。

Bug 4881 Thunderbirdでメールを送信しようとしたり、編集ウインドウを閉じるとクラッシュすることがある [@ nsWindowSH::GetProperty 3336da4c] 初回投稿日時: 2006年02月04日03時49分47秒
カテゴリ: Thunderbird
固定リンク: id=2006020401
リンク元: 0件
SNS: (list)

TrunkのThunderbirdでメールの作成ウインドウを閉じるとき等にランダムにクラッシュすることがあったバグ。

ランダムなものなのでテストできないが、本家がfixedとなったので、修正されているんだろう。

2006年2月7日

MacIE 配布終了 初回投稿日時: 2006年02月07日02時54分01秒
カテゴリ: IE Memo
固定リンク: id=2006020700
リンク元: 0件
SNS: (list)

遅ればせながら、メモがてらに。

Netscapeのように歴史的な価値を考えるなら配布は続けてもらった方が良いのだが、標準化の促進、ユーザのセキュリティを考えるとこの決定はありがたい。

Webデザインでは、もうMacIEはこれを機に見捨てても良いのでは? MacIEの細かいバグは知らないが、float等でのshrink-to-fitに対応できていないのは今となっては不便。(WinIEもちょっとCSS2.1仕様とはずれているが。)

[Internet Watch]IPA、Webセキュリティ対策をまとめた「安全なウェブサイトの作り方」 初回投稿日時: 2006年02月07日03時36分45秒
カテゴリ: Memo News
固定リンク: id=2006020701
リンク元: 0件
SNS: (list)

こちらも少し古い記事だが、とりあえずメモ。例によって原文はPDF。関係ないが、このへんはいい加減どうにか意識改革してもらえないものか。

それはさておき、Webアプリの作成は完全に素人だが、ざっと目を通した限りは、基本的なことが列挙されているだけっぽい。

Bug 1563 z-index が負の値だと表示されない 初回投稿日時: 2006年02月07日03時40分54秒
カテゴリ: CSS Mozilla Core
固定リンク: id=2006020702
リンク元: 0件
SNS: (list)

ようやく修正された。CSS 2.1の仕様をまだ詳しく読んでいないが、まあ、問題なさそう。

もちろん、z-indexまわりの他のバグを見つけた場合はreopenせずに、新しいバグを開くように。

2006年2月8日

2006年2月9日

業務連絡 初回投稿日時: 2006年02月09日01時47分36秒
カテゴリ: Bugzilla-org
固定リンク: id=2006020900
リンク元: 2件
SNS: (list)

このトピックはMozilla Japanの公式アナウンスととってもらってかまいません。

Bugzilla-orgにおいて、jp-criticalというキーワードが追加されました。

キーワードなので編集権限を持つ人や、バグの報告者、担当者は自由に編集できますが、このキーワードは無断で使用しないようにお願いします。主に、本家関係者やMozilla Japanがマーケティング上の問題から、特に重要なものにのみ付加することで、このキーワードの存在価値を落とさないようにするためです。もし、このキーワードが付加されるべき、重要なバグがある場合は私に連絡をください。

よろしくお願いいたします。

2006年2月11日

Bug 4496 intl.menuitems.alwaysappendaccesskeys を true にするとアクセスキーが二重に表示される(タイトルの最後が(X)だった場合、(X)を自動生成すべきではない) 初回投稿日時: 2006年02月11日00時40分58秒
カテゴリ: Firefox
固定リンク: id=2006021101
リンク元: 0件
SNS: (list)

Firefoxの日本語版でYes/Noのダイアログでボタンにアクセスキーが設定されていないのはこのバグが原因。リソース修正は1.5.0.xではできないため、修正は早くてもFirefox2にまで延びることになる。

とりあえずTrunkでの修正は完了したので、副作用が無いかどうか念のために数日放置して、何の報告もなければ1.8 Branchにもチェックイン予定。

2006年2月12日

だぶり 初回投稿日時: 2006年02月12日01時39分31秒
カテゴリ: 雑談
固定リンク: id=2006021200
リンク元: 0件
SNS: (list)

今日、車で聞くためにCDをリッピングしてたら、ふたつもダブって買ってるのに気づいた。CDシングルではよくやってしまう(コミックとDVDではまだ一回ずつしか経験無いけど)。買ったものの、消化が遅いんで、買ってるかどうか忘れるのが原因なのだが、どうしたものか。

Bug 2817 「ソ」や「予」など(2バイト目が0x5C)がフォルダー名にあると、Netscape 4.xのメールフォルダーのインポートが正常にできない 初回投稿日時: 2006年02月12日01時43分28秒
カテゴリ: SeaMonkey Thunderbird
固定リンク: id=2006021201
リンク元: 0件
SNS: (list)

古いバグだったがようやく修正完了。

obsoleteとなっているXPCOMのコアモジュールがマルチバイトを意識していなかったのが原因。

2006年2月13日

Bug 3760 文書のフォント指定を無視する設定にしている場合に、'font-family' プロパティを指定するとmonospaceで表示されるべき文字も標準のフォントで表示される 初回投稿日時: 2006年02月13日00時43分04秒
カテゴリ: Mozilla Core
固定リンク: id=2006021300
リンク元: 0件
SNS: (list)

David Baronによって修正された。

以前、パッチを出していて、それがボツになっていたのを忘れていた。他にそういうの無かったかな……

2006年2月16日

Firefoxの使用メモリ量雑感 初回投稿日時: 2006年02月16日04時22分47秒
最終更新日時: 2006年02月17日02時11分55秒
カテゴリ: Firefox
固定リンク: id=2006021600
リンク元: 14件
SNS: (list)

slashdotで話題になっているが、まあ、メモリ食いなのは仕様ではある。正直、何を今更、という感がぬぐえない話なのだが、少しだけ雑感を。

Fx1.5以降はbfcacheが搭載され、これのメモリ消費がバカにならない訳だが、そもそもbfcacheが実装されたいきさつを考えると、Operaのようにレイアウト結果もキャッシュに保存しておいて、戻る、進むを高速化して欲しいという要望があったからであって、これをオフにすると、今度は速度で文句を言う人間が出てくるのみで堂々巡りがオチである。(注意: bfcacheが実際に何を保存しているのかは知らない。レイアウト結果ではないかもしれない。)

駄目なロジックを改善する場合を除けば、高速化というのは、メモリをいかにうまく使って計算回数を減らすか、ということになるのではないかと思う。(例えば、昔から有名なのは三角関数を多用するなら、計算結果を配列に保存しておくとか。)そういう意味では、あちらを立てればこちらが立たない、という状況になってくる訳だ。つまり、いくらバランスをとろうとしても、どこかにそのチューニングによる被害を受ける人は出てくると思う。(もちろん、マーケティング上は、この被害者をいかに減らせるかが問題ではあるが、大半の設定はマーケティングとは無関係に開発者によって決定されてリリースされるので、普通の商品とは少し事情が違っている。)

ここで注意したいのは、Mozilla系のプロダクトはある一貫したポリシーを持っている(と思われる)ことだ。メモリを犠牲にして、速度向上に努めるのが基本方針のようである。(誰の意志が色濃く反映されているか分からないので偶然かもしれないが、)例えば、Windows版で、ウインドウを最小化してもメモリを解放しなくなったのは、ウインドウ復元時にパフォーマンス低下の苦情が多かったことへの対応なので、この方針に一致している。

また、内部処理で多用されているnsIAtomにしても同じである。メモリ食いだが、文字列比較に比べれば明らかに高速に処理できる。

つまり、結論を言えば、Mozilla系のプロダクトはデフォルト設定のままだとCPUに金をかけたPCよりもメモリに金をかけたPCのほうが快適に動くということである。(設定でbfcache等を無効にすることでメモりへの負担は軽減可能なので、製品のパフォーマンスが最も発揮される状態が初期設定となっているのは自然なことである。)

メモリ不足を深刻に考えるユーザへのアドバイスとしては、設定をチューニングするのはもちろん、タブを開きすぎるな、とも言いたい。何十個もタブを開いたら、すごい容量のメモリを食うが、考えてみれば当然の話だ。なぜなら、それだけのウインドウを開いているのと変わらないのだから。(しかもそれぞれのタブにひもづいてbfcacheも倍増する。)

タブブラウザは画面にウインドウが氾濫しないという点では優れているが、メモリ消費に関しては、非タブブラウザと大して変わりはない。もし、その見た目から省メモリであると思う人がいるなら考えを改めた方が良い。

結局の所、Mozilla関連プロダクトは潤沢なリソースのある環境ほど高速に動作するように設計(設定)されていると言える。長年PCをアップグレードしていないユーザからは苦情が出るかもしれないが、頻繁にアップグレードしているユーザが利益を享受できるというのは健全で理にかなっていると言える。車で考えると分かりやすい。快適に乗りたければそれなりに金を積む必要があるわけだ。

Bug 4057 [Mac] ユーザインターフェースのフォントが OS 標準と異なる 初回投稿日時: 2006年02月16日04時29分48秒
カテゴリ: Mozilla Core
固定リンク: id=2006021601
リンク元: 0件
SNS: (list)

MacのUIは日本語環境で動かしていると、常にヒラギノ角ゴ Pro W3で表示されていたが、ネイティブなUIと同様に、ASCII文字はLucida Grandeで表示されるように改善された。修正してくれたYamashitaさんに感謝。

少しアドホックな修正で反対意見も出ていたが、私はリスクの低いこの修正は価値があると考えている。

ちなみに、この修正で分かったが、CSSのシステムフォント指定には欠陥がある。また次回、別のトピックでこのことを書きたいと思う。

1.8.0.2で修正されるバグ 初回投稿日時: 2006年02月16日04時38分57秒
最終更新日時: 2006年02月16日18時26分21秒
カテゴリ: Firefox Mozilla Core Thunderbird
固定リンク: id=2006021602
リンク元: 2件
SNS: (list)

1.8.0 branchにもチェックインされた日本人が修正したバグを列挙しておく。

2006年2月17日

2006年2月20日

新たに1.8 branchにチェックインした修正(日本人が修正したもののみ) #4 初回投稿日時: 2006年02月20日23時54分34秒
カテゴリ: Firefox Mozilla Core Thunderbird
固定リンク: id=2006022004
リンク元: 0件
SNS: (list)

2006年2月21日

Bug 4997 はじめてのバグジラの改訂 初回投稿日時: 2006年02月21日05時00分00秒
カテゴリ: Bugzilla-jp
固定リンク: id=2006022100
リンク元: 0件
SNS: (list)

製作快調。いままでのはじバグは長い一ページだったが、現在の予定では草案は短い全30ページ弱の構成になる予定。今年度中には他のスタッフとの合意もとりつけて公開したい。Bugzilla-jpについて、ルールがよく分からない点があれば、私にメールを出して欲しい。できる限り、このドキュメントに盛り込みたいと考えている。

今後、草案の完成後、コアスタッフの間で調整して、その後、各担当者レベルの人達にもチェックしてもらって公開にもっていきたい。

Bug-org 192767 Horizontal scrollbar missing on right-to-left (RTL/Hebrew/Arabic) page that doesn't fit in the screen 初回投稿日時: 2006年02月21日05時18分04秒
最終更新日時: 2006年02月21日05時25分42秒
カテゴリ: Mozilla Core
固定リンク: id=2006022101
リンク元: 0件
SNS: (list)

David Baronがかなり動くパッチを作れたみたいなのだが、まだいくつかの問題を抱えてる模様。

I still have to:
 * fix CanvasFrame
 * test XULScrollFrame more (I think it needs some work)
 * figure out why I see problems when maximizing an RTL page scrolled all the
way to the left such that the scrollbars go away (perhaps we're optimizing
something we shouldn't be)

実に惜しい。残念ながら、彼はこのまま作業を続行することはできないらしい。

2006年2月22日

Bug-org 328036 Flashbar does not flash 初回投稿日時: 2006年02月22日02時09分24秒
最終更新日時: 2006年02月22日02時13分37秒
カテゴリ: Firefox
固定リンク: id=2006022200
リンク元: 0件
SNS: (list)

Find Toolbarのフラッシュが正常に機能しなくなっていたregression。報告から3時間で決着してしまったのでBugzilla-jpに該当のバグは登録していない。

2006年2月24日

Bug 4967 CSSの絶対単位で長さを指定されていると、印刷時に拡大、縮小できない #2 初回投稿日時: 2006年02月24日04時02分24秒
カテゴリ: Mozilla Core
固定リンク: id=2006022400
リンク元: 0件
SNS: (list)

印刷とCairoのように、元々内部的にスケールを変更している場合に壮大にバグるということでバックアウトされた。それも想定してパッチを書いたので、私のnsPresContext::PixelsToTwipsの解釈が間違ってるっぽいなぁ。

2006年2月25日

Cairoはまだかー 初回投稿日時: 2006年02月25日00時40分17秒
最終更新日時: 2006年02月25日00時49分39秒
カテゴリ: Mozilla Core
固定リンク: id=2006022500
リンク元: 0件
SNS: (list)

間もなくというアナウンスは出ているが早くして欲しいなぁ。Geckoでいじりたいけど控えてるバグがあるし、いくつかの重大なバグの修正がCairoのランディング待ちになっている模様。

とりあえずバグだらけで何度も炎上させてしまったVC6++のサポートが終了するのはありがたい。

とか書いた矢先に新しいビルド(24日分)をインストールするとCairoになってた。思ってたより高速。

誰だ、thebesの設計者は 初回投稿日時: 2006年02月25日22時09分16秒
最終更新日時: 2006年02月25日22時23分37秒
カテゴリ: Mozilla Core
固定リンク: id=2006022501
リンク元: 0件
SNS: (list)

なんていうか駄目駄目。Geckoがtwipsで処理したのを、Cairoのピクセル単位に補正してからgfxTextRunに渡して、gfxTextRun内部では物理ピクセルからCairoピクセルに変換したものと足し算したりでえらいことに。そりゃ、四捨五入による誤差が出まくってまともな表示ができないってもんだ。

ちょっと誤解。gfxTextRunの設計がまずいんじゃなくて、nsThebesFontMetrics::DrawStringとその呼び出し先が滅茶苦茶なだけっぽい。眠くて頭動かないので明日このへんリファクタリングしてみよう。

2006年2月28日

Bug-org 327363 Character spacing bad in Cairo with ClearType enabled 初回投稿日時: 2006年02月28日12時50分17秒
カテゴリ: Mozilla Core
固定リンク: id=2006022801
リンク元: 0件
SNS: (list)

ClearTypeを有効にしていると文字幅の計算が狂うというバグ。私が別のバグで出していたパッチの一部で、これをはじめとしたいくつかのバグが修正されるというので先行でチェックインされて修正されている。