Bug-org 1176954 [e10s][TSF][GTK?] TabParent shouldn't notify IME until all sending events are handled
初回投稿日時: 2015年07月19日13時40分55秒
カテゴリ: e10s GTK IME Mozilla Core Mozilla42 TSF バグ修正
SNS:
Tweet (list)
e10sモードでは、子プロセスがフォーカスを持つ場合、chromeイベントでハンドリングしたネイティブのIMEイベントが、非同期で子プロセスに処理されることになります。ここで困るのがTSFやGTKでIMEに選択範囲の変化等を通知するタイミングです。これまでは、子プロセスから通知が来た場合に即、TSFやGTKに通知を行っていましたが、子プロセスの処理が遅れている場合、TSFやGTKからするといくつか前の状態が通知されるというおかしなことになります。
今回の修正では、chromeプロセスが送信したWidgetCompositionEvent
と、WidgetSelectionEvent
が子プロセスに受信された時に親プロセスに通知を返すようにし、送信中のイベントが無くなった状況でため込んでいた通知を行う様に修正しました(ただ、今、これを書いていて気付きましたが、子プロセス内でイベントを処理し終えてから通知しないとひとつ古い情報を通知することになりそうな……)。