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

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

もずはっく日記(2013年5月)

2013年5月31日

Bug-org 824080 selection color outside contenteditable elements becomes gray after a contenteditable element loses focus
初回投稿日時: 2013年05月31日19時51分38秒
カテゴリ: HTML Mozilla Core Mozilla24 バグ修正
SNS: (list)

twitterを使っている時に気付いたのですが、contenteditableな要素にフォーカスを当てた後、ドキュメントの他の部分をマウスで選択すると、選択色が非アクティブ時のままになっていました。

エディタはフォーカスを失う際に、エディタに割り当てられた、nsISelectionControllerを非アクティブ状態にするのですが、contenteditableなエディタでは、そのドキュメント全体を管理しているPresShellnsISelectionControllerの実装になっているため、ドキュメントは引き続きフォーカスを保持しているのに、誤って、状態を変更してしまっていたことが原因でした。

エディタがフォーカスを失う際に、nsISelectionControllerがエディタが固有のものか確認し、ドキュメントと共有している際には、ドキュメントのフォーカス状態も確認して、状態を設定するように修正しています。

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

bug-org 824080を含むエントリ