| Index: chrome/browser/ui/views/location_bar/location_bar_view.cc
|
| ===================================================================
|
| --- chrome/browser/ui/views/location_bar/location_bar_view.cc (revision 120016)
|
| +++ chrome/browser/ui/views/location_bar/location_bar_view.cc (working copy)
|
| @@ -1017,9 +1017,10 @@
|
| bool LocationBarView::SkipDefaultKeyEventProcessing(
|
| const views::KeyEvent& event) {
|
| #if defined(OS_WIN)
|
| + bool views_omnibox = views::Widget::IsPureViews();
|
| if (views::FocusManager::IsTabTraversalKeyEvent(event)) {
|
| - if (location_entry_->model()->popup_model()->IsOpen()) {
|
| - // Return true so that the edit sees the tab and moves the selection.
|
| + if (HasValidSuggestText()) {
|
| + // Return true so that the edit sees the tab and commits the suggestion.
|
| return true;
|
| }
|
| if (keyword_hint_view_->visible() && !event.IsShiftDown()) {
|
| @@ -1027,6 +1028,12 @@
|
| return true;
|
| }
|
|
|
| +#if !defined(USE_AURA)
|
| + // If the caret is not at the end, then tab moves the caret to the end.
|
| + if (!views_omnibox && !GetOmniboxViewWin()->IsCaretAtEnd())
|
| + return true;
|
| +#endif
|
| +
|
| // Tab while showing instant commits instant immediately.
|
| // Return true so that focus traversal isn't attempted. The edit ends
|
| // up doing nothing in this case.
|
| @@ -1035,7 +1042,7 @@
|
| }
|
|
|
| #if !defined(USE_AURA)
|
| - if (!views::Widget::IsPureViews())
|
| + if (!views_omnibox)
|
| return GetOmniboxViewWin()->SkipDefaultKeyEventProcessing(event);
|
| #endif
|
| NOTIMPLEMENTED();
|
|
|
| Property changes on: chrome/browser/ui/views/location_bar/location_bar_view.cc
|
| ___________________________________________________________________
|
| Deleted: svn:mergeinfo
|
|
|
|
|