| Index: components/ntp_snippets/ntp_snippets_fetcher.cc
|
| diff --git a/components/ntp_snippets/ntp_snippets_fetcher.cc b/components/ntp_snippets/ntp_snippets_fetcher.cc
|
| index f114f39c5994d6ce8e1998d77a9ee4177bf093ca..b97cd246501632f0e2938f686cd6f9b55777b08e 100644
|
| --- a/components/ntp_snippets/ntp_snippets_fetcher.cc
|
| +++ b/components/ntp_snippets/ntp_snippets_fetcher.cc
|
| @@ -108,7 +108,7 @@ bool UsesChromeContentSuggestionsAPI(const GURL& endpoint) {
|
| endpoint != GURL(kContentSuggestionsDevServer) &&
|
| endpoint != GURL(kContentSuggestionsAlphaServer)) {
|
| LOG(WARNING) << "Unknown value for " << kContentSuggestionsBackend << ": "
|
| - << "assuming chromecontentsuggestions-style API";
|
| + << "assuming chromecontentsuggestions-style API";
|
| }
|
| return true;
|
| }
|
| @@ -171,6 +171,7 @@ NTPSnippetsFetcher::NTPSnippetsFetcher(
|
| ? CHROME_CONTENT_SUGGESTIONS_API
|
| : CHROME_READER_API),
|
| is_stable_channel_(is_stable_channel),
|
| + interactive_request_(false),
|
| tick_clock_(new base::DefaultTickClock()),
|
| request_throttler_(
|
| pref_service,
|
| @@ -238,6 +239,7 @@ void NTPSnippetsFetcher::FetchSnippetsFromHosts(
|
| count_to_fetch_ = count;
|
|
|
| bool use_authentication = UsesAuthentication();
|
| + interactive_request_ = interactive_request;
|
|
|
| if (use_authentication && signin_manager_->IsAuthenticated()) {
|
| // Signed-in: get OAuth token --> fetch snippets.
|
| @@ -263,7 +265,8 @@ NTPSnippetsFetcher::RequestParams::RequestParams()
|
| only_return_personalized_results(),
|
| user_locale(),
|
| host_restricts(),
|
| - count_to_fetch() {}
|
| + count_to_fetch(),
|
| + interactive_request() {}
|
|
|
| NTPSnippetsFetcher::RequestParams::~RequestParams() = default;
|
|
|
| @@ -327,6 +330,9 @@ std::string NTPSnippetsFetcher::RequestParams::BuildRequest() {
|
| regular_hosts->AppendString(host);
|
| }
|
| request->Set("regularlyVisitedHostNames", std::move(regular_hosts));
|
| + request->SetString("priority", interactive_request
|
| + ? "USER_ACTION"
|
| + : "BACKGROUND_PREFETCH");
|
|
|
| auto excluded = base::MakeUnique<base::ListValue>();
|
| for (const auto& id : excluded_ids) {
|
| @@ -374,7 +380,8 @@ void NTPSnippetsFetcher::FetchSnippetsImpl(const GURL& url,
|
| url_fetcher_->SetUploadData("application/json", request);
|
| // Log the request for debugging network issues.
|
| VLOG(1) << "Sending a NTP snippets request to " << url << ":" << std::endl
|
| - << headers.ToString() << std::endl << request;
|
| + << headers.ToString() << std::endl
|
| + << request;
|
| // Fetchers are sometimes cancelled because a network change was detected.
|
| url_fetcher_->SetAutomaticallyRetryOnNetworkChanges(3);
|
| // Try to make fetching the files bit more robust even with poor connection.
|
| @@ -407,6 +414,7 @@ void NTPSnippetsFetcher::FetchSnippetsNonAuthenticated() {
|
| UsesHostRestrictions() ? hosts_ : std::set<std::string>();
|
| params.excluded_ids = excluded_ids_;
|
| params.count_to_fetch = count_to_fetch_;
|
| + params.interactive_request = interactive_request_;
|
| FetchSnippetsImpl(url, std::string(), params.BuildRequest());
|
| }
|
|
|
| @@ -423,6 +431,7 @@ void NTPSnippetsFetcher::FetchSnippetsAuthenticated(
|
| UsesHostRestrictions() ? hosts_ : std::set<std::string>();
|
| params.excluded_ids = excluded_ids_;
|
| params.count_to_fetch = count_to_fetch_;
|
| + params.interactive_request = interactive_request_;
|
| // TODO(jkrcal, treib): Add unit-tests for authenticated fetches.
|
| FetchSnippetsImpl(fetch_url_,
|
| base::StringPrintf(kAuthorizationRequestHeaderFormat,
|
| @@ -512,16 +521,15 @@ void NTPSnippetsFetcher::OnURLFetchComplete(const URLFetcher* source) {
|
| OptionalSnippets(), FetchResult::HTTP_ERROR,
|
| /*extra_message=*/base::StringPrintf(" %d", source->GetResponseCode()));
|
| } else {
|
| - bool stores_result_to_string = source->GetResponseAsString(
|
| - &last_fetch_json_);
|
| + bool stores_result_to_string =
|
| + source->GetResponseAsString(&last_fetch_json_);
|
| DCHECK(stores_result_to_string);
|
|
|
| - parse_json_callback_.Run(
|
| - last_fetch_json_,
|
| - base::Bind(&NTPSnippetsFetcher::OnJsonParsed,
|
| - weak_ptr_factory_.GetWeakPtr()),
|
| - base::Bind(&NTPSnippetsFetcher::OnJsonError,
|
| - weak_ptr_factory_.GetWeakPtr()));
|
| + parse_json_callback_.Run(last_fetch_json_,
|
| + base::Bind(&NTPSnippetsFetcher::OnJsonParsed,
|
| + weak_ptr_factory_.GetWeakPtr()),
|
| + base::Bind(&NTPSnippetsFetcher::OnJsonError,
|
| + weak_ptr_factory_.GetWeakPtr()));
|
| }
|
| }
|
|
|
| @@ -591,8 +599,8 @@ void NTPSnippetsFetcher::OnJsonParsed(std::unique_ptr<base::Value> parsed) {
|
| }
|
|
|
| void NTPSnippetsFetcher::OnJsonError(const std::string& error) {
|
| - LOG(WARNING) << "Received invalid JSON (" << error << "): "
|
| - << last_fetch_json_;
|
| + LOG(WARNING) << "Received invalid JSON (" << error
|
| + << "): " << last_fetch_json_;
|
| FetchFinished(
|
| OptionalSnippets(), FetchResult::JSON_PARSE_ERROR,
|
| /*extra_message=*/base::StringPrintf(" (error %s)", error.c_str()));
|
|
|