| OLD | NEW |
| 1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/ui/omnibox/omnibox_edit_model.h" | 5 #include "chrome/browser/ui/omnibox/omnibox_edit_model.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <string> | 8 #include <string> |
| 9 | 9 |
| 10 #include "base/auto_reset.h" | 10 #include "base/auto_reset.h" |
| (...skipping 917 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 928 const AutocompleteMatch& match = CurrentMatch(NULL); | 928 const AutocompleteMatch& match = CurrentMatch(NULL); |
| 929 original_url_ = match.destination_url; | 929 original_url_ = match.destination_url; |
| 930 view_->OnTemporaryTextMaybeChanged( | 930 view_->OnTemporaryTextMaybeChanged( |
| 931 DisplayTextFromUserText(match.fill_into_edit), | 931 DisplayTextFromUserText(match.fill_into_edit), |
| 932 save_original_selection, true); | 932 save_original_selection, true); |
| 933 } else { | 933 } else { |
| 934 view_->OnTemporaryTextMaybeChanged(DisplayTextFromUserText(user_text_), | 934 view_->OnTemporaryTextMaybeChanged(DisplayTextFromUserText(user_text_), |
| 935 false, true); | 935 false, true); |
| 936 } | 936 } |
| 937 | 937 |
| 938 view_->UpdatePlaceholderText(); | |
| 939 | |
| 940 content::RecordAction(base::UserMetricsAction("AcceptedKeywordHint")); | 938 content::RecordAction(base::UserMetricsAction("AcceptedKeywordHint")); |
| 941 UMA_HISTOGRAM_ENUMERATION(kEnteredKeywordModeHistogram, entered_method, | 939 UMA_HISTOGRAM_ENUMERATION(kEnteredKeywordModeHistogram, entered_method, |
| 942 ENTERED_KEYWORD_MODE_NUM_ITEMS); | 940 ENTERED_KEYWORD_MODE_NUM_ITEMS); |
| 943 | 941 |
| 944 return true; | 942 return true; |
| 945 } | 943 } |
| 946 | 944 |
| 947 void OmniboxEditModel::AcceptTemporaryTextAsUserText() { | 945 void OmniboxEditModel::AcceptTemporaryTextAsUserText() { |
| 948 InternalSetUserText(UserTextFromDisplayText(view_->GetText())); | 946 InternalSetUserText(UserTextFromDisplayText(view_->GetText())); |
| 949 has_temporary_text_ = false; | 947 has_temporary_text_ = false; |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 981 view_->SetWindowTextAndCaretPos(window_text.c_str(), keyword_.length(), | 979 view_->SetWindowTextAndCaretPos(window_text.c_str(), keyword_.length(), |
| 982 false, true); | 980 false, true); |
| 983 } else { | 981 } else { |
| 984 view_->OnBeforePossibleChange(); | 982 view_->OnBeforePossibleChange(); |
| 985 view_->SetWindowTextAndCaretPos(window_text.c_str(), keyword_.length(), | 983 view_->SetWindowTextAndCaretPos(window_text.c_str(), keyword_.length(), |
| 986 false, false); | 984 false, false); |
| 987 keyword_.clear(); | 985 keyword_.clear(); |
| 988 is_keyword_hint_ = false; | 986 is_keyword_hint_ = false; |
| 989 view_->OnAfterPossibleChange(); | 987 view_->OnAfterPossibleChange(); |
| 990 } | 988 } |
| 991 | |
| 992 view_->UpdatePlaceholderText(); | |
| 993 } | 989 } |
| 994 | 990 |
| 995 void OmniboxEditModel::OnSetFocus(bool control_down) { | 991 void OmniboxEditModel::OnSetFocus(bool control_down) { |
| 996 last_omnibox_focus_ = base::TimeTicks::Now(); | 992 last_omnibox_focus_ = base::TimeTicks::Now(); |
| 997 user_input_since_focus_ = false; | 993 user_input_since_focus_ = false; |
| 998 | 994 |
| 999 // If the omnibox lost focus while the caret was hidden and then regained | 995 // If the omnibox lost focus while the caret was hidden and then regained |
| 1000 // focus, OnSetFocus() is called and should restore visibility. Note that | 996 // focus, OnSetFocus() is called and should restore visibility. Note that |
| 1001 // focus can be regained without an accompanying call to | 997 // focus can be regained without an accompanying call to |
| 1002 // OmniboxView::SetFocus(), e.g. by tabbing in. | 998 // OmniboxView::SetFocus(), e.g. by tabbing in. |
| (...skipping 289 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1292 // if the user hit space in mid-string after a keyword. | 1288 // if the user hit space in mid-string after a keyword. |
| 1293 // |allow_exact_keyword_match_| will be used by StartAutocomplete() method, | 1289 // |allow_exact_keyword_match_| will be used by StartAutocomplete() method, |
| 1294 // which will be called by |view_->UpdatePopup()|; so after that returns we | 1290 // which will be called by |view_->UpdatePopup()|; so after that returns we |
| 1295 // can safely reset this flag. | 1291 // can safely reset this flag. |
| 1296 allow_exact_keyword_match_ = text_differs && allow_keyword_ui_change && | 1292 allow_exact_keyword_match_ = text_differs && allow_keyword_ui_change && |
| 1297 !just_deleted_text && no_selection && | 1293 !just_deleted_text && no_selection && |
| 1298 CreatedKeywordSearchByInsertingSpaceInMiddle(old_text, user_text_, | 1294 CreatedKeywordSearchByInsertingSpaceInMiddle(old_text, user_text_, |
| 1299 selection_start); | 1295 selection_start); |
| 1300 view_->UpdatePopup(); | 1296 view_->UpdatePopup(); |
| 1301 if (allow_exact_keyword_match_) { | 1297 if (allow_exact_keyword_match_) { |
| 1302 view_->UpdatePlaceholderText(); | |
| 1303 UMA_HISTOGRAM_ENUMERATION(kEnteredKeywordModeHistogram, | 1298 UMA_HISTOGRAM_ENUMERATION(kEnteredKeywordModeHistogram, |
| 1304 ENTERED_KEYWORD_MODE_VIA_SPACE_IN_MIDDLE, | 1299 ENTERED_KEYWORD_MODE_VIA_SPACE_IN_MIDDLE, |
| 1305 ENTERED_KEYWORD_MODE_NUM_ITEMS); | 1300 ENTERED_KEYWORD_MODE_NUM_ITEMS); |
| 1306 allow_exact_keyword_match_ = false; | 1301 allow_exact_keyword_match_ = false; |
| 1307 } | 1302 } |
| 1308 | 1303 |
| 1309 // Change to keyword mode if the user is now pressing space after a keyword | 1304 // Change to keyword mode if the user is now pressing space after a keyword |
| 1310 // name. Note that if this is the case, then even if there was no keyword | 1305 // name. Note that if this is the case, then even if there was no keyword |
| 1311 // hint when we entered this function (e.g. if the user has used space to | 1306 // hint when we entered this function (e.g. if the user has used space to |
| 1312 // replace some selected text that was adjoined to this keyword), there will | 1307 // replace some selected text that was adjoined to this keyword), there will |
| (...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1539 // Update state and notify view if the omnibox has focus and the caret | 1534 // Update state and notify view if the omnibox has focus and the caret |
| 1540 // visibility changed. | 1535 // visibility changed. |
| 1541 const bool was_caret_visible = is_caret_visible(); | 1536 const bool was_caret_visible = is_caret_visible(); |
| 1542 focus_state_ = state; | 1537 focus_state_ = state; |
| 1543 if (focus_state_ != OMNIBOX_FOCUS_NONE && | 1538 if (focus_state_ != OMNIBOX_FOCUS_NONE && |
| 1544 is_caret_visible() != was_caret_visible) | 1539 is_caret_visible() != was_caret_visible) |
| 1545 view_->ApplyCaretVisibility(); | 1540 view_->ApplyCaretVisibility(); |
| 1546 | 1541 |
| 1547 delegate_->OnFocusChanged(focus_state_, reason); | 1542 delegate_->OnFocusChanged(focus_state_, reason); |
| 1548 } | 1543 } |
| OLD | NEW |