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 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
77 const char kGoogleNTPIsThemedParameter[] = "google:ntpIsThemedParameter"; | 77 const char kGoogleNTPIsThemedParameter[] = "google:ntpIsThemedParameter"; |
78 const char kGoogleOmniboxStartMarginParameter[] = | 78 const char kGoogleOmniboxStartMarginParameter[] = |
79 "google:omniboxStartMarginParameter"; | 79 "google:omniboxStartMarginParameter"; |
80 const char kGoogleOriginalQueryForSuggestionParameter[] = | 80 const char kGoogleOriginalQueryForSuggestionParameter[] = |
81 "google:originalQueryForSuggestion"; | 81 "google:originalQueryForSuggestion"; |
82 const char kGooglePageClassificationParameter[] = "google:pageClassification"; | 82 const char kGooglePageClassificationParameter[] = "google:pageClassification"; |
83 const char kGoogleRLZParameter[] = "google:RLZ"; | 83 const char kGoogleRLZParameter[] = "google:RLZ"; |
84 const char kGoogleSearchClient[] = "google:searchClient"; | 84 const char kGoogleSearchClient[] = "google:searchClient"; |
85 const char kGoogleSearchFieldtrialParameter[] = | 85 const char kGoogleSearchFieldtrialParameter[] = |
86 "google:searchFieldtrialParameter"; | 86 "google:searchFieldtrialParameter"; |
| 87 #if defined (OS_ANDROID) |
| 88 const char kGoogleSearchVersion[] = "google:searchVersion"; |
| 89 #endif |
87 const char kGoogleSourceIdParameter[] = "google:sourceId"; | 90 const char kGoogleSourceIdParameter[] = "google:sourceId"; |
88 const char kGoogleSuggestAPIKeyParameter[] = "google:suggestAPIKeyParameter"; | 91 const char kGoogleSuggestAPIKeyParameter[] = "google:suggestAPIKeyParameter"; |
89 const char kGoogleSuggestClient[] = "google:suggestClient"; | 92 const char kGoogleSuggestClient[] = "google:suggestClient"; |
90 const char kGoogleSuggestRequestId[] = "google:suggestRid"; | 93 const char kGoogleSuggestRequestId[] = "google:suggestRid"; |
91 | 94 |
92 // Same as kSearchTermsParameter, with no escaping. | 95 // Same as kSearchTermsParameter, with no escaping. |
93 const char kGoogleUnescapedSearchTermsParameter[] = | 96 const char kGoogleUnescapedSearchTermsParameter[] = |
94 "google:unescapedSearchTerms"; | 97 "google:unescapedSearchTerms"; |
95 const char kGoogleUnescapedSearchTermsParameterFull[] = | 98 const char kGoogleUnescapedSearchTermsParameterFull[] = |
96 "{google:unescapedSearchTerms}"; | 99 "{google:unescapedSearchTerms}"; |
(...skipping 497 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
594 replacements->push_back(Replacement(GOOGLE_ORIGINAL_QUERY_FOR_SUGGESTION, | 597 replacements->push_back(Replacement(GOOGLE_ORIGINAL_QUERY_FOR_SUGGESTION, |
595 start)); | 598 start)); |
596 } else if (parameter == kGooglePageClassificationParameter) { | 599 } else if (parameter == kGooglePageClassificationParameter) { |
597 replacements->push_back(Replacement(GOOGLE_PAGE_CLASSIFICATION, start)); | 600 replacements->push_back(Replacement(GOOGLE_PAGE_CLASSIFICATION, start)); |
598 } else if (parameter == kGoogleRLZParameter) { | 601 } else if (parameter == kGoogleRLZParameter) { |
599 replacements->push_back(Replacement(GOOGLE_RLZ, start)); | 602 replacements->push_back(Replacement(GOOGLE_RLZ, start)); |
600 } else if (parameter == kGoogleSearchClient) { | 603 } else if (parameter == kGoogleSearchClient) { |
601 replacements->push_back(Replacement(GOOGLE_SEARCH_CLIENT, start)); | 604 replacements->push_back(Replacement(GOOGLE_SEARCH_CLIENT, start)); |
602 } else if (parameter == kGoogleSearchFieldtrialParameter) { | 605 } else if (parameter == kGoogleSearchFieldtrialParameter) { |
603 replacements->push_back(Replacement(GOOGLE_SEARCH_FIELDTRIAL_GROUP, start)); | 606 replacements->push_back(Replacement(GOOGLE_SEARCH_FIELDTRIAL_GROUP, start)); |
| 607 #if defined(OS_ANDROID) |
| 608 } else if (parameter == kGoogleSearchVersion) { |
| 609 if (CommandLine::ForCurrentProcess()->HasSwitch( |
| 610 switches::kEnableAnswersInSuggest)) { |
| 611 url->insert(start, "gs_rn=42&"); |
| 612 } |
| 613 #endif |
604 } else if (parameter == kGoogleSourceIdParameter) { | 614 } else if (parameter == kGoogleSourceIdParameter) { |
605 #if defined(OS_ANDROID) | 615 #if defined(OS_ANDROID) |
606 url->insert(start, "sourceid=chrome-mobile&"); | 616 url->insert(start, "sourceid=chrome-mobile&"); |
607 #else | 617 #else |
608 url->insert(start, "sourceid=chrome&"); | 618 url->insert(start, "sourceid=chrome&"); |
609 #endif | 619 #endif |
610 } else if (parameter == kGoogleSuggestAPIKeyParameter) { | 620 } else if (parameter == kGoogleSuggestAPIKeyParameter) { |
611 url->insert(start, | 621 url->insert(start, |
612 net::EscapeQueryParamValue(google_apis::GetAPIKey(), false)); | 622 net::EscapeQueryParamValue(google_apis::GetAPIKey(), false)); |
613 } else if (parameter == kGoogleSuggestClient) { | 623 } else if (parameter == kGoogleSuggestClient) { |
(...skipping 716 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1330 // patterns. This means that given patterns | 1340 // patterns. This means that given patterns |
1331 // [ "http://foo/#q={searchTerms}", "http://foo/?q={searchTerms}" ], | 1341 // [ "http://foo/#q={searchTerms}", "http://foo/?q={searchTerms}" ], |
1332 // calling ExtractSearchTermsFromURL() on "http://foo/?q=bar#q=' would | 1342 // calling ExtractSearchTermsFromURL() on "http://foo/?q=bar#q=' would |
1333 // return false. This is important for at least Google, where such URLs | 1343 // return false. This is important for at least Google, where such URLs |
1334 // are invalid. | 1344 // are invalid. |
1335 return !search_terms->empty(); | 1345 return !search_terms->empty(); |
1336 } | 1346 } |
1337 } | 1347 } |
1338 return false; | 1348 return false; |
1339 } | 1349 } |
OLD | NEW |