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

Side by Side Diff: chrome/browser/search_engines/template_url.cc

Issue 314773002: Omnibox: Send Input Type to Suggest Server (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix (legitimate) clang error Created 6 years, 6 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 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/search_engines/template_url.h" 5 #include "chrome/browser/search_engines/template_url.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
(...skipping 10 matching lines...) Expand all
21 #include "base/strings/string_split.h" 21 #include "base/strings/string_split.h"
22 #include "base/strings/string_util.h" 22 #include "base/strings/string_util.h"
23 #include "base/strings/stringprintf.h" 23 #include "base/strings/stringprintf.h"
24 #include "base/strings/utf_string_conversions.h" 24 #include "base/strings/utf_string_conversions.h"
25 #include "chrome/browser/google/google_util.h" 25 #include "chrome/browser/google/google_util.h"
26 #include "chrome/browser/search/search.h" 26 #include "chrome/browser/search/search.h"
27 #include "chrome/browser/search_engines/search_terms_data.h" 27 #include "chrome/browser/search_engines/search_terms_data.h"
28 #include "chrome/browser/search_engines/template_url_service.h" 28 #include "chrome/browser/search_engines/template_url_service.h"
29 #include "chrome/common/chrome_switches.h" 29 #include "chrome/common/chrome_switches.h"
30 #include "chrome/common/chrome_version_info.h" 30 #include "chrome/common/chrome_version_info.h"
31 #include "components/metrics/proto/omnibox_input_type.pb.h"
31 #include "extensions/common/constants.h" 32 #include "extensions/common/constants.h"
32 #include "google_apis/google_api_keys.h" 33 #include "google_apis/google_api_keys.h"
33 #include "net/base/escape.h" 34 #include "net/base/escape.h"
34 #include "net/base/mime_util.h" 35 #include "net/base/mime_util.h"
35 #include "ui/base/l10n/l10n_util.h" 36 #include "ui/base/l10n/l10n_util.h"
36 37
37 namespace { 38 namespace {
38 39
39 // The TemplateURLRef has any number of terms that need to be replaced. Each of 40 // The TemplateURLRef has any number of terms that need to be replaced. Each of
40 // the terms is enclosed in braces. If the character preceeding the final 41 // the terms is enclosed in braces. If the character preceeding the final
(...skipping 19 matching lines...) Expand all
60 const char kGoogleBaseURLParameter[] = "google:baseURL"; 61 const char kGoogleBaseURLParameter[] = "google:baseURL";
61 const char kGoogleBaseURLParameterFull[] = "{google:baseURL}"; 62 const char kGoogleBaseURLParameterFull[] = "{google:baseURL}";
62 63
63 // Like google:baseURL, but for the Search Suggest capability. 64 // Like google:baseURL, but for the Search Suggest capability.
64 const char kGoogleBaseSuggestURLParameter[] = "google:baseSuggestURL"; 65 const char kGoogleBaseSuggestURLParameter[] = "google:baseSuggestURL";
65 const char kGoogleBaseSuggestURLParameterFull[] = "{google:baseSuggestURL}"; 66 const char kGoogleBaseSuggestURLParameterFull[] = "{google:baseSuggestURL}";
66 const char kGoogleBookmarkBarPinnedParameter[] = "google:bookmarkBarPinned"; 67 const char kGoogleBookmarkBarPinnedParameter[] = "google:bookmarkBarPinned";
67 const char kGoogleCurrentPageUrlParameter[] = "google:currentPageUrl"; 68 const char kGoogleCurrentPageUrlParameter[] = "google:currentPageUrl";
68 const char kGoogleCursorPositionParameter[] = "google:cursorPosition"; 69 const char kGoogleCursorPositionParameter[] = "google:cursorPosition";
69 const char kGoogleForceInstantResultsParameter[] = "google:forceInstantResults"; 70 const char kGoogleForceInstantResultsParameter[] = "google:forceInstantResults";
71 const char kGoogleInputTypeParameter[] = "google:inputType";
70 const char kGoogleInstantExtendedEnabledParameter[] = 72 const char kGoogleInstantExtendedEnabledParameter[] =
71 "google:instantExtendedEnabledParameter"; 73 "google:instantExtendedEnabledParameter";
72 const char kGoogleInstantExtendedEnabledKey[] = 74 const char kGoogleInstantExtendedEnabledKey[] =
73 "google:instantExtendedEnabledKey"; 75 "google:instantExtendedEnabledKey";
74 const char kGoogleInstantExtendedEnabledKeyFull[] = 76 const char kGoogleInstantExtendedEnabledKeyFull[] =
75 "{google:instantExtendedEnabledKey}"; 77 "{google:instantExtendedEnabledKey}";
76 const char kGoogleNTPIsThemedParameter[] = "google:ntpIsThemedParameter"; 78 const char kGoogleNTPIsThemedParameter[] = "google:ntpIsThemedParameter";
77 const char kGoogleOmniboxStartMarginParameter[] = 79 const char kGoogleOmniboxStartMarginParameter[] =
78 "google:omniboxStartMarginParameter"; 80 "google:omniboxStartMarginParameter";
79 const char kGoogleOriginalQueryForSuggestionParameter[] = 81 const char kGoogleOriginalQueryForSuggestionParameter[] =
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
194 } 196 }
195 197
196 } // namespace 198 } // namespace
197 199
198 200
199 // TemplateURLRef::SearchTermsArgs -------------------------------------------- 201 // TemplateURLRef::SearchTermsArgs --------------------------------------------
200 202
201 TemplateURLRef::SearchTermsArgs::SearchTermsArgs( 203 TemplateURLRef::SearchTermsArgs::SearchTermsArgs(
202 const base::string16& search_terms) 204 const base::string16& search_terms)
203 : search_terms(search_terms), 205 : search_terms(search_terms),
206 input_type(metrics::OmniboxInputType::INVALID),
204 accepted_suggestion(NO_SUGGESTIONS_AVAILABLE), 207 accepted_suggestion(NO_SUGGESTIONS_AVAILABLE),
205 cursor_position(base::string16::npos), 208 cursor_position(base::string16::npos),
206 omnibox_start_margin(-1), 209 omnibox_start_margin(-1),
207 page_classification(AutocompleteInput::INVALID_SPEC), 210 page_classification(AutocompleteInput::INVALID_SPEC),
208 bookmark_bar_pinned(false), 211 bookmark_bar_pinned(false),
209 append_extra_query_params(false), 212 append_extra_query_params(false),
210 force_instant_results(false), 213 force_instant_results(false),
211 from_app_list(false) { 214 from_app_list(false) {
212 } 215 }
213 216
(...skipping 345 matching lines...) Expand 10 before | Expand all | Expand 10 after
559 } else if (parameter == kGoogleBaseURLParameter) { 562 } else if (parameter == kGoogleBaseURLParameter) {
560 replacements->push_back(Replacement(GOOGLE_BASE_URL, start)); 563 replacements->push_back(Replacement(GOOGLE_BASE_URL, start));
561 } else if (parameter == kGoogleBaseSuggestURLParameter) { 564 } else if (parameter == kGoogleBaseSuggestURLParameter) {
562 replacements->push_back(Replacement(GOOGLE_BASE_SUGGEST_URL, start)); 565 replacements->push_back(Replacement(GOOGLE_BASE_SUGGEST_URL, start));
563 } else if (parameter == kGoogleBookmarkBarPinnedParameter) { 566 } else if (parameter == kGoogleBookmarkBarPinnedParameter) {
564 replacements->push_back(Replacement(GOOGLE_BOOKMARK_BAR_PINNED, start)); 567 replacements->push_back(Replacement(GOOGLE_BOOKMARK_BAR_PINNED, start));
565 } else if (parameter == kGoogleCurrentPageUrlParameter) { 568 } else if (parameter == kGoogleCurrentPageUrlParameter) {
566 replacements->push_back(Replacement(GOOGLE_CURRENT_PAGE_URL, start)); 569 replacements->push_back(Replacement(GOOGLE_CURRENT_PAGE_URL, start));
567 } else if (parameter == kGoogleCursorPositionParameter) { 570 } else if (parameter == kGoogleCursorPositionParameter) {
568 replacements->push_back(Replacement(GOOGLE_CURSOR_POSITION, start)); 571 replacements->push_back(Replacement(GOOGLE_CURSOR_POSITION, start));
572 } else if (parameter == kGoogleForceInstantResultsParameter) {
573 replacements->push_back(Replacement(GOOGLE_FORCE_INSTANT_RESULTS, start));
569 } else if (parameter == kGoogleImageOriginalHeight) { 574 } else if (parameter == kGoogleImageOriginalHeight) {
570 replacements->push_back( 575 replacements->push_back(
571 Replacement(TemplateURLRef::GOOGLE_IMAGE_ORIGINAL_HEIGHT, start)); 576 Replacement(TemplateURLRef::GOOGLE_IMAGE_ORIGINAL_HEIGHT, start));
572 } else if (parameter == kGoogleImageOriginalWidth) { 577 } else if (parameter == kGoogleImageOriginalWidth) {
573 replacements->push_back( 578 replacements->push_back(
574 Replacement(TemplateURLRef::GOOGLE_IMAGE_ORIGINAL_WIDTH, start)); 579 Replacement(TemplateURLRef::GOOGLE_IMAGE_ORIGINAL_WIDTH, start));
575 } else if (parameter == kGoogleImageSearchSource) { 580 } else if (parameter == kGoogleImageSearchSource) {
576 url->insert(start, GetGoogleImageSearchSource()); 581 url->insert(start, GetGoogleImageSearchSource());
577 } else if (parameter == kGoogleImageThumbnailParameter) { 582 } else if (parameter == kGoogleImageThumbnailParameter) {
578 replacements->push_back( 583 replacements->push_back(
579 Replacement(TemplateURLRef::GOOGLE_IMAGE_THUMBNAIL, start)); 584 Replacement(TemplateURLRef::GOOGLE_IMAGE_THUMBNAIL, start));
580 } else if (parameter == kGoogleImageURLParameter) { 585 } else if (parameter == kGoogleImageURLParameter) {
581 replacements->push_back(Replacement(TemplateURLRef::GOOGLE_IMAGE_URL, 586 replacements->push_back(Replacement(TemplateURLRef::GOOGLE_IMAGE_URL,
582 start)); 587 start));
583 } else if (parameter == kGoogleForceInstantResultsParameter) { 588 } else if (parameter == kGoogleInputTypeParameter) {
584 replacements->push_back(Replacement(GOOGLE_FORCE_INSTANT_RESULTS, start)); 589 replacements->push_back(Replacement(TemplateURLRef::GOOGLE_INPUT_TYPE,
590 start));
585 } else if (parameter == kGoogleInstantExtendedEnabledParameter) { 591 } else if (parameter == kGoogleInstantExtendedEnabledParameter) {
586 replacements->push_back(Replacement(GOOGLE_INSTANT_EXTENDED_ENABLED, 592 replacements->push_back(Replacement(GOOGLE_INSTANT_EXTENDED_ENABLED,
587 start)); 593 start));
588 } else if (parameter == kGoogleInstantExtendedEnabledKey) { 594 } else if (parameter == kGoogleInstantExtendedEnabledKey) {
589 url->insert(start, google_util::kInstantExtendedAPIParam); 595 url->insert(start, google_util::kInstantExtendedAPIParam);
590 } else if (parameter == kGoogleNTPIsThemedParameter) { 596 } else if (parameter == kGoogleNTPIsThemedParameter) {
591 replacements->push_back(Replacement(GOOGLE_NTP_IS_THEMED, start)); 597 replacements->push_back(Replacement(GOOGLE_NTP_IS_THEMED, start));
592 } else if (parameter == kGoogleOmniboxStartMarginParameter) { 598 } else if (parameter == kGoogleOmniboxStartMarginParameter) {
593 replacements->push_back(Replacement(GOOGLE_OMNIBOX_START_MARGIN, start)); 599 replacements->push_back(Replacement(GOOGLE_OMNIBOX_START_MARGIN, start));
594 } else if (parameter == kGoogleOriginalQueryForSuggestionParameter) { 600 } else if (parameter == kGoogleOriginalQueryForSuggestionParameter) {
(...skipping 300 matching lines...) Expand 10 before | Expand all | Expand 10 after
895 901
896 case GOOGLE_FORCE_INSTANT_RESULTS: 902 case GOOGLE_FORCE_INSTANT_RESULTS:
897 DCHECK(!i->is_post_param); 903 DCHECK(!i->is_post_param);
898 HandleReplacement(std::string(), 904 HandleReplacement(std::string(),
899 chrome::ForceInstantResultsParam( 905 chrome::ForceInstantResultsParam(
900 search_terms_args.force_instant_results), 906 search_terms_args.force_instant_results),
901 *i, 907 *i,
902 &url); 908 &url);
903 break; 909 break;
904 910
911 case GOOGLE_INPUT_TYPE:
912 DCHECK(!i->is_post_param);
913 HandleReplacement(
914 "oit", base::IntToString(search_terms_args.input_type), *i, &url);
915 break;
916
905 case GOOGLE_INSTANT_EXTENDED_ENABLED: 917 case GOOGLE_INSTANT_EXTENDED_ENABLED:
906 DCHECK(!i->is_post_param); 918 DCHECK(!i->is_post_param);
907 HandleReplacement(std::string(), 919 HandleReplacement(std::string(),
908 chrome::InstantExtendedEnabledParam(type_ == SEARCH), 920 chrome::InstantExtendedEnabledParam(type_ == SEARCH),
909 *i, 921 *i,
910 &url); 922 &url);
911 break; 923 break;
912 924
913 case GOOGLE_NTP_IS_THEMED: 925 case GOOGLE_NTP_IS_THEMED:
914 DCHECK(!i->is_post_param); 926 DCHECK(!i->is_post_param);
(...skipping 464 matching lines...) Expand 10 before | Expand all | Expand 10 after
1379 // patterns. This means that given patterns 1391 // patterns. This means that given patterns
1380 // [ "http://foo/#q={searchTerms}", "http://foo/?q={searchTerms}" ], 1392 // [ "http://foo/#q={searchTerms}", "http://foo/?q={searchTerms}" ],
1381 // calling ExtractSearchTermsFromURL() on "http://foo/?q=bar#q=' would 1393 // calling ExtractSearchTermsFromURL() on "http://foo/?q=bar#q=' would
1382 // return false. This is important for at least Google, where such URLs 1394 // return false. This is important for at least Google, where such URLs
1383 // are invalid. 1395 // are invalid.
1384 return !search_terms->empty(); 1396 return !search_terms->empty();
1385 } 1397 }
1386 } 1398 }
1387 return false; 1399 return false;
1388 } 1400 }
OLDNEW
« no previous file with comments | « chrome/browser/search_engines/template_url.h ('k') | chrome/browser/search_engines/template_url_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698