Bug-org 739557 intermittent editor/libeditor/html/tests/test_dom_input_event_on_htmleditor.html | Editor4, html and div has contenteditable attribute: wrong element was edited - got , expected a
初回投稿日時: 2012年03月31日13時42分28秒
カテゴリ: Mozilla Core Mozilla14 バグ修正
SNS:
Tweet (list)
もうひとつ、ランダムオレンジの修正です。
ランダムな理由についてはまだ理解できていないのですが、原因はElement.focus()
メソッドの挙動の誤解にありました。contenteditable
な要素がネストしていて、子孫側の要素にキャレットをおいて入力した時に、イベントのターゲットが正しく祖先側の要素になっているかをテストする前に、そのiframe
要素内のwindow
にフォーカスをあて、その後、子孫側の要素のfocus()
を呼んでいました。しかし、これでは要素にはフォーカスが移動しないことをコードを読んで確認しました。このため、window.focus()
だけで上手い具合にキャレット位置がテスト開始前に運良く移動してくれた場合(ほとんどのケースですが)にのみテストがパスしていたようです。何故非同期になる時とならない時があるのかが分かっていませんが。