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でも一度しか確認できなかったのか、この頻度の差がよく分かっていません。タイマの実装の差とかによるものなのでしょうか?