summaryrefslogtreecommitdiffstats
path: root/chrome/browser
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser')
-rw-r--r--chrome/browser/autocomplete/autocomplete_edit_view_mac.h2
-rw-r--r--chrome/browser/autocomplete/autocomplete_edit_view_mac.mm9
2 files changed, 8 insertions, 3 deletions
diff --git a/chrome/browser/autocomplete/autocomplete_edit_view_mac.h b/chrome/browser/autocomplete/autocomplete_edit_view_mac.h
index 9b22412..6c7ccfb 100644
--- a/chrome/browser/autocomplete/autocomplete_edit_view_mac.h
+++ b/chrome/browser/autocomplete/autocomplete_edit_view_mac.h
@@ -100,7 +100,7 @@ class AutocompleteEditViewMac : public AutocompleteEditView {
void AcceptInput(WindowOpenDisposition disposition, bool for_drop);
- // Helper for LocationBarViewMac. Selects all in |field_|.
+ // Helper for LocationBarBridge.
void FocusLocation();
private:
diff --git a/chrome/browser/autocomplete/autocomplete_edit_view_mac.mm b/chrome/browser/autocomplete/autocomplete_edit_view_mac.mm
index 9fe6ab9..6f8f6c8 100644
--- a/chrome/browser/autocomplete/autocomplete_edit_view_mac.mm
+++ b/chrome/browser/autocomplete/autocomplete_edit_view_mac.mm
@@ -549,8 +549,13 @@ void AutocompleteEditViewMac::AcceptInput(
}
void AutocompleteEditViewMac::FocusLocation() {
- [[field_ window] makeFirstResponder:field_];
- DCHECK_EQ([field_ currentEditor], [[field_ window] firstResponder]);
+ // -makeFirstResponder: will select the entire field_. If we're
+ // already firstResponder, it's likely that we want to retain the
+ // current selection.
+ if (![field_ currentEditor]) {
+ [[field_ window] makeFirstResponder:field_];
+ DCHECK_EQ([field_ currentEditor], [[field_ window] firstResponder]);
+ }
}
@implementation AutocompleteFieldDelegate