この日記は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 バグ報告 バグ検証中
固定リンク: id=2010020800
SNS: (list)

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

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

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

Bug-org 544168 nsIEditorIMESupport::endComposition shouldn't be scriptable 初回投稿日時: 2010年02月08日22時53分14秒
カテゴリ: Mozilla Core バグ修正
固定リンク: id=2010020801
SNS: (list)

nsIEditorIMESupport::endComposition()は昔のなんでもかんでもXPCOMで作ろう、としていた当時のエディタ内部用のメソッドなので、本来はscriptableなインターフェース自体に存在する必要がないものなのですが、その上、scriptableなメソッドとして定義されていました。外部から未確定文字列の編集を終了させたい場合はforceCompositionEnd()を使ってください。

Bug-org 543511 In Firefox 3.6 Intellipoint mouse scrolling acceleration is disabled downwards, acceleration still works upwards. 初回投稿日時: 2010年02月08日22時58分54秒
カテゴリ: Mozilla Core バグ修正
固定リンク: id=2010020802
SNS: (list)

Firefox3.6でマウスホイールを使ったときに、上方向にはマウスドライバの加速が効くけど、下方向へのスクロール時は通常のスピードに制限されてしまう、というバグです。

例のシステム設定のスクロールスピードの上書きによるregressionです。二つのイージーミスがありました。

  1. 負のデルタ値の計算時に正の値で計算した加速の限界速度とをそのまま比較していた
  2. イベントのデルタ値が算出した限界速度よりも速い場合にも、限界速度に丸め込んでしまっていた

これだけ書くとコードを書いてる時のテストで見つからなかったのが変な感じもしますが意外とこれにハマる環境は少ないはずです。

2010年2月12日

OCZ VERTEX、また死亡 初回投稿日時: 2010年02月12日05時28分17秒
カテゴリ: 雑談
固定リンク: id=2010021200
SNS: (list)

システムドライブに使っていたOCZのVERTEX(120GB)がまた死亡。一台目は一週間持たず初期不良交換、二台目も半年で駄目になりました。もう二度とOCZ製品は買うまい。

にしてもなんでこんな忙しい時に。