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

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

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

2015年7月19日

Bug-org 1179082 ContentEventHandler::OnQueryCaretRect() should guess caret rect when the selection is collapsed but there is no caret frame
初回投稿日時: 2015年07月19日12時39分24秒
カテゴリ: Mozilla Core Mozilla42 バグ修正
SNS: (list)

ContentEventHandlerはキャレットの矩形を取得する際に、検索されたオフセットが、現在のキャレット位置と一致している場合にはキャレットフレームのものを直接利用しようとします。そうしないと、例えば<img>が存在していると、実際のキャレット位置とオフセット位置の文字の矩形から算出したキャレットの矩形が異なることがあるからです。しかし、Mac OS Xの辞書検索サービスのNSTextInputClientプロトコルの「悪用」によりキャレットフレームが存在していないことがあり、その場合には矩形の取得に失敗していました。

今回の修正でキャレットフレームが存在していない場合には、そもそも実際のキャレットを利用しようとせず、オフセット位置の文字の矩形から推測するようにしています。

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

bug-org 1179082を含むエントリ