| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "components/search_engines/template_url.h" | 5 #include "components/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 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 140 | 140 |
| 141 | 141 |
| 142 // TemplateURLRef::SearchTermsArgs -------------------------------------------- | 142 // TemplateURLRef::SearchTermsArgs -------------------------------------------- |
| 143 | 143 |
| 144 TemplateURLRef::SearchTermsArgs::SearchTermsArgs( | 144 TemplateURLRef::SearchTermsArgs::SearchTermsArgs( |
| 145 const base::string16& search_terms) | 145 const base::string16& search_terms) |
| 146 : search_terms(search_terms), | 146 : search_terms(search_terms), |
| 147 input_type(metrics::OmniboxInputType::INVALID), | 147 input_type(metrics::OmniboxInputType::INVALID), |
| 148 accepted_suggestion(NO_SUGGESTIONS_AVAILABLE), | 148 accepted_suggestion(NO_SUGGESTIONS_AVAILABLE), |
| 149 cursor_position(base::string16::npos), | 149 cursor_position(base::string16::npos), |
| 150 enable_omnibox_start_margin(false), | |
| 151 page_classification(metrics::OmniboxEventProto::INVALID_SPEC), | 150 page_classification(metrics::OmniboxEventProto::INVALID_SPEC), |
| 152 bookmark_bar_pinned(false), | |
| 153 append_extra_query_params(false), | 151 append_extra_query_params(false), |
| 154 force_instant_results(false), | 152 force_instant_results(false), |
| 155 from_app_list(false), | 153 from_app_list(false), |
| 156 contextual_search_params(ContextualSearchParams()) { | 154 contextual_search_params(ContextualSearchParams()) { |
| 157 } | 155 } |
| 158 | 156 |
| 159 TemplateURLRef::SearchTermsArgs::~SearchTermsArgs() { | 157 TemplateURLRef::SearchTermsArgs::~SearchTermsArgs() { |
| 160 } | 158 } |
| 161 | 159 |
| 162 TemplateURLRef::SearchTermsArgs::ContextualSearchParams:: | 160 TemplateURLRef::SearchTermsArgs::ContextualSearchParams:: |
| (...skipping 400 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 563 replacements->push_back(Replacement(SEARCH_TERMS, start)); | 561 replacements->push_back(Replacement(SEARCH_TERMS, start)); |
| 564 } else if (parameter == "count") { | 562 } else if (parameter == "count") { |
| 565 if (!optional) | 563 if (!optional) |
| 566 url->insert(start, kDefaultCount); | 564 url->insert(start, kDefaultCount); |
| 567 } else if (parameter == "google:assistedQueryStats") { | 565 } else if (parameter == "google:assistedQueryStats") { |
| 568 replacements->push_back(Replacement(GOOGLE_ASSISTED_QUERY_STATS, start)); | 566 replacements->push_back(Replacement(GOOGLE_ASSISTED_QUERY_STATS, start)); |
| 569 } else if (parameter == "google:baseURL") { | 567 } else if (parameter == "google:baseURL") { |
| 570 replacements->push_back(Replacement(GOOGLE_BASE_URL, start)); | 568 replacements->push_back(Replacement(GOOGLE_BASE_URL, start)); |
| 571 } else if (parameter == "google:baseSuggestURL") { | 569 } else if (parameter == "google:baseSuggestURL") { |
| 572 replacements->push_back(Replacement(GOOGLE_BASE_SUGGEST_URL, start)); | 570 replacements->push_back(Replacement(GOOGLE_BASE_SUGGEST_URL, start)); |
| 573 } else if (parameter == "google:bookmarkBarPinned") { | |
| 574 replacements->push_back(Replacement(GOOGLE_BOOKMARK_BAR_PINNED, start)); | |
| 575 } else if (parameter == "google:currentPageUrl") { | 571 } else if (parameter == "google:currentPageUrl") { |
| 576 replacements->push_back(Replacement(GOOGLE_CURRENT_PAGE_URL, start)); | 572 replacements->push_back(Replacement(GOOGLE_CURRENT_PAGE_URL, start)); |
| 577 } else if (parameter == "google:cursorPosition") { | 573 } else if (parameter == "google:cursorPosition") { |
| 578 replacements->push_back(Replacement(GOOGLE_CURSOR_POSITION, start)); | 574 replacements->push_back(Replacement(GOOGLE_CURSOR_POSITION, start)); |
| 579 } else if (parameter == "google:forceInstantResults") { | 575 } else if (parameter == "google:forceInstantResults") { |
| 580 replacements->push_back(Replacement(GOOGLE_FORCE_INSTANT_RESULTS, start)); | 576 replacements->push_back(Replacement(GOOGLE_FORCE_INSTANT_RESULTS, start)); |
| 581 } else if (parameter == "google:imageOriginalHeight") { | 577 } else if (parameter == "google:imageOriginalHeight") { |
| 582 replacements->push_back( | 578 replacements->push_back( |
| 583 Replacement(TemplateURLRef::GOOGLE_IMAGE_ORIGINAL_HEIGHT, start)); | 579 Replacement(TemplateURLRef::GOOGLE_IMAGE_ORIGINAL_HEIGHT, start)); |
| 584 } else if (parameter == "google:imageOriginalWidth") { | 580 } else if (parameter == "google:imageOriginalWidth") { |
| 585 replacements->push_back( | 581 replacements->push_back( |
| 586 Replacement(TemplateURLRef::GOOGLE_IMAGE_ORIGINAL_WIDTH, start)); | 582 Replacement(TemplateURLRef::GOOGLE_IMAGE_ORIGINAL_WIDTH, start)); |
| 587 } else if (parameter == "google:imageSearchSource") { | 583 } else if (parameter == "google:imageSearchSource") { |
| 588 replacements->push_back( | 584 replacements->push_back( |
| 589 Replacement(TemplateURLRef::GOOGLE_IMAGE_SEARCH_SOURCE, start)); | 585 Replacement(TemplateURLRef::GOOGLE_IMAGE_SEARCH_SOURCE, start)); |
| 590 } else if (parameter == "google:imageThumbnail") { | 586 } else if (parameter == "google:imageThumbnail") { |
| 591 replacements->push_back( | 587 replacements->push_back( |
| 592 Replacement(TemplateURLRef::GOOGLE_IMAGE_THUMBNAIL, start)); | 588 Replacement(TemplateURLRef::GOOGLE_IMAGE_THUMBNAIL, start)); |
| 593 } else if (parameter == "google:imageURL") { | 589 } else if (parameter == "google:imageURL") { |
| 594 replacements->push_back(Replacement(TemplateURLRef::GOOGLE_IMAGE_URL, | 590 replacements->push_back(Replacement(TemplateURLRef::GOOGLE_IMAGE_URL, |
| 595 start)); | 591 start)); |
| 596 } else if (parameter == "google:inputType") { | 592 } else if (parameter == "google:inputType") { |
| 597 replacements->push_back(Replacement(TemplateURLRef::GOOGLE_INPUT_TYPE, | 593 replacements->push_back(Replacement(TemplateURLRef::GOOGLE_INPUT_TYPE, |
| 598 start)); | 594 start)); |
| 599 } else if (parameter == "google:instantExtendedEnabledParameter") { | 595 } else if (parameter == "google:instantExtendedEnabledParameter") { |
| 600 replacements->push_back(Replacement(GOOGLE_INSTANT_EXTENDED_ENABLED, | 596 replacements->push_back(Replacement(GOOGLE_INSTANT_EXTENDED_ENABLED, |
| 601 start)); | 597 start)); |
| 602 } else if (parameter == "google:instantExtendedEnabledKey") { | 598 } else if (parameter == "google:instantExtendedEnabledKey") { |
| 603 url->insert(start, google_util::kInstantExtendedAPIParam); | 599 url->insert(start, google_util::kInstantExtendedAPIParam); |
| 604 } else if (parameter == "google:ntpIsThemedParameter") { | |
| 605 replacements->push_back(Replacement(GOOGLE_NTP_IS_THEMED, start)); | |
| 606 } else if (parameter == "google:omniboxStartMarginParameter") { | |
| 607 replacements->push_back(Replacement(GOOGLE_OMNIBOX_START_MARGIN, start)); | |
| 608 } else if (parameter == "google:contextualSearchVersion") { | 600 } else if (parameter == "google:contextualSearchVersion") { |
| 609 replacements->push_back( | 601 replacements->push_back( |
| 610 Replacement(GOOGLE_CONTEXTUAL_SEARCH_VERSION, start)); | 602 Replacement(GOOGLE_CONTEXTUAL_SEARCH_VERSION, start)); |
| 611 } else if (parameter == "google:contextualSearchContextData") { | 603 } else if (parameter == "google:contextualSearchContextData") { |
| 612 replacements->push_back( | 604 replacements->push_back( |
| 613 Replacement(GOOGLE_CONTEXTUAL_SEARCH_CONTEXT_DATA, start)); | 605 Replacement(GOOGLE_CONTEXTUAL_SEARCH_CONTEXT_DATA, start)); |
| 614 } else if (parameter == "google:originalQueryForSuggestion") { | 606 } else if (parameter == "google:originalQueryForSuggestion") { |
| 615 replacements->push_back(Replacement(GOOGLE_ORIGINAL_QUERY_FOR_SUGGESTION, | 607 replacements->push_back(Replacement(GOOGLE_ORIGINAL_QUERY_FOR_SUGGESTION, |
| 616 start)); | 608 start)); |
| 617 } else if (parameter == "google:pageClassification") { | 609 } else if (parameter == "google:pageClassification") { |
| (...skipping 278 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 896 std::string(), search_terms_data.GoogleBaseURLValue(), *i, &url); | 888 std::string(), search_terms_data.GoogleBaseURLValue(), *i, &url); |
| 897 break; | 889 break; |
| 898 | 890 |
| 899 case GOOGLE_BASE_SUGGEST_URL: | 891 case GOOGLE_BASE_SUGGEST_URL: |
| 900 DCHECK(!i->is_post_param); | 892 DCHECK(!i->is_post_param); |
| 901 HandleReplacement( | 893 HandleReplacement( |
| 902 std::string(), search_terms_data.GoogleBaseSuggestURLValue(), *i, | 894 std::string(), search_terms_data.GoogleBaseSuggestURLValue(), *i, |
| 903 &url); | 895 &url); |
| 904 break; | 896 break; |
| 905 | 897 |
| 906 case GOOGLE_BOOKMARK_BAR_PINNED: | |
| 907 if (search_terms_data.IsShowingSearchTermsOnSearchResultsPages()) { | |
| 908 // Log whether the bookmark bar is pinned when the user is seeing | |
| 909 // InstantExtended on the SRP. | |
| 910 DCHECK(!i->is_post_param); | |
| 911 HandleReplacement( | |
| 912 "bmbp", search_terms_args.bookmark_bar_pinned ? "1" : "0", *i, | |
| 913 &url); | |
| 914 } | |
| 915 break; | |
| 916 | |
| 917 case GOOGLE_CURRENT_PAGE_URL: | 898 case GOOGLE_CURRENT_PAGE_URL: |
| 918 DCHECK(!i->is_post_param); | 899 DCHECK(!i->is_post_param); |
| 919 if (!search_terms_args.current_page_url.empty()) { | 900 if (!search_terms_args.current_page_url.empty()) { |
| 920 const std::string& escaped_current_page_url = | 901 const std::string& escaped_current_page_url = |
| 921 net::EscapeQueryParamValue(search_terms_args.current_page_url, | 902 net::EscapeQueryParamValue(search_terms_args.current_page_url, |
| 922 true); | 903 true); |
| 923 HandleReplacement("url", escaped_current_page_url, *i, &url); | 904 HandleReplacement("url", escaped_current_page_url, *i, &url); |
| 924 } | 905 } |
| 925 break; | 906 break; |
| 926 | 907 |
| (...skipping 24 matching lines...) Expand all Loading... |
| 951 | 932 |
| 952 case GOOGLE_INSTANT_EXTENDED_ENABLED: | 933 case GOOGLE_INSTANT_EXTENDED_ENABLED: |
| 953 DCHECK(!i->is_post_param); | 934 DCHECK(!i->is_post_param); |
| 954 HandleReplacement(std::string(), | 935 HandleReplacement(std::string(), |
| 955 search_terms_data.InstantExtendedEnabledParam( | 936 search_terms_data.InstantExtendedEnabledParam( |
| 956 type_ == SEARCH), | 937 type_ == SEARCH), |
| 957 *i, | 938 *i, |
| 958 &url); | 939 &url); |
| 959 break; | 940 break; |
| 960 | 941 |
| 961 case GOOGLE_NTP_IS_THEMED: | |
| 962 DCHECK(!i->is_post_param); | |
| 963 HandleReplacement( | |
| 964 std::string(), search_terms_data.NTPIsThemedParam(), *i, &url); | |
| 965 break; | |
| 966 | |
| 967 case GOOGLE_OMNIBOX_START_MARGIN: | |
| 968 DCHECK(!i->is_post_param); | |
| 969 if (search_terms_args.enable_omnibox_start_margin) { | |
| 970 int omnibox_start_margin = search_terms_data.OmniboxStartMargin(); | |
| 971 if (omnibox_start_margin >= 0) { | |
| 972 HandleReplacement("es_sm", base::IntToString(omnibox_start_margin), | |
| 973 *i, &url); | |
| 974 } | |
| 975 } | |
| 976 break; | |
| 977 | |
| 978 case GOOGLE_CONTEXTUAL_SEARCH_VERSION: | 942 case GOOGLE_CONTEXTUAL_SEARCH_VERSION: |
| 979 if (search_terms_args.contextual_search_params.version >= 0) { | 943 if (search_terms_args.contextual_search_params.version >= 0) { |
| 980 HandleReplacement( | 944 HandleReplacement( |
| 981 "ctxs", | 945 "ctxs", |
| 982 base::IntToString( | 946 base::IntToString( |
| 983 search_terms_args.contextual_search_params.version), | 947 search_terms_args.contextual_search_params.version), |
| 984 *i, | 948 *i, |
| 985 &url); | 949 &url); |
| 986 } | 950 } |
| 987 break; | 951 break; |
| (...skipping 525 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1513 // patterns. This means that given patterns | 1477 // patterns. This means that given patterns |
| 1514 // [ "http://foo/#q={searchTerms}", "http://foo/?q={searchTerms}" ], | 1478 // [ "http://foo/#q={searchTerms}", "http://foo/?q={searchTerms}" ], |
| 1515 // calling ExtractSearchTermsFromURL() on "http://foo/?q=bar#q=' would | 1479 // calling ExtractSearchTermsFromURL() on "http://foo/?q=bar#q=' would |
| 1516 // return false. This is important for at least Google, where such URLs | 1480 // return false. This is important for at least Google, where such URLs |
| 1517 // are invalid. | 1481 // are invalid. |
| 1518 return !search_terms->empty(); | 1482 return !search_terms->empty(); |
| 1519 } | 1483 } |
| 1520 } | 1484 } |
| 1521 return false; | 1485 return false; |
| 1522 } | 1486 } |
| OLD | NEW |