Index: content/browser/web_contents/web_contents_view_aura.cc |
diff --git a/content/browser/web_contents/web_contents_view_aura.cc b/content/browser/web_contents/web_contents_view_aura.cc |
index 3cae1cc9100ed874ac25d94e75629e9e481fdf19..d00850b6370f18c1ec56f48a69afbaad79a55e68 100644 |
--- a/content/browser/web_contents/web_contents_view_aura.cc |
+++ b/content/browser/web_contents/web_contents_view_aura.cc |
@@ -331,6 +331,7 @@ void PrepareDropData(DropData* drop_data, const ui::OSExchangeData& data) { |
if (url.is_valid()) { |
drop_data->url = url; |
drop_data->url_title = url_title; |
+ drop_data->has_url = true; |
} |
base::string16 html; |
@@ -1283,8 +1284,13 @@ int WebContentsViewAura::OnPerformDrop(const ui::DropTargetEvent& event) { |
if (!current_drop_data_) |
return ui::DragDropTypes::DRAG_NONE; |
+ current_drop_data_.reset(new DropData()); |
+ |
+ PrepareDropData(current_drop_data_.get(), event.data()); |
+ |
web_contents_->GetRenderViewHost()->DragTargetDrop( |
- event.location(), gfx::Screen::GetScreen()->GetCursorScreenPoint(), |
+ *current_drop_data_.get(), event.location(), |
+ gfx::Screen::GetScreen()->GetCursorScreenPoint(), |
ConvertAuraEventFlagsToWebInputEventModifiers(event.flags())); |
if (drag_dest_delegate_) |
drag_dest_delegate_->OnDrop(); |