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

Side by Side Diff: components/ntp_snippets/remote/remote_suggestions_fetcher.cc

Issue 2718453002: ntp_snippets: default to staging API on dev/canary (Closed)
Patch Set: rebase Created 3 years, 9 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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/ntp_snippets/remote/remote_suggestions_fetcher.h" 5 #include "components/ntp_snippets/remote/remote_suggestions_fetcher.h"
6 6
7 #include <cstdlib> 7 #include <cstdlib>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/files/file_path.h" 10 #include "base/files/file_path.h"
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
94 case FetchResult::INVALID_SNIPPET_CONTENT_ERROR: 94 case FetchResult::INVALID_SNIPPET_CONTENT_ERROR:
95 case FetchResult::JSON_PARSE_ERROR: 95 case FetchResult::JSON_PARSE_ERROR:
96 return Status(StatusCode::TEMPORARY_ERROR, FetchResultToString(result)); 96 return Status(StatusCode::TEMPORARY_ERROR, FetchResultToString(result));
97 case FetchResult::RESULT_MAX: 97 case FetchResult::RESULT_MAX:
98 break; 98 break;
99 } 99 }
100 NOTREACHED(); 100 NOTREACHED();
101 return Status(StatusCode::PERMANENT_ERROR, std::string()); 101 return Status(StatusCode::PERMANENT_ERROR, std::string());
102 } 102 }
103 103
104 std::string GetFetchEndpoint() {
105 std::string endpoint = variations::GetVariationParamValueByFeature(
106 ntp_snippets::kArticleSuggestionsFeature, kContentSuggestionsBackend);
107 return endpoint.empty() ? kContentSuggestionsServer : endpoint;
108 }
109
110 bool UsesChromeContentSuggestionsAPI(const GURL& endpoint) { 104 bool UsesChromeContentSuggestionsAPI(const GURL& endpoint) {
111 if (endpoint == kChromeReaderServer) { 105 if (endpoint == kChromeReaderServer) {
112 return false; 106 return false;
113 } 107 }
114 108
115 if (endpoint != kContentSuggestionsServer && 109 if (endpoint != kContentSuggestionsServer &&
116 endpoint != kContentSuggestionsStagingServer && 110 endpoint != kContentSuggestionsStagingServer &&
117 endpoint != kContentSuggestionsAlphaServer) { 111 endpoint != kContentSuggestionsAlphaServer) {
118 LOG(WARNING) << "Unknown value for " << kContentSuggestionsBackend << ": " 112 LOG(WARNING) << "Unknown value for " << kContentSuggestionsBackend << ": "
119 << endpoint << "; assuming chromecontentsuggestions-style API"; 113 << endpoint << "; assuming chromecontentsuggestions-style API";
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
184 categories->clear(); 178 categories->clear();
185 return; 179 return;
186 } 180 }
187 RemoteSuggestionsFetcher::FetchedCategory category = std::move(*category_it); 181 RemoteSuggestionsFetcher::FetchedCategory category = std::move(*category_it);
188 categories->clear(); 182 categories->clear();
189 categories->push_back(std::move(category)); 183 categories->push_back(std::move(category));
190 } 184 }
191 185
192 } // namespace 186 } // namespace
193 187
188 GURL GetFetchEndpoint(version_info::Channel channel) {
189 std::string endpoint = variations::GetVariationParamValueByFeature(
190 ntp_snippets::kArticleSuggestionsFeature, kContentSuggestionsBackend);
191 if (!endpoint.empty()) {
192 return GURL{endpoint};
193 }
194
195 switch (channel) {
196 case version_info::Channel::STABLE:
197 case version_info::Channel::BETA:
198 return GURL{kContentSuggestionsServer};
199
200 case version_info::Channel::DEV:
201 case version_info::Channel::CANARY:
202 case version_info::Channel::UNKNOWN:
203 return GURL{kContentSuggestionsStagingServer};
204 }
205 NOTREACHED();
206 return GURL{kContentSuggestionsStagingServer};
207 }
208
194 CategoryInfo BuildArticleCategoryInfo( 209 CategoryInfo BuildArticleCategoryInfo(
195 const base::Optional<base::string16>& title) { 210 const base::Optional<base::string16>& title) {
196 return CategoryInfo( 211 return CategoryInfo(
197 title.has_value() ? title.value() 212 title.has_value() ? title.value()
198 : l10n_util::GetStringUTF16( 213 : l10n_util::GetStringUTF16(
199 IDS_NTP_ARTICLE_SUGGESTIONS_SECTION_HEADER), 214 IDS_NTP_ARTICLE_SUGGESTIONS_SECTION_HEADER),
200 ContentSuggestionsCardLayout::FULL_CARD, 215 ContentSuggestionsCardLayout::FULL_CARD,
201 /*has_fetch_action=*/true, 216 /*has_fetch_action=*/true,
202 /*has_view_all_action=*/false, 217 /*has_view_all_action=*/false,
203 /*show_if_empty=*/true, 218 /*show_if_empty=*/true,
(...skipping 26 matching lines...) Expand all
230 RemoteSuggestionsFetcher::FetchedCategory::operator=(FetchedCategory&&) = 245 RemoteSuggestionsFetcher::FetchedCategory::operator=(FetchedCategory&&) =
231 default; 246 default;
232 247
233 RemoteSuggestionsFetcher::RemoteSuggestionsFetcher( 248 RemoteSuggestionsFetcher::RemoteSuggestionsFetcher(
234 SigninManagerBase* signin_manager, 249 SigninManagerBase* signin_manager,
235 OAuth2TokenService* token_service, 250 OAuth2TokenService* token_service,
236 scoped_refptr<URLRequestContextGetter> url_request_context_getter, 251 scoped_refptr<URLRequestContextGetter> url_request_context_getter,
237 PrefService* pref_service, 252 PrefService* pref_service,
238 LanguageModel* language_model, 253 LanguageModel* language_model,
239 const ParseJSONCallback& parse_json_callback, 254 const ParseJSONCallback& parse_json_callback,
255 const GURL& api_endpoint,
240 const std::string& api_key, 256 const std::string& api_key,
241 const UserClassifier* user_classifier) 257 const UserClassifier* user_classifier)
242 : OAuth2TokenService::Consumer("ntp_snippets"), 258 : OAuth2TokenService::Consumer("ntp_snippets"),
243 signin_manager_(signin_manager), 259 signin_manager_(signin_manager),
244 token_service_(token_service), 260 token_service_(token_service),
245 url_request_context_getter_(std::move(url_request_context_getter)), 261 url_request_context_getter_(std::move(url_request_context_getter)),
246 language_model_(language_model), 262 language_model_(language_model),
247 parse_json_callback_(parse_json_callback), 263 parse_json_callback_(parse_json_callback),
248 fetch_url_(GetFetchEndpoint()), 264 fetch_url_(api_endpoint),
249 fetch_api_(UsesChromeContentSuggestionsAPI(fetch_url_) 265 fetch_api_(UsesChromeContentSuggestionsAPI(fetch_url_)
250 ? FetchAPI::CHROME_CONTENT_SUGGESTIONS_API 266 ? FetchAPI::CHROME_CONTENT_SUGGESTIONS_API
251 : FetchAPI::CHROME_READER_API), 267 : FetchAPI::CHROME_READER_API),
252 api_key_(api_key), 268 api_key_(api_key),
253 clock_(new base::DefaultClock()), 269 clock_(new base::DefaultClock()),
254 user_classifier_(user_classifier) {} 270 user_classifier_(user_classifier) {}
255 271
256 RemoteSuggestionsFetcher::~RemoteSuggestionsFetcher() { 272 RemoteSuggestionsFetcher::~RemoteSuggestionsFetcher() {
257 if (waiting_for_refresh_token_) { 273 if (waiting_for_refresh_token_) {
258 token_service_->RemoveObserver(this); 274 token_service_->RemoveObserver(this);
(...skipping 276 matching lines...) Expand 10 before | Expand all | Expand 10 after
535 categories->back().suggestions = std::move(suggestions); 551 categories->back().suggestions = std::move(suggestions);
536 } 552 }
537 return true; 553 return true;
538 } 554 }
539 } 555 }
540 NOTREACHED(); 556 NOTREACHED();
541 return false; 557 return false;
542 } 558 }
543 559
544 } // namespace ntp_snippets 560 } // namespace ntp_snippets
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698