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
を発行するように修正しました。