Bug-org 1215816 nsContentIterator::Init(nsIDOMRange*) shouldn't include end node if it's an empty element and end offset is 0 when mPre == true
初回投稿日時: 2015年10月31日11時57分18秒
カテゴリ: Mozilla Core Mozilla44 バグ修正
SNS:
Tweet (list)
ContentEventHandler
の修正をしていて発見したnsContentIterator
のバグです。NS_NewPreContentIterator()
でインスタンスを生成した場合、指定した範囲のルートとなる要素から最初の葉ノードまで列挙していく、開始タグを列挙する動作になりますが、この場合に指定した範囲の最後のノードが子ノードを持たず、ノード内のオフセットが0の場合に、その要素自身を列挙してしまうというバグです。
例えば、<p>[<br>]<br></p>
の"[]"の選択範囲を表現しようとした場合、開始位置が最初の<br>
要素のオフセット0、終了位置が二つ目の<br>
要素のオフセット0という形もあり得ます。この場合、最初の<br>
要素のみが列挙されるべきという話です。