Bug-org 805766 [TSF] TSF isn't available on designMode editor
初回投稿日時: 2012年11月04日18時54分28秒
カテゴリ: Mozilla Core Mozilla19 TSF Windows バグ修正
SNS:
Tweet (list)
WindowsでTSFモードで動かしていても、designMode
で編集可能なドキュメントではTSFではなく、IMMでIMEが動いてしまうというバグです。
designMode
で編集可能なドキュメントは、要素はフォーカスを持たず、ドキュメントのみがフォーカスを持つことができるという特殊な動作を行います。このため、HTMLエディタのフォーカスイベントのハンドラがnsTextStateManager
の生成をnsIMEStateManager
に促さないといけないのですが、nsFocusManager
が、ドキュメントにフォーカスイベントを送信する前に、nsIMEStateManager::OnFocusChange()
を呼び出していなかったため、nsIMEStateManager
はフォーカスを持っていると思っている要素は、直前にフォーカスを持っていた要素だと思い(つまり、別のドキュメントがフォーカスを持っていると判断され)、処理に失敗していたのがこのバグの原因でした。
修正自体は単純で、フォーカスイベントを送信する前に、nsIMEStateManager::OnFocusChange()
を呼び出し、状態のズレがなくなるようになっています。