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

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

もずはっく日記(2015年11月)

2015年11月13日

Bug-org 1092626 [non-e10s] twitter web UI (twitter.com) scrolls up unexpectedly at doing RT or showing image
初回投稿日時: 2015年11月13日08時16分04秒
カテゴリ: Mozilla Core Mozilla43 Mozilla44 Mozilla45 バグ修正
SNS: (list)

TwitterのWebサイトで、RTしようとして出たダイアログや、画像を拡大表示させた時の全画面表示のダイアログを閉じた時に、スクロール位置が上端まで戻ってしまうことがあるというバグです。Twitterユーザには前々から不評だったバグです。

Geckoは大きなページをレイアウト中にユーザの操作を検出するとレイアウトの処理を一時中断し、出来上がっているところまで表示するinteruptive layoutという機能を実装しています。テストケースによると、この際に<body>要素にreflowが再発生するとスクロール位置をリセットしてしまい、一時的に表示が失われてしまうことがあるようです。

nsGfxScrollFrameで、その元となった要素にreflowが発生し、dirtyな状態になっている場合にはスクロール位置の復元を行わず、そのreflowが処理された後に復元させることで修正されています。

Army of Awesomeでも時々見かける苦情なので、upliftを希望していましたが、無事、Betaでの修正まで承認され、Firefox 43にもパッチが投入されました。

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

bug-org 1092626を含むエントリ

このエントリへのリンク元