Bug-org 707859 sometimes fires mousemove event after dragstart
初回投稿日時: 2012-02-25 09:55:20
カテゴリ: Mozilla Core Mozilla13 バグ修正
SNS:
Tweet (list)
主にLinuxで、dragstartイベント後にmousemoveイベントが時々発生していたというバグです。安全策のパッチを入れるまでは、これが原因でツールチップがドラッグ中に表示されたりしていました。
原因は、レイアウトに変更があった際に:hover状態の変更を行うため等にmousemoveイベントを内部で生成し、非同期で発火しています。この非同期というのがくせ者で、この間にdragstartが割り込むとmousemoveイベントがドラッグ中に発生していたわけです。
実際にイベントを発火する際にドラッグが始まっているかどうか確認し、始まっていた場合はそのイベント自体を発火しないようにする、という形で修正しています。
ただ、なぜWindowsでは一度も確認できず、Macでも一度しか確認できなかったのか、この頻度の差がよく分かっていません。タイマの実装の差とかによるものなのでしょうか?