« 2011年12月 | トップページ

黒画像で描画をサボるお馬鹿なFirefox

ずっと前から気になっているFirefoxのバグがあるのですが、検索してもそれについてのレポートがどこにも見つからないので、自分でレポートすることにしました。

対象としているのは、Mac版Firefox10.0.1(環境はMacOSX10.5.8)ですが、もう何ヶ月も前の古いバージョンからこの症状は続いています。

前のエントリーに置いてある2つの画像は、どちらも真っ黒なJPEG画像ですが、黒画像2の方は実は隅っこに数ピクセルだけ真っ黒でない部分があり、黒画像1は全面真っ黒です。Firefoxでこれを見ている方は、この黒画像1の方の表示がおかしくなってないでしょうか。(もしかしたらMac版のFirefoxだけかもしれません。)そして、「この症状他でも見た記憶がある」と思う方もいるのではないでしょうか。

違うブラウザで見ている方にはわからないでしょうから、何が起こっているかを説明すると、黒画像1の置いてある場所に対して、どうもFirefoxは、「真っ黒の画像を表示する」のではなく「描画をサボる」という動作をしているようなのです。

これでも何を言っているかわかりませんね(苦笑)。描画をサボるというのは、「背景をそのまま表示する」のとも、「何も表示しない」のとも違います。たとえば、別のサイトからのリンクでこのページを表示したとすると、黒画像が表示されるべきエリアには、「背景をそのまま表示する」場合はブラウザは背景を描画しますし、「何も表示しない」場合はブラウザはその場所をデフォルトの背景色である白に塗りつぶします。しかし、今回の「描画をサボる」場合は、リンクで飛んでくる前にその場所に表示されていたものがそのまま残って表示されてしまいます。次の画像は、前のエントリーから一旦Yahooのサイトに飛んで、戻るボタンで戻ってきた時の画面ですが、黒画像が表示されるべき所にYahooページの一部が残ってしまっています。
Ffbug1

描画をサボるのは、他のサイトから飛んできた時だけではありません。ページをスクロールすると、黒画像の表示されるべき位置(つまり描画をサボる位置)も移動していきますが、そのエリアに直前に表示されていたものが残るため、例えば次のようなことになってしまいます。
Ffbug2

Firefoxが描画をサボるのは、「画像の黒い部分」ではなく、「全面が真っ黒な画像」です。1ピクセルでも真っ黒でない部分があれば症状は出ませんが、全面が真っ黒であれば、JPEGでもGIFでもPNGでも同じ症状が起きます。つまり、その画像が「全面真っ黒である」ということをわざわざ判定した上で積極的にバグを発生させているのです。全く意味不明ですが、開発者が何かの仕様を勘違いしているとしか思えません。この描画をサボる症状は背景画像でも起こるため、ブログなどで背景をあえて真っ黒にするために真っ黒な画像を使用しているページなどでは悲惨なことが起きます。今日現在のインテル長友選手のオフィシャルブログのサイドバーはまさにそういう状態です(涙)。Firefoxで表示してスクロールさせて愕然としてみて下さい。他にも様々なサイトでこの黒画像バグは猛威をふるっています。

これだけあからさまな症状が出ているのに、バグが対策されないのは、まさか真っ黒な画像ピンポイントのバグとはだれも思わないため、症状に出会った人もスクリプトの書き方等で何かブラウザ間で互換性がない部分があるとか、そういう方面の問題だと誤解されて的確なレポートが上がらないのかもしれません…って、いくらなんでも開発者側がまだ気づいてないとは思えませんが…。

可及的速やかにバグ対策してください>Mozilla様。

追記:こちらでこのバグを確認したのはMac版のFirefoxだけなので、Windows版でも起こるものなのか否か、どなたか確認できた方は教えて頂けると幸いです。

| | コメント (4) | トラックバック (0)

Firefoxバグテスト

Black
黒画像1

Black2
黒画像2

| | コメント (0) | トラックバック (0)

« 2011年12月 | トップページ