Bug-org 1191213 nsBaseWidget::NotifyWindowMoved() shouldn't notify IME when native IME handler doesn't have focus
初回投稿日時: 2015-08-09 11:35:01
最終更新日時: 2015-08-09 11:38:05
カテゴリ: IME Mozilla Core Mozilla42 バグ修正
SNS:
Tweet (list)
ウインドウが移動した場合に、候補ウインドウの位置をそれに追従させるために、nsBaseWidget::NotifyWindowMoved()はNOTIFY_IME_OF_POSITION_CHANGEを発行していますが、IMEContentObserverが存在していない際にも発行していたため、これを確認しようというバグです。
nsBaseWidgetはwidgetのコードですので、dom配下のIMEContentObserverを直接見るべきではありません(簡単にできますが、モジュール間の依存関係上、好ましくない)。そこで、今回の修正では、IMEContentObserverが生成された時に発行されるNOTIFY_IME_OF_FOCUSと、破棄される時に発行されるNOTIFY_IME_OF_BLURの間、nsBaseWidget::mIMEHasFocusをtrueにするようにし、これがtrueの場合にのみ、nsBaseWidget::NotifyWindowMoved()がNOTIFY_IME_OF_POSITION_CHANGEを発行するように修正しました。