Bug-org 183646 ::-moz-selection does not work in form controls (input[type=text], input[type=password], textarea)
初回投稿日時: 2010年04月07日12時59分10秒
カテゴリ: Mozilla Core バグ修正
SNS:
Tweet (list)
input
要素やtextarea
要素では::-moz-selection
が適用されないというバグです。
Geckoはこれらの要素ではnative anonymousな要素を生成します。具体的には以下のようなDOMツリーが形成されます。
<input>(もしくは<textarea>) +- <div> +- text node +- <br> +- ...
これをもとにフレームを作ると
nsTextControlFrame +- nsBlockFrame +- nsTextFrame +- nsBRFrame +- ...
となっています。
::-moz-selection
は特殊で、nsTextFrame
が選択されたテキストを描画する段階で直接、そのフレームのノードの::-moz-selection
疑似要素のスタイルを参照しにいきます。このため、常にnative anonymousなdiv
要素のスタイルを参照しに行って、スタイルが取得できていない、というのがその原因でした。もちろん、実際にはnsTextControlFrame
のスタイルを参照しなくてはいけません。