| 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 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 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) | 87 #if defined (OS_ANDROID) |
| 88 const char kGoogleSearchVersion[] = "google:searchVersion"; | 88 const char kGoogleSearchVersion[] = "google:searchVersion"; |
| 89 #endif | 89 #endif |
| 90 const char kGoogleSessionToken[] = "google:sessionToken"; |
| 90 const char kGoogleSourceIdParameter[] = "google:sourceId"; | 91 const char kGoogleSourceIdParameter[] = "google:sourceId"; |
| 91 const char kGoogleSuggestAPIKeyParameter[] = "google:suggestAPIKeyParameter"; | 92 const char kGoogleSuggestAPIKeyParameter[] = "google:suggestAPIKeyParameter"; |
| 92 const char kGoogleSuggestClient[] = "google:suggestClient"; | 93 const char kGoogleSuggestClient[] = "google:suggestClient"; |
| 93 const char kGoogleSuggestRequestId[] = "google:suggestRid"; | 94 const char kGoogleSuggestRequestId[] = "google:suggestRid"; |
| 94 | 95 |
| 95 // Same as kSearchTermsParameter, with no escaping. | 96 // Same as kSearchTermsParameter, with no escaping. |
| 96 const char kGoogleUnescapedSearchTermsParameter[] = | 97 const char kGoogleUnescapedSearchTermsParameter[] = |
| 97 "google:unescapedSearchTerms"; | 98 "google:unescapedSearchTerms"; |
| 98 const char kGoogleUnescapedSearchTermsParameterFull[] = | 99 const char kGoogleUnescapedSearchTermsParameterFull[] = |
| 99 "{google:unescapedSearchTerms}"; | 100 "{google:unescapedSearchTerms}"; |
| (...skipping 504 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 604 replacements->push_back(Replacement(GOOGLE_SEARCH_CLIENT, start)); | 605 replacements->push_back(Replacement(GOOGLE_SEARCH_CLIENT, start)); |
| 605 } else if (parameter == kGoogleSearchFieldtrialParameter) { | 606 } else if (parameter == kGoogleSearchFieldtrialParameter) { |
| 606 replacements->push_back(Replacement(GOOGLE_SEARCH_FIELDTRIAL_GROUP, start)); | 607 replacements->push_back(Replacement(GOOGLE_SEARCH_FIELDTRIAL_GROUP, start)); |
| 607 #if defined(OS_ANDROID) | 608 #if defined(OS_ANDROID) |
| 608 } else if (parameter == kGoogleSearchVersion) { | 609 } else if (parameter == kGoogleSearchVersion) { |
| 609 if (CommandLine::ForCurrentProcess()->HasSwitch( | 610 if (CommandLine::ForCurrentProcess()->HasSwitch( |
| 610 switches::kEnableAnswersInSuggest)) { | 611 switches::kEnableAnswersInSuggest)) { |
| 611 url->insert(start, "gs_rn=42&"); | 612 url->insert(start, "gs_rn=42&"); |
| 612 } | 613 } |
| 613 #endif | 614 #endif |
| 615 } else if (parameter == kGoogleSessionToken) { |
| 616 replacements->push_back(Replacement(GOOGLE_SESSION_TOKEN, start)); |
| 614 } else if (parameter == kGoogleSourceIdParameter) { | 617 } else if (parameter == kGoogleSourceIdParameter) { |
| 615 #if defined(OS_ANDROID) | 618 #if defined(OS_ANDROID) |
| 616 url->insert(start, "sourceid=chrome-mobile&"); | 619 url->insert(start, "sourceid=chrome-mobile&"); |
| 617 #else | 620 #else |
| 618 url->insert(start, "sourceid=chrome&"); | 621 url->insert(start, "sourceid=chrome&"); |
| 619 #endif | 622 #endif |
| 620 } else if (parameter == kGoogleSuggestAPIKeyParameter) { | 623 } else if (parameter == kGoogleSuggestAPIKeyParameter) { |
| 621 url->insert(start, | 624 url->insert(start, |
| 622 net::EscapeQueryParamValue(google_apis::GetAPIKey(), false)); | 625 net::EscapeQueryParamValue(google_apis::GetAPIKey(), false)); |
| 623 } else if (parameter == kGoogleSuggestClient) { | 626 } else if (parameter == kGoogleSuggestClient) { |
| (...skipping 345 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 969 HandleReplacement("client", client, *i, &url); | 972 HandleReplacement("client", client, *i, &url); |
| 970 break; | 973 break; |
| 971 } | 974 } |
| 972 | 975 |
| 973 case GOOGLE_SEARCH_FIELDTRIAL_GROUP: | 976 case GOOGLE_SEARCH_FIELDTRIAL_GROUP: |
| 974 // We are not currently running any fieldtrials that modulate the search | 977 // We are not currently running any fieldtrials that modulate the search |
| 975 // url. If we do, then we'd have some conditional insert such as: | 978 // url. If we do, then we'd have some conditional insert such as: |
| 976 // url.insert(i->index, used_www ? "gcx=w&" : "gcx=c&"); | 979 // url.insert(i->index, used_www ? "gcx=w&" : "gcx=c&"); |
| 977 break; | 980 break; |
| 978 | 981 |
| 982 case GOOGLE_SESSION_TOKEN: { |
| 983 std::string token = search_terms_args.session_token; |
| 984 if (!token.empty()) |
| 985 HandleReplacement("psi", token, *i, &url); |
| 986 break; |
| 987 } |
| 988 |
| 979 case GOOGLE_SUGGEST_CLIENT: | 989 case GOOGLE_SUGGEST_CLIENT: |
| 980 HandleReplacement( | 990 HandleReplacement( |
| 981 std::string(), search_terms_data.GetSuggestClient(), *i, &url); | 991 std::string(), search_terms_data.GetSuggestClient(), *i, &url); |
| 982 break; | 992 break; |
| 983 | 993 |
| 984 case GOOGLE_SUGGEST_REQUEST_ID: | 994 case GOOGLE_SUGGEST_REQUEST_ID: |
| 985 HandleReplacement( | 995 HandleReplacement( |
| 986 std::string(), search_terms_data.GetSuggestRequestIdentifier(), *i, | 996 std::string(), search_terms_data.GetSuggestRequestIdentifier(), *i, |
| 987 &url); | 997 &url); |
| 988 break; | 998 break; |
| (...skipping 386 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1375 // patterns. This means that given patterns | 1385 // patterns. This means that given patterns |
| 1376 // [ "http://foo/#q={searchTerms}", "http://foo/?q={searchTerms}" ], | 1386 // [ "http://foo/#q={searchTerms}", "http://foo/?q={searchTerms}" ], |
| 1377 // calling ExtractSearchTermsFromURL() on "http://foo/?q=bar#q=' would | 1387 // calling ExtractSearchTermsFromURL() on "http://foo/?q=bar#q=' would |
| 1378 // return false. This is important for at least Google, where such URLs | 1388 // return false. This is important for at least Google, where such URLs |
| 1379 // are invalid. | 1389 // are invalid. |
| 1380 return !search_terms->empty(); | 1390 return !search_terms->empty(); |
| 1381 } | 1391 } |
| 1382 } | 1392 } |
| 1383 return false; | 1393 return false; |
| 1384 } | 1394 } |
| OLD | NEW |