Mozilla Flux

Mozilla関係の情報に特化したブログです。

バグに関する話題 090521版

Firefox 3.5 RC1のコードフリーズが近づき、例によってmozilla-1.9.1ブランチへのチェックインが活発になっている。Shiretoko Nightlyに投入され、RC1に反映される予定の修正点について見ていこう。

まず、大きな変更として真っ先に挙がるのは、『新秀の介の日記(2009-05-16)』でも紹介されている”Bug 488966 - Add a last_visit_date column with an index to moz_places”だろう。Placesデータベースを拡張するという大がかりなもので、クエリーの処理の大半がスピードアップし、とりわけ履歴メニューを開く速度が見違えるように改善される。大量の履歴を抱えている場合、Beta 4と比べてみれば速さは一目瞭然だ。

ただ、副作用もある。places.sqliteの互換性がなくなってしまうのだ。上記バグのパッチが投入される以前のFirefox 3.1/3.5 Beta版などにダウングレードすると、履歴などを開けないという問題が生じる。ただ、対策用のスクリプトが現在開発中である(Bug 492379)。加えて、3.0.x系列へのダウングレードは大丈夫だという。なお、互換性のほか、places.sqliteのサイズが増大する(例:68MB→73MB)点もデメリットといえる。

次に、”Bug 487263 - dragging a tab up or over the tab bar then out of the window does not detach”も見逃せない。Firefox 3.5 Beta 4では、たとえば、タブを真上にドラッグして、ウィンドウ外のデスクトップ上でドロップした場合、タブの分離が起こらなかった。タブバーの延長線よりも下の位置でドロップしないと反応しないという不可解な仕様になっていたためだ。これが改められ、上のケースでもちゃんとタブが分離される。これをもって、タブの分離機能はひとまず完成をみた。

他に目に付くのは、Ogg形式の動画の再生機能に関する改良だ。”Bug 474540 - High Definition Theora videos do not play smoothly using <video> element”が修正されて高画質の動画再生はスムーズになり、”Bug 480063 - Infinite loop in oggplay_step_decoding”の修正で一部のボトルネックが解消された。そして、”Bug 476973 - video seeking can break when moving scrubber to beginning or end.”でシークバーの動作が正常化している。

パフォーマンス面の改良では、やや地味だが、『新秀の介の日記(2009-05-19)』で紹介された”Bug 392193 - first run migration / import from ie, opera and safari browser can be slow, migration should use "run in batch"”を取り上げておきたい。この修正により、他のブラウザからプロファイルを移行した際、初回起動にかかる時間が短縮される。とくに、IEから大量のブックマークをインポートする場合に効果が大きい。開発担当者によれば、10,100個のブックマークを含むプロファイルで、これまで3分かかっていたものが7秒で終わったという。

UIでは、「最近の履歴を消去」のダイアログで、いったん詳細を展開したときは、次回以降もそれを記憶するようになった(Bug 491638)。なお、履歴を消去する期間で「すべての履歴」を選ぶと表示に時間がかかる問題も解消されている(Bug 493559)。

あと、Web互換性の問題に関する”Bug 162063 - [FIX]Table-related pseudo-frames do not get removed when DOM/style is changed”も挙げておこう。Geckoがフレームを構築している間、非テーブル関連のフレームがテーブルの内側でかつセルの外側にある場合、「疑似」フレームが作られる。セルがテーブル内にない場合も同様だという。この「疑似」フレームが適切に削除されないことで、細かな問題を多数引き起こしていたのだが、一括して修正された。

残念ながら、”Bug 488800 - qcms ICC version 4 doesn't work on Windows”は解決を見なかった。ICC version 2には対応しているが、Version 4には未対応のまま正式版リリースを迎えることになりそうだ。なお、ICC version 2に対応した画像ファイルでカラーマネジメントを適切に機能させるべく、”Bug 492962 - Color profile reading is broken on windows”が修正された。