Bug-org 1173678 [e10s] ContentCache::GetUnionTextRect() should ignore some text rects which are not cached
初回投稿日時: 2015年06月19日17時56分25秒
カテゴリ: e10s IME Mac Mozilla Core Mozilla41 TSF バグ修正
SNS:
Tweet (list)
e10sモードではTabParent
がIMEから受け取ったイベントを子プロセスに送信し、その結果を受けとるまでにはタイムラグがあります。そのため、未確定文字列の変更直後にIMEがコンテンツを確認しにきた場合、必ず、TabParent
側のContentCache
には古い情報がキャッシュされていることになります。
しかし、このようなシステムを想定して設計されているTSFでも肝心のTIPで対応が完璧なものはありませんし、CocoaのAPIに至っては、そのようなアプリを想定すらしていませんので、またしてもハックが必要な局面です。
今回の修正では、文字の矩形を問い合わせに来た場合、普通は最初の文字の矩形のみが重要ですので、その矩形がキャッシュにある場合、2文字目以降の矩形の情報をキャッシュしていなくても、分かる範囲で矩形を結合してIMEに返すようにしました。