この日記はMozillaのプロダクトへの貢献者としての私の成果を中心に、気になったバグやWeb界隈の話題について書いていますが、 断り書きがある場合を除き、いかなる団体のオフィシャルな見解ではありません。あくまでも個人的なものです。 Mozilla Foundation、Mozilla Corporation、及び関連企業の公式情報ではないことに注意してください。

現在、XHTML 1.0 (もどき)から、HTML5なコンテンツに修正中です。古い日記は修正が完了していませんので表示が崩れます。 順次、修正していく予定ですのでしばらくお待ちください。

もずはっく日記(2015年6月)

2015年6月19日

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: (list)

e10sモードではTabParentIMEから受け取ったイベントを子プロセスに送信し、その結果を受けとるまでにはタイムラグがあります。そのため、未確定文字列の変更直後にIMEがコンテンツを確認しにきた場合、必ず、TabParent側のContentCacheには古い情報がキャッシュされていることになります。

しかし、このようなシステムを想定して設計されているTSFでも肝心のTIPで対応が完璧なものはありませんし、CocoaのAPIに至っては、そのようなアプリを想定すらしていませんので、またしてもハックが必要な局面です。

今回の修正では、文字の矩形を問い合わせに来た場合、普通は最初の文字の矩形のみが重要ですので、その矩形がキャッシュにある場合、2文字目以降の矩形の情報をキャッシュしていなくても、分かる範囲で矩形を結合してIMEに返すようにしました。

関連するかもしれないエントリ

bug-org 1173678を含むエントリ