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

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

もずはっく日記(2013年12月)

2013年12月19日

Bug-org 948839 Drag and Drop broken
初回投稿日時: 2013年12月19日15時06分17秒
カテゴリ: Events Firefox Mozilla Core Mozilla28 Mozilla29 バグ修正
SNS: (list)

ファイルやURLを<input>要素等にドロップしても、タブがそれを読み込んでしまって、ドロップした要素固有の処理にならない、というバグです。

Bug-org 930374の修正時に、ドラッグイベントが利用していたmozilla::EventFlags::mDefaultPreventedByContentフラグの設定条件を私もレビュアのSmaugも共に誤解していたため、これをそのまま流用したことが原因です。

ドラッグイベントでは、これを、どのコンテキストでEvent.preventDefault()が呼び出されたのか、ではなく、contentとchrome、どちの要素上にある時に呼び出されたのか、を記録していました。

今回の修正で、WidgetDragEvent::mDefaultPreventedOnContentを新たに作り、こちらに元通りの条件でtrueをセットするようにしています。

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

bug-org 948839を含むエントリ