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

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

もずはっく日記(2010年2月)

2010年2月8日

Bug-org 544769 [TSF] Redesign nsTextStore and TSF related stuff
初回投稿日時: 2010年02月08日12時58分46秒
カテゴリ: Mozilla Core TSF Windows バグ報告 バグ検証中
SNS: (list)

そろそろ他の作業が落ち着いてきたのでTSFの作業を再開しようと考えています。

今のところ、最大の癌であるNatural Inputの動作にあわせて修正していくのではなく、まずはW3C側のHTML、DOMの仕様と、TSFの柔軟すぎる仕様の両方に合わせるためにnsEditornsIMEStateManagernsTextStoreそれぞれの修正、および関係の改善、そして新しいnsLockedContents (widget/src/xpwidgets ?) を作成しなくてはいけないと思います。

nsLockedContentsはロックが要求された時に生成され、ロックが終了する時にそれまでに行われた変更をまとめて通知するというのが基本的な機能です。これにより、Webコンテンツは従来通りいつでもDOMに対して変更をかけられますが、TSFがロック中はTIPからこのクラス内にキャッシュした内容にしかアクセスできないため、ロックが実現されているように振る舞うことができるのではないかと考えています。また、キャッシュしてしまうことにより、ロック中に多数のドキュメントへのアクセスが集中しても高速に処理することが可能になります。問題は、writeロックがかけられている状態で、実際にJavascriptがDOMツリーを変更してしまった場合、ロックが解除されるまで座標の問い合わせには対応できなくなる点です。この点に関してだけは仕方ないかなと考えています。

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

bug-org 544769を含むエントリ