Index: ui/views/controls/textfield/textfield.cc |
diff --git a/ui/views/controls/textfield/textfield.cc b/ui/views/controls/textfield/textfield.cc |
index a1759901e6b01629360e529a462a91244c9503d2..8ca83cb0e93501fcd2275f9da6b61e02465dce3e 100644 |
--- a/ui/views/controls/textfield/textfield.cc |
+++ b/ui/views/controls/textfield/textfield.cc |
@@ -990,7 +990,6 @@ void Textfield::WriteDragDataForView(View* sender, |
const gfx::Point& press_pt, |
OSExchangeData* data) { |
const base::string16& selected_text(GetSelectedText()); |
- data->SetString(selected_text); |
Label label(selected_text, GetFontList()); |
label.SetBackgroundColor(GetBackgroundColor()); |
label.set_subpixel_rendering_enabled(false); |
@@ -1012,6 +1011,11 @@ void Textfield::WriteDragDataForView(View* sender, |
drag_utils::SetDragImageOnDataObject(*canvas, kOffset, data); |
if (controller_) |
controller_->OnWriteDragData(data); |
+ |
+ // Set the string to |selected_text| if a string was not set by |
+ // |controller_|. |
+ if (!data->HasString()) |
+ data->SetString(selected_text); |
} |
int Textfield::GetDragOperationsForView(View* sender, const gfx::Point& p) { |