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 7bbc086a194e9d14bb6493d8380b363962ac932d..d1f8f3100787557b1cb3e13abe89177e7cf1252e 100644 |
--- a/chrome/browser/autocomplete/autocomplete_edit_view_mac.mm |
+++ b/chrome/browser/autocomplete/autocomplete_edit_view_mac.mm |
@@ -579,6 +579,10 @@ void AutocompleteEditViewMac::OnPaste() { |
OnAfterPossibleChange(); |
} |
+bool AutocompleteEditViewMac::IsPopupOpen() const { |
+ return popup_view_->IsOpen(); |
+} |
+ |
void AutocompleteEditViewMac::OnControlKeyChanged(bool pressed) { |
model_->OnControlKeyChanged(pressed); |
} |
@@ -645,14 +649,17 @@ std::wstring AutocompleteEditViewMac::GetClipboardText(Clipboard* clipboard) { |
- (BOOL)control:(NSControl*)control |
textView:(NSTextView*)textView doCommandBySelector:(SEL)cmd { |
- if (cmd == @selector(moveDown:)) { |
- edit_view_->OnUpOrDownKeyPressed(false, false); |
- return YES; |
- } |
- |
- if (cmd == @selector(moveUp:)) { |
- edit_view_->OnUpOrDownKeyPressed(true, false); |
- return YES; |
+ // Don't intercept up/down-arrow if the popup isn't open. |
+ if (edit_view_->IsPopupOpen()) { |
+ if (cmd == @selector(moveDown:)) { |
+ edit_view_->OnUpOrDownKeyPressed(false, false); |
+ return YES; |
+ } |
+ |
+ if (cmd == @selector(moveUp:)) { |
+ edit_view_->OnUpOrDownKeyPressed(true, false); |
+ return YES; |
+ } |
} |
if (cmd == @selector(scrollPageDown:)) { |