Bug-org 553975 Caret is painted under textframe in input/textarea element
初回投稿日時: 2010年03月28日14時21分01秒
カテゴリ: Mozilla Core バグ修正
SNS:
Tweet (list)
LinuxでIMの色設定を使うように修正中に発見したバグです。
未確定文字列の背景色を指定しているとinput
要素とtextarea
要素ではキャレットが背景色よりも下側に描画されて表示されなくなるというバグです。input
要素とtextarea
要素の中身すらGeckoではDOMツリーを作って管理していますが、この内容の描画処理を単純化するためにpositionedなボックスとして扱っています。このため、CSSのレイヤー的には、input
とtextarea
の(本来の)コンテンツレイヤーの上層に、実際のコンテンツが描画されるpositionedのレイヤーが来るという形になっていました。しかし、キャレットを常にコンテンツのレイヤーに挿入するようにしていたため、positionedな実際のコンテンツがこれを上書きしてしまうというバグを生んでいました。
今回のパッチではキャレットもこのケースではpositionedなレイヤーに配置するように修正しています。