OLD | NEW |
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 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
61 const char kGoogleBaseURLParameter[] = "google:baseURL"; | 61 const char kGoogleBaseURLParameter[] = "google:baseURL"; |
62 const char kGoogleBaseURLParameterFull[] = "{google:baseURL}"; | 62 const char kGoogleBaseURLParameterFull[] = "{google:baseURL}"; |
63 | 63 |
64 // Like google:baseURL, but for the Search Suggest capability. | 64 // Like google:baseURL, but for the Search Suggest capability. |
65 const char kGoogleBaseSuggestURLParameter[] = "google:baseSuggestURL"; | 65 const char kGoogleBaseSuggestURLParameter[] = "google:baseSuggestURL"; |
66 const char kGoogleBaseSuggestURLParameterFull[] = "{google:baseSuggestURL}"; | 66 const char kGoogleBaseSuggestURLParameterFull[] = "{google:baseSuggestURL}"; |
67 const char kGoogleBookmarkBarPinnedParameter[] = "google:bookmarkBarPinned"; | 67 const char kGoogleBookmarkBarPinnedParameter[] = "google:bookmarkBarPinned"; |
68 const char kGoogleCurrentPageUrlParameter[] = "google:currentPageUrl"; | 68 const char kGoogleCurrentPageUrlParameter[] = "google:currentPageUrl"; |
69 const char kGoogleCursorPositionParameter[] = "google:cursorPosition"; | 69 const char kGoogleCursorPositionParameter[] = "google:cursorPosition"; |
70 const char kGoogleForceInstantResultsParameter[] = "google:forceInstantResults"; | 70 const char kGoogleForceInstantResultsParameter[] = "google:forceInstantResults"; |
| 71 const char kGoogleInputTypeParameter[] = "google:inputType"; |
71 const char kGoogleInstantExtendedEnabledParameter[] = | 72 const char kGoogleInstantExtendedEnabledParameter[] = |
72 "google:instantExtendedEnabledParameter"; | 73 "google:instantExtendedEnabledParameter"; |
73 const char kGoogleInstantExtendedEnabledKey[] = | 74 const char kGoogleInstantExtendedEnabledKey[] = |
74 "google:instantExtendedEnabledKey"; | 75 "google:instantExtendedEnabledKey"; |
75 const char kGoogleInstantExtendedEnabledKeyFull[] = | 76 const char kGoogleInstantExtendedEnabledKeyFull[] = |
76 "{google:instantExtendedEnabledKey}"; | 77 "{google:instantExtendedEnabledKey}"; |
77 const char kGoogleNTPIsThemedParameter[] = "google:ntpIsThemedParameter"; | 78 const char kGoogleNTPIsThemedParameter[] = "google:ntpIsThemedParameter"; |
78 const char kGoogleOmniboxStartMarginParameter[] = | 79 const char kGoogleOmniboxStartMarginParameter[] = |
79 "google:omniboxStartMarginParameter"; | 80 "google:omniboxStartMarginParameter"; |
80 const char kGoogleOriginalQueryForSuggestionParameter[] = | 81 const char kGoogleOriginalQueryForSuggestionParameter[] = |
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
195 } | 196 } |
196 | 197 |
197 } // namespace | 198 } // namespace |
198 | 199 |
199 | 200 |
200 // TemplateURLRef::SearchTermsArgs -------------------------------------------- | 201 // TemplateURLRef::SearchTermsArgs -------------------------------------------- |
201 | 202 |
202 TemplateURLRef::SearchTermsArgs::SearchTermsArgs( | 203 TemplateURLRef::SearchTermsArgs::SearchTermsArgs( |
203 const base::string16& search_terms) | 204 const base::string16& search_terms) |
204 : search_terms(search_terms), | 205 : search_terms(search_terms), |
| 206 input_type(input_type), |
205 accepted_suggestion(NO_SUGGESTIONS_AVAILABLE), | 207 accepted_suggestion(NO_SUGGESTIONS_AVAILABLE), |
206 cursor_position(base::string16::npos), | 208 cursor_position(base::string16::npos), |
207 omnibox_start_margin(-1), | 209 omnibox_start_margin(-1), |
208 page_classification(AutocompleteInput::INVALID_SPEC), | 210 page_classification(AutocompleteInput::INVALID_SPEC), |
209 bookmark_bar_pinned(false), | 211 bookmark_bar_pinned(false), |
210 append_extra_query_params(false), | 212 append_extra_query_params(false), |
211 force_instant_results(false), | 213 force_instant_results(false), |
212 from_app_list(false) { | 214 from_app_list(false) { |
213 } | 215 } |
214 | 216 |
(...skipping 345 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
560 } else if (parameter == kGoogleBaseURLParameter) { | 562 } else if (parameter == kGoogleBaseURLParameter) { |
561 replacements->push_back(Replacement(GOOGLE_BASE_URL, start)); | 563 replacements->push_back(Replacement(GOOGLE_BASE_URL, start)); |
562 } else if (parameter == kGoogleBaseSuggestURLParameter) { | 564 } else if (parameter == kGoogleBaseSuggestURLParameter) { |
563 replacements->push_back(Replacement(GOOGLE_BASE_SUGGEST_URL, start)); | 565 replacements->push_back(Replacement(GOOGLE_BASE_SUGGEST_URL, start)); |
564 } else if (parameter == kGoogleBookmarkBarPinnedParameter) { | 566 } else if (parameter == kGoogleBookmarkBarPinnedParameter) { |
565 replacements->push_back(Replacement(GOOGLE_BOOKMARK_BAR_PINNED, start)); | 567 replacements->push_back(Replacement(GOOGLE_BOOKMARK_BAR_PINNED, start)); |
566 } else if (parameter == kGoogleCurrentPageUrlParameter) { | 568 } else if (parameter == kGoogleCurrentPageUrlParameter) { |
567 replacements->push_back(Replacement(GOOGLE_CURRENT_PAGE_URL, start)); | 569 replacements->push_back(Replacement(GOOGLE_CURRENT_PAGE_URL, start)); |
568 } else if (parameter == kGoogleCursorPositionParameter) { | 570 } else if (parameter == kGoogleCursorPositionParameter) { |
569 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)); |
570 } else if (parameter == kGoogleImageOriginalHeight) { | 574 } else if (parameter == kGoogleImageOriginalHeight) { |
571 replacements->push_back( | 575 replacements->push_back( |
572 Replacement(TemplateURLRef::GOOGLE_IMAGE_ORIGINAL_HEIGHT, start)); | 576 Replacement(TemplateURLRef::GOOGLE_IMAGE_ORIGINAL_HEIGHT, start)); |
573 } else if (parameter == kGoogleImageOriginalWidth) { | 577 } else if (parameter == kGoogleImageOriginalWidth) { |
574 replacements->push_back( | 578 replacements->push_back( |
575 Replacement(TemplateURLRef::GOOGLE_IMAGE_ORIGINAL_WIDTH, start)); | 579 Replacement(TemplateURLRef::GOOGLE_IMAGE_ORIGINAL_WIDTH, start)); |
576 } else if (parameter == kGoogleImageSearchSource) { | 580 } else if (parameter == kGoogleImageSearchSource) { |
577 url->insert(start, GetGoogleImageSearchSource()); | 581 url->insert(start, GetGoogleImageSearchSource()); |
578 } else if (parameter == kGoogleImageThumbnailParameter) { | 582 } else if (parameter == kGoogleImageThumbnailParameter) { |
579 replacements->push_back( | 583 replacements->push_back( |
580 Replacement(TemplateURLRef::GOOGLE_IMAGE_THUMBNAIL, start)); | 584 Replacement(TemplateURLRef::GOOGLE_IMAGE_THUMBNAIL, start)); |
581 } else if (parameter == kGoogleImageURLParameter) { | 585 } else if (parameter == kGoogleImageURLParameter) { |
582 replacements->push_back(Replacement(TemplateURLRef::GOOGLE_IMAGE_URL, | 586 replacements->push_back(Replacement(TemplateURLRef::GOOGLE_IMAGE_URL, |
583 start)); | 587 start)); |
584 } else if (parameter == kGoogleForceInstantResultsParameter) { | 588 } else if (parameter == kGoogleInputTypeParameter) { |
585 replacements->push_back(Replacement(GOOGLE_FORCE_INSTANT_RESULTS, start)); | 589 replacements->push_back(Replacement(TemplateURLRef::GOOGLE_INPUT_TYPE, |
| 590 start)); |
586 } else if (parameter == kGoogleInstantExtendedEnabledParameter) { | 591 } else if (parameter == kGoogleInstantExtendedEnabledParameter) { |
587 replacements->push_back(Replacement(GOOGLE_INSTANT_EXTENDED_ENABLED, | 592 replacements->push_back(Replacement(GOOGLE_INSTANT_EXTENDED_ENABLED, |
588 start)); | 593 start)); |
589 } else if (parameter == kGoogleInstantExtendedEnabledKey) { | 594 } else if (parameter == kGoogleInstantExtendedEnabledKey) { |
590 url->insert(start, google_util::kInstantExtendedAPIParam); | 595 url->insert(start, google_util::kInstantExtendedAPIParam); |
591 } else if (parameter == kGoogleNTPIsThemedParameter) { | 596 } else if (parameter == kGoogleNTPIsThemedParameter) { |
592 replacements->push_back(Replacement(GOOGLE_NTP_IS_THEMED, start)); | 597 replacements->push_back(Replacement(GOOGLE_NTP_IS_THEMED, start)); |
593 } else if (parameter == kGoogleOmniboxStartMarginParameter) { | 598 } else if (parameter == kGoogleOmniboxStartMarginParameter) { |
594 replacements->push_back(Replacement(GOOGLE_OMNIBOX_START_MARGIN, start)); | 599 replacements->push_back(Replacement(GOOGLE_OMNIBOX_START_MARGIN, start)); |
595 } else if (parameter == kGoogleOriginalQueryForSuggestionParameter) { | 600 } else if (parameter == kGoogleOriginalQueryForSuggestionParameter) { |
(...skipping 300 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
896 | 901 |
897 case GOOGLE_FORCE_INSTANT_RESULTS: | 902 case GOOGLE_FORCE_INSTANT_RESULTS: |
898 DCHECK(!i->is_post_param); | 903 DCHECK(!i->is_post_param); |
899 HandleReplacement(std::string(), | 904 HandleReplacement(std::string(), |
900 chrome::ForceInstantResultsParam( | 905 chrome::ForceInstantResultsParam( |
901 search_terms_args.force_instant_results), | 906 search_terms_args.force_instant_results), |
902 *i, | 907 *i, |
903 &url); | 908 &url); |
904 break; | 909 break; |
905 | 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 |
906 case GOOGLE_INSTANT_EXTENDED_ENABLED: | 917 case GOOGLE_INSTANT_EXTENDED_ENABLED: |
907 DCHECK(!i->is_post_param); | 918 DCHECK(!i->is_post_param); |
908 HandleReplacement(std::string(), | 919 HandleReplacement(std::string(), |
909 chrome::InstantExtendedEnabledParam(type_ == SEARCH), | 920 chrome::InstantExtendedEnabledParam(type_ == SEARCH), |
910 *i, | 921 *i, |
911 &url); | 922 &url); |
912 break; | 923 break; |
913 | 924 |
914 case GOOGLE_NTP_IS_THEMED: | 925 case GOOGLE_NTP_IS_THEMED: |
915 DCHECK(!i->is_post_param); | 926 DCHECK(!i->is_post_param); |
(...skipping 464 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1380 // patterns. This means that given patterns | 1391 // patterns. This means that given patterns |
1381 // [ "http://foo/#q={searchTerms}", "http://foo/?q={searchTerms}" ], | 1392 // [ "http://foo/#q={searchTerms}", "http://foo/?q={searchTerms}" ], |
1382 // calling ExtractSearchTermsFromURL() on "http://foo/?q=bar#q=' would | 1393 // calling ExtractSearchTermsFromURL() on "http://foo/?q=bar#q=' would |
1383 // 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 |
1384 // are invalid. | 1395 // are invalid. |
1385 return !search_terms->empty(); | 1396 return !search_terms->empty(); |
1386 } | 1397 } |
1387 } | 1398 } |
1388 return false; | 1399 return false; |
1389 } | 1400 } |
OLD | NEW |