| Index: content/browser/web_contents/web_drag_source_win.cc
|
| diff --git a/content/browser/web_contents/web_drag_source_win.cc b/content/browser/web_contents/web_drag_source_win.cc
|
| index 18c18819da7ffdd4d85c4a5e9f853005dda425f5..03cdbf250348c4c4ef7109ab8d0fd74aad79cc71 100644
|
| --- a/content/browser/web_contents/web_drag_source_win.cc
|
| +++ b/content/browser/web_contents/web_drag_source_win.cc
|
| @@ -11,6 +11,7 @@
|
| #include "content/public/browser/notification_source.h"
|
| #include "content/public/browser/notification_types.h"
|
| #include "content/public/browser/web_contents.h"
|
| +#include "ui/base/dragdrop/os_exchange_data.h"
|
|
|
| using WebKit::WebDragOperationNone;
|
|
|
| @@ -36,7 +37,8 @@ WebDragSource::WebDragSource(gfx::NativeWindow source_wnd,
|
| : ui::DragSourceWin(),
|
| source_wnd_(source_wnd),
|
| render_view_host_(web_contents->GetRenderViewHost()),
|
| - effect_(DROPEFFECT_NONE) {
|
| + effect_(DROPEFFECT_NONE),
|
| + data_(NULL) {
|
| registrar_.Add(this, NOTIFICATION_WEB_CONTENTS_SWAPPED,
|
| Source<WebContents>(web_contents));
|
| registrar_.Add(this, NOTIFICATION_WEB_CONTENTS_DISCONNECTED,
|
| @@ -67,6 +69,8 @@ void WebDragSource::OnDragSourceCancel() {
|
| }
|
|
|
| void WebDragSource::OnDragSourceDrop() {
|
| + DCHECK(data_);
|
| + data_->SetInDragLoop(false);
|
| // On Windows, we check for drag end in IDropSource::QueryContinueDrag which
|
| // happens before IDropTarget::Drop is called. HTML5 requires the "dragend"
|
| // event to happen after the "drop" event. Since Windows calls these two
|
|
|