Index: chrome/browser/ui/cocoa/location_bar/autocomplete_text_field_editor.mm |
diff --git a/chrome/browser/ui/cocoa/location_bar/autocomplete_text_field_editor.mm b/chrome/browser/ui/cocoa/location_bar/autocomplete_text_field_editor.mm |
index deb9b2d6ef362d65c0bd8b97d6b8273cd378325a..dc569f469eade2b898340f0e2bdeb0346ae83a59 100644 |
--- a/chrome/browser/ui/cocoa/location_bar/autocomplete_text_field_editor.mm |
+++ b/chrome/browser/ui/cocoa/location_bar/autocomplete_text_field_editor.mm |
@@ -96,6 +96,13 @@ BOOL ThePasteboardIsTooDamnBig() { |
[self delete:nil]; |
} |
+- (void)copyURL:(id)sender { |
+ AutocompleteTextFieldObserver* observer = [self observer]; |
+ DCHECK(observer); |
+ if (observer->CanCopy()) |
+ observer->CopyURLToPasteboard([NSPasteboard generalPasteboard]); |
+} |
+ |
// This class assumes that the delegate is an AutocompleteTextField. |
// Enforce that assumption. |
- (AutocompleteTextField*)delegate { |
@@ -208,6 +215,19 @@ BOOL ThePasteboardIsTooDamnBig() { |
[menu addItemWithTitle:l10n_util::GetNSStringWithFixup(IDS_COPY) |
action:@selector(copy:) |
keyEquivalent:@""]; |
+ |
+ if ([self isEditable]) { |
+ // Copy URL if the URL has been replaced by the Extended Instant API. |
+ AutocompleteTextFieldObserver* observer = [self observer]; |
+ DCHECK(observer); |
+ if (observer->ShouldAddCopyURL()) { |
+ NSString* label = l10n_util::GetNSStringWithFixup(IDS_COPY_URL_MAC); |
+ [menu addItemWithTitle:label |
+ action:@selector(copyURL:) |
+ keyEquivalent:@""]; |
+ } |
+ } |
+ |
[menu addItemWithTitle:l10n_util::GetNSStringWithFixup(IDS_PASTE) |
action:@selector(paste:) |
keyEquivalent:@""]; |