Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(317)

Side by Side Diff: chrome/browser/ui/omnibox/omnibox_edit_model.cc

Issue 17022004: Replace --google-base-suggest-url and --instant-url with --google-base-url. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 <string> 7 #include <string>
8 8
9 #include "base/auto_reset.h" 9 #include "base/auto_reset.h"
10 #include "base/format_macros.h" 10 #include "base/format_macros.h"
(...skipping 881 matching lines...) Expand 10 before | Expand all | Expand 10 after
892 return true; 892 return true;
893 } 893 }
894 894
895 void OmniboxEditModel::OnControlKeyChanged(bool pressed) { 895 void OmniboxEditModel::OnControlKeyChanged(bool pressed) {
896 // TODO(beaudoin): Remove this function entirely and all the code that calls 896 // TODO(beaudoin): Remove this function entirely and all the code that calls
897 // it. 897 // it.
898 } 898 }
899 899
900 void OmniboxEditModel::OnUpOrDownKeyPressed(int count) { 900 void OmniboxEditModel::OnUpOrDownKeyPressed(int count) {
901 // NOTE: This purposefully doesn't trigger any code that resets paste_state_. 901 // NOTE: This purposefully doesn't trigger any code that resets paste_state_.
902 if (!popup_model()->IsOpen()) { 902 if (popup_model()->IsOpen()) {
903 if (!query_in_progress()) {
904 // The popup is neither open nor working on a query already. So, start an
905 // autocomplete query for the current text. This also sets
906 // user_input_in_progress_ to true, which we want: if the user has started
907 // to interact with the popup, changing the permanent_text_ shouldn't
908 // change the displayed text.
909 // Note: This does not force the popup to open immediately.
910 // TODO(pkasting): We should, in fact, force this particular query to open
911 // the popup immediately.
912 if (!user_input_in_progress_)
913 InternalSetUserText(permanent_text_);
914 view_->UpdatePopup();
915 } else {
916 // TODO(pkasting): The popup is working on a query but is not open. We
917 // should force it to open immediately.
918 }
919 } else {
920 #if defined(HTML_INSTANT_EXTENDED_POPUP) 903 #if defined(HTML_INSTANT_EXTENDED_POPUP)
921 InstantController* instant = GetInstantController(); 904 InstantController* instant = GetInstantController();
922 if (instant && instant->OnUpOrDownKeyPressed(count)) { 905 if (instant && instant->OnUpOrDownKeyPressed(count)) {
923 // If Instant handles the key press, it's showing a list of suggestions 906 // If Instant handles the key press, it's showing a list of suggestions
924 // that it's stepping through. In that case, our popup model is 907 // that it's stepping through. In that case, our popup model is
925 // irrelevant, so don't process the key press ourselves. However, do stop 908 // irrelevant, so don't process the key press ourselves. However, do stop
926 // the autocomplete system from changing the results. 909 // the autocomplete system from changing the results.
927 autocomplete_controller()->Stop(false); 910 autocomplete_controller()->Stop(false);
928 } else 911 return;
912 }
929 #endif 913 #endif
930 { 914
931 // The popup is open, so the user should be able to interact with it 915 // The popup is open, so the user should be able to interact with it
932 // normally. 916 // normally.
933 popup_model()->Move(count); 917 popup_model()->Move(count);
934 } 918 return;
935 } 919 }
920
921 if (!query_in_progress()) {
922 // The popup is neither open nor working on a query already. So, start an
923 // autocomplete query for the current text. This also sets
924 // user_input_in_progress_ to true, which we want: if the user has started
925 // to interact with the popup, changing the permanent_text_ shouldn't change
926 // the displayed text.
927 // Note: This does not force the popup to open immediately.
928 // TODO(pkasting): We should, in fact, force this particular query to open
929 // the popup immediately.
930 if (!user_input_in_progress_)
931 InternalSetUserText(permanent_text_);
932 view_->UpdatePopup();
933 return;
934 }
935
936 // TODO(pkasting): The popup is working on a query but is not open. We should
937 // force it to open immediately.
936 } 938 }
937 939
938 void OmniboxEditModel::OnPopupDataChanged( 940 void OmniboxEditModel::OnPopupDataChanged(
939 const string16& text, 941 const string16& text,
940 GURL* destination_for_temporary_text_change, 942 GURL* destination_for_temporary_text_change,
941 const string16& keyword, 943 const string16& keyword,
942 bool is_keyword_hint) { 944 bool is_keyword_hint) {
943 // The popup changed its data, the match in the controller is no longer valid. 945 // The popup changed its data, the match in the controller is no longer valid.
944 omnibox_controller_->InvalidateCurrentMatch(); 946 omnibox_controller_->InvalidateCurrentMatch();
945 947
(...skipping 285 matching lines...) Expand 10 before | Expand all | Expand 10 after
1231 // used (to either navigate to the URL or let Instant commit its preview). 1233 // used (to either navigate to the URL or let Instant commit its preview).
1232 // The match won't be used for logging, displaying in the dropdown, etc. 1234 // The match won't be used for logging, displaying in the dropdown, etc.
1233 // So, it's okay to pass in mostly bogus params (such as relevance = 0). 1235 // So, it's okay to pass in mostly bogus params (such as relevance = 0).
1234 // TODO(sreeram): Always using NO_SUGGESTIONS_AVAILABLE is wrong when 1236 // TODO(sreeram): Always using NO_SUGGESTIONS_AVAILABLE is wrong when
1235 // Instant is using the local fallback overlay. Fix. 1237 // Instant is using the local fallback overlay. Fix.
1236 if (is_instant_temporary_text_a_search_query_) { 1238 if (is_instant_temporary_text_a_search_query_) {
1237 const TemplateURL* default_provider = 1239 const TemplateURL* default_provider =
1238 TemplateURLServiceFactory::GetForProfile(profile_)-> 1240 TemplateURLServiceFactory::GetForProfile(profile_)->
1239 GetDefaultSearchProvider(); 1241 GetDefaultSearchProvider();
1240 if (default_provider && default_provider->SupportsReplacement()) { 1242 if (default_provider && default_provider->SupportsReplacement()) {
1241 *match = SearchProvider::CreateSearchSuggestion(profile_, 1243 *match = SearchProvider::CreateSearchSuggestion(
1242 autocomplete_controller()->search_provider(), input, text, text, 1244 autocomplete_controller()->search_provider(), 0,
1243 0, AutocompleteMatchType::SEARCH_WHAT_YOU_TYPED, 1245 AutocompleteMatchType::SEARCH_WHAT_YOU_TYPED, default_provider,
1244 TemplateURLRef::NO_SUGGESTIONS_AVAILABLE, false, 1246 text, text, input, false,
1245 default_provider->keyword(), 1247 TemplateURLRef::NO_SUGGESTIONS_AVAILABLE,
1246 controller_->GetOmniboxBounds().x()); 1248 controller_->GetOmniboxBounds().x(), true);
1247 } else { 1249 } else {
1248 // Can't create a new search match. Leave |match| as is, with an 1250 // Can't create a new search match. Leave |match| as is, with an
1249 // invalid destination_url. This shouldn't ever happen. For example, 1251 // invalid destination_url. This shouldn't ever happen. For example,
1250 // even if a group policy update in the midst of interacting with 1252 // even if a group policy update in the midst of interacting with
1251 // Instant leaves us without a valid search provider, Instant 1253 // Instant leaves us without a valid search provider, Instant
1252 // should've observed the update and reset 1254 // should've observed the update and reset
1253 // |is_temporary_text_set_by_instant_|, so we still shouldn't get 1255 // |is_temporary_text_set_by_instant_|, so we still shouldn't get
1254 // here. However, as protection against the unknowns and Instant 1256 // here. However, as protection against the unknowns and Instant
1255 // regressions, we simply return an invalid match instead of crashing 1257 // regressions, we simply return an invalid match instead of crashing
1256 // (hence no DCHECK). 1258 // (hence no DCHECK).
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after
1411 instant->OmniboxFocusChanged(state, reason, NULL); 1413 instant->OmniboxFocusChanged(state, reason, NULL);
1412 1414
1413 // Update state and notify view if the omnibox has focus and the caret 1415 // Update state and notify view if the omnibox has focus and the caret
1414 // visibility changed. 1416 // visibility changed.
1415 const bool was_caret_visible = is_caret_visible(); 1417 const bool was_caret_visible = is_caret_visible();
1416 focus_state_ = state; 1418 focus_state_ = state;
1417 if (focus_state_ != OMNIBOX_FOCUS_NONE && 1419 if (focus_state_ != OMNIBOX_FOCUS_NONE &&
1418 is_caret_visible() != was_caret_visible) 1420 is_caret_visible() != was_caret_visible)
1419 view_->ApplyCaretVisibility(); 1421 view_->ApplyCaretVisibility();
1420 } 1422 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/omnibox/omnibox_controller.cc ('k') | chrome/browser/ui/search/instant_controller.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698