Index: chrome/browser/autocomplete/autocomplete_edit_view_mac.mm |
diff --git a/chrome/browser/autocomplete/autocomplete_edit_view_mac.mm b/chrome/browser/autocomplete/autocomplete_edit_view_mac.mm |
index ad6e11bf3974c718241d8579c62849a67bac3022..98e7af625da3896254e6d47f10354977a4ce354f 100644 |
--- a/chrome/browser/autocomplete/autocomplete_edit_view_mac.mm |
+++ b/chrome/browser/autocomplete/autocomplete_edit_view_mac.mm |
@@ -767,31 +767,23 @@ void AutocompleteEditViewMac::OnCopy() { |
if (selection.length == 0) |
return; |
- const std::wstring& text = GetText(); |
- const string16 text16 = WideToUTF16(text); |
- |
+ std::wstring text = base::SysNSStringToWide( |
+ [[field_ stringValue] substringWithRange:selection]); |
+ |
+ GURL url; |
+ bool write_url = false; |
+ model_->AdjustTextForCopy(selection.location, IsSelectAll(), &text, &url, |
+ &write_url); |
+ string16 text16 = WideToUTF16(text); |
ScopedClipboardWriter scw(g_browser_process->clipboard()); |
- // If the entire contents are being copied and it looks like an URL, |
- // copy as a hyperlink. |
- if (IsSelectAll()) { |
- GURL url; |
- if (model_->GetURLForText(text, &url)) { |
- if ((url.SchemeIs("http") || url.SchemeIs("https")) && |
- !model_->user_input_in_progress()) |
- scw.WriteText(UTF8ToUTF16(url.spec())); |
- else |
- scw.WriteText(text16); |
- scw.WriteBookmark(text16, url.spec()); |
- |
- // This line, cargo cult copied from the Windows and GTK |
- // versions (perhaps), breaks paste of an URL into Powerpoint |
- // 2008. http://crbug.com/41842 |
- // scw.WriteHyperlink(EscapeForHTML(WideToUTF8(text)), url.spec()); |
- return; |
- } |
+ scw.WriteText(text16); |
+ if (write_url) { |
+ scw.WriteBookmark(text16, url.spec()); |
+ // This line, cargo cult copied from the Windows and GTK |
+ // versions (perhaps), breaks paste of an URL into Powerpoint |
+ // 2008. http://crbug.com/41842 |
+ // scw.WriteHyperlink(EscapeForHTML(WideToUTF8(text)), url.spec()); |
} |
- |
- scw.WriteText(text16.substr(selection.location, selection.length)); |
} |
void AutocompleteEditViewMac::OnPaste() { |