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

Side by Side Diff: components/search_engines/template_url.cc

Issue 1141743003: [Mobile] Upstream fix for yandex search engine (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 7 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
OLDNEW
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 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
96 const char kGoogleSuggestAPIKeyParameter[] = "google:suggestAPIKeyParameter"; 96 const char kGoogleSuggestAPIKeyParameter[] = "google:suggestAPIKeyParameter";
97 const char kGoogleSuggestClient[] = "google:suggestClient"; 97 const char kGoogleSuggestClient[] = "google:suggestClient";
98 const char kGoogleSuggestRequestId[] = "google:suggestRid"; 98 const char kGoogleSuggestRequestId[] = "google:suggestRid";
99 99
100 // Same as kSearchTermsParameter, with no escaping. 100 // Same as kSearchTermsParameter, with no escaping.
101 const char kGoogleUnescapedSearchTermsParameter[] = 101 const char kGoogleUnescapedSearchTermsParameter[] =
102 "google:unescapedSearchTerms"; 102 "google:unescapedSearchTerms";
103 const char kGoogleUnescapedSearchTermsParameterFull[] = 103 const char kGoogleUnescapedSearchTermsParameterFull[] =
104 "{google:unescapedSearchTerms}"; 104 "{google:unescapedSearchTerms}";
105 105
106 // Yandex reported that mobile should use a different path for the search
107 // to avoid one additional redirect, this is used to encode the path in
108 // the URL template.
109 const char kYandexSearchPathParameter[] = "yandex:searchPath";
Peter Kasting 2015/05/13 22:56:55 I'm not a fan of the ton of constants we have up h
sdefresne 2015/05/18 12:35:45 Done. Followup CL https://codereview.chromium.org/
110
106 // Display value for kSearchTermsParameter. 111 // Display value for kSearchTermsParameter.
107 const char kDisplaySearchTerms[] = "%s"; 112 const char kDisplaySearchTerms[] = "%s";
108 113
109 // Display value for kGoogleUnescapedSearchTermsParameter. 114 // Display value for kGoogleUnescapedSearchTermsParameter.
110 const char kDisplayUnescapedSearchTerms[] = "%S"; 115 const char kDisplayUnescapedSearchTerms[] = "%S";
111 116
112 // Used if the count parameter is not optional. Indicates we want 10 search 117 // Used if the count parameter is not optional. Indicates we want 10 search
113 // results. 118 // results.
114 const char kDefaultCount[] = "10"; 119 const char kDefaultCount[] = "10";
115 120
(...skipping 563 matching lines...) Expand 10 before | Expand all | Expand 10 after
679 #endif 684 #endif
680 } else if (parameter == kGoogleSuggestAPIKeyParameter) { 685 } else if (parameter == kGoogleSuggestAPIKeyParameter) {
681 url->insert(start, 686 url->insert(start,
682 net::EscapeQueryParamValue(google_apis::GetAPIKey(), false)); 687 net::EscapeQueryParamValue(google_apis::GetAPIKey(), false));
683 } else if (parameter == kGoogleSuggestClient) { 688 } else if (parameter == kGoogleSuggestClient) {
684 replacements->push_back(Replacement(GOOGLE_SUGGEST_CLIENT, start)); 689 replacements->push_back(Replacement(GOOGLE_SUGGEST_CLIENT, start));
685 } else if (parameter == kGoogleSuggestRequestId) { 690 } else if (parameter == kGoogleSuggestRequestId) {
686 replacements->push_back(Replacement(GOOGLE_SUGGEST_REQUEST_ID, start)); 691 replacements->push_back(Replacement(GOOGLE_SUGGEST_REQUEST_ID, start));
687 } else if (parameter == kGoogleUnescapedSearchTermsParameter) { 692 } else if (parameter == kGoogleUnescapedSearchTermsParameter) {
688 replacements->push_back(Replacement(GOOGLE_UNESCAPED_SEARCH_TERMS, start)); 693 replacements->push_back(Replacement(GOOGLE_UNESCAPED_SEARCH_TERMS, start));
694 } else if (parameter == kYandexSearchPathParameter) {
695 #if defined(OS_ANDROID) || defined(OS_IOS)
Peter Kasting 2015/05/13 22:56:55 Is OS_ANDROID correct here for tablets running And
sdefresne 2015/05/18 12:35:45 I've tested and tablet are redirected to "padsearc
696 url->insert(start, "touchsearch");
697 #else
698 url->insert(start, "yandsearch");
699 #endif
689 } else if (parameter == kInputEncodingParameter) { 700 } else if (parameter == kInputEncodingParameter) {
690 replacements->push_back(Replacement(ENCODING, start)); 701 replacements->push_back(Replacement(ENCODING, start));
691 } else if (parameter == kLanguageParameter) { 702 } else if (parameter == kLanguageParameter) {
692 replacements->push_back(Replacement(LANGUAGE, start)); 703 replacements->push_back(Replacement(LANGUAGE, start));
693 } else if (parameter == kOutputEncodingParameter) { 704 } else if (parameter == kOutputEncodingParameter) {
694 if (!optional) 705 if (!optional)
695 url->insert(start, kOutputEncodingType); 706 url->insert(start, kOutputEncodingType);
696 } else if ((parameter == kStartIndexParameter) || 707 } else if ((parameter == kStartIndexParameter) ||
697 (parameter == kStartPageParameter)) { 708 (parameter == kStartPageParameter)) {
698 // We don't support these. 709 // We don't support these.
(...skipping 844 matching lines...) Expand 10 before | Expand all | Expand 10 after
1543 // patterns. This means that given patterns 1554 // patterns. This means that given patterns
1544 // [ "http://foo/#q={searchTerms}", "http://foo/?q={searchTerms}" ], 1555 // [ "http://foo/#q={searchTerms}", "http://foo/?q={searchTerms}" ],
1545 // calling ExtractSearchTermsFromURL() on "http://foo/?q=bar#q=' would 1556 // calling ExtractSearchTermsFromURL() on "http://foo/?q=bar#q=' would
1546 // return false. This is important for at least Google, where such URLs 1557 // return false. This is important for at least Google, where such URLs
1547 // are invalid. 1558 // are invalid.
1548 return !search_terms->empty(); 1559 return !search_terms->empty();
1549 } 1560 }
1550 } 1561 }
1551 return false; 1562 return false;
1552 } 1563 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698