Bug-org 1184986 [e10s][TSF] ContentCache shouldn't notify IME of layout change until all sending events are handled
初回投稿日時: 2015年07月25日16時50分21秒
最終更新日時: 2015年07月26日14時31分26秒
カテゴリ: e10s GTK IME Mozilla Core Mozilla42 TSF Windows バグ修正
SNS:
Tweet (list)
Bug-org 1176954の修正で、IMEへの通知を一部、子プロセスへの送信中のイベントが残っている場合には延期するようにしましたが、NOTIFY_IME_OF_POSITION_CHANGE
に関してもそれが必要というバグです。
TSFの動作を見ていると、NOTIFY_IME_OF_POSITION_CHANGE
をきっかけに、ITextStoreACPSink::OnLayoutChange()
が呼び出されると、即座にITextStore::GetTextExt()
を呼び出し、文字位置を取得しようとします。しかし、この際にまだ全てのイベントが処理されていないため、期待したオフセットの文字がまだ存在していない可能性が高く、処理に失敗してしまっていました。
今回の修正で、NOTIFY_IME_OF_POSITION_CHANGE
も全てのイベントの送信が完了するまで延期するようにすることで、IMEから見て、コンテンツの更新具合に矛盾がないようになりました。