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

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

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

2014年7月24日

Bug-org 971393 IME composition string becomes invalid if parent of DOM tree is changed
初回投稿日時: 2014年07月24日05時12分28秒
最終更新日時: 2014年07月24日05時38分49秒
カテゴリ: Mozilla Core Mozilla33 TSF Windows バグ修正
SNS: (list)

未確定文字列を持った<input>要素や、<textarea>要素等が、親ごとDOMツリーから削除されて、別の要素に付け替えられると、動作がおかしくなる、というバグです。

Bug-org 960866の修正で、IMEが発生させたDOMイベントはすべて、未確定文字列を持っているエディタ上で発生するようになったので、このバグの大部分はそれで修正されていました。しかし、WindowsのTSFモードでは、IMEがその後使えなくなる、という問題が残っていました。

その原因は、DOMイベントが発生するとセキュリティリスクが高い状態にあると、script blockerという内部システムが機能し、PresSheelがイベントのハンドリングを行わないということにありました。この際に、DOMイベントを実際には生成しないWidgetQueryContentEventをエラーでwidgetに返してしまっていたので、TSFが混乱してしまっていたようです。

PresSheelは、script blockerが働いていても、DOMイベントを生成しない内部イベントは処理するように修正することで対処しました。

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

bug-org 971393を含むエントリ