Index: components/ntp_snippets/remote/ntp_snippets_fetcher.cc |
diff --git a/components/ntp_snippets/remote/ntp_snippets_fetcher.cc b/components/ntp_snippets/remote/ntp_snippets_fetcher.cc |
index 881bd8b76bad2af34697a6ead510fb043988de62..87f5a361d3c7a1e92afa7679e6920552dcd3144a 100644 |
--- a/components/ntp_snippets/remote/ntp_snippets_fetcher.cc |
+++ b/components/ntp_snippets/remote/ntp_snippets_fetcher.cc |
@@ -137,8 +137,9 @@ bool AddSnippetsFromListValue(bool content_suggestions_api, |
NTPSnippet::PtrVector* snippets) { |
for (const auto& value : list) { |
const base::DictionaryValue* dict = nullptr; |
- if (!value->GetAsDictionary(&dict)) |
+ if (!value->GetAsDictionary(&dict)) { |
return false; |
+ } |
std::unique_ptr<NTPSnippet> snippet; |
if (content_suggestions_api) { |
@@ -146,8 +147,9 @@ bool AddSnippetsFromListValue(bool content_suggestions_api, |
} else { |
snippet = NTPSnippet::CreateFromChromeReaderDictionary(*dict); |
} |
- if (!snippet) |
+ if (!snippet) { |
return false; |
+ } |
snippets->push_back(std::move(snippet)); |
} |
@@ -238,7 +240,7 @@ void NTPSnippetsFetcher::FetchSnippetsFromHosts( |
int count, |
bool interactive_request) { |
if (!request_throttler_.DemandQuotaForRequest(interactive_request)) { |
- FetchFinished(OptionalSnippets(), |
+ FetchFinished(OptionalFetchedCategories(), |
interactive_request |
? FetchResult::INTERACTIVE_QUOTA_ERROR |
: FetchResult::NON_INTERACTIVE_QUOTA_ERROR, |
@@ -484,7 +486,7 @@ void NTPSnippetsFetcher::OnGetTokenFailure( |
DLOG(ERROR) << "Unable to get token: " << error.ToString(); |
FetchFinished( |
- OptionalSnippets(), FetchResult::OAUTH_TOKEN_ERROR, |
+ OptionalFetchedCategories(), FetchResult::OAUTH_TOKEN_ERROR, |
/*extra_message=*/base::StringPrintf(" (%s)", error.ToString().c_str())); |
} |
@@ -514,7 +516,8 @@ void NTPSnippetsFetcher::OnURLFetchComplete(const URLFetcher* source) { |
status.is_success() ? source->GetResponseCode() : status.error()); |
if (!status.is_success()) { |
- FetchFinished(OptionalSnippets(), FetchResult::URL_REQUEST_STATUS_ERROR, |
+ FetchFinished(OptionalFetchedCategories(), |
+ FetchResult::URL_REQUEST_STATUS_ERROR, |
/*extra_message=*/base::StringPrintf(" %d", status.error())); |
} else if (source->GetResponseCode() != net::HTTP_OK) { |
// TODO(jkrcal): https://crbug.com/609084 |
@@ -523,7 +526,7 @@ void NTPSnippetsFetcher::OnURLFetchComplete(const URLFetcher* source) { |
// fetch a new auth token). We should extract that into a common class |
// instead of adding it to every single class that uses auth tokens. |
FetchFinished( |
- OptionalSnippets(), FetchResult::HTTP_ERROR, |
+ OptionalFetchedCategories(), FetchResult::HTTP_ERROR, |
/*extra_message=*/base::StringPrintf(" %d", source->GetResponseCode())); |
} else { |
bool stores_result_to_string = |
@@ -598,11 +601,12 @@ bool NTPSnippetsFetcher::JsonToSnippets(const base::Value& parsed, |
void NTPSnippetsFetcher::OnJsonParsed(std::unique_ptr<base::Value> parsed) { |
FetchedCategoriesVector categories; |
if (JsonToSnippets(*parsed, &categories)) { |
- FetchFinished(OptionalSnippets(std::move(categories)), FetchResult::SUCCESS, |
+ FetchFinished(OptionalFetchedCategories(std::move(categories)), |
+ FetchResult::SUCCESS, |
/*extra_message=*/std::string()); |
} else { |
LOG(WARNING) << "Received invalid snippets: " << last_fetch_json_; |
- FetchFinished(OptionalSnippets(), |
+ FetchFinished(OptionalFetchedCategories(), |
FetchResult::INVALID_SNIPPET_CONTENT_ERROR, |
/*extra_message=*/std::string()); |
} |
@@ -612,14 +616,15 @@ void NTPSnippetsFetcher::OnJsonError(const std::string& error) { |
LOG(WARNING) << "Received invalid JSON (" << error |
<< "): " << last_fetch_json_; |
FetchFinished( |
- OptionalSnippets(), FetchResult::JSON_PARSE_ERROR, |
+ OptionalFetchedCategories(), FetchResult::JSON_PARSE_ERROR, |
/*extra_message=*/base::StringPrintf(" (error %s)", error.c_str())); |
} |
-void NTPSnippetsFetcher::FetchFinished(OptionalSnippets snippets, |
- FetchResult result, |
- const std::string& extra_message) { |
- DCHECK(result == FetchResult::SUCCESS || !snippets); |
+void NTPSnippetsFetcher::FetchFinished( |
+ OptionalFetchedCategories fetched_categories, |
+ FetchResult result, |
+ const std::string& extra_message) { |
+ DCHECK(result == FetchResult::SUCCESS || !fetched_categories); |
last_status_ = FetchResultToString(result) + extra_message; |
// Don't record FetchTimes if the result indicates that a precondition |
@@ -634,7 +639,7 @@ void NTPSnippetsFetcher::FetchFinished(OptionalSnippets snippets, |
DVLOG(1) << "Fetch finished: " << last_status_; |
if (!snippets_available_callback_.is_null()) |
- snippets_available_callback_.Run(std::move(snippets)); |
+ snippets_available_callback_.Run(std::move(fetched_categories)); |
} |
} // namespace ntp_snippets |