| Index: components/ntp_snippets/remote/ntp_snippets_fetcher.h
|
| diff --git a/components/ntp_snippets/remote/ntp_snippets_fetcher.h b/components/ntp_snippets/remote/ntp_snippets_fetcher.h
|
| index ce40c5539207362b11a8693ce4f235ef76aad2c8..382021f575dd5400895e922280ec47ec5a3d513c 100644
|
| --- a/components/ntp_snippets/remote/ntp_snippets_fetcher.h
|
| +++ b/components/ntp_snippets/remote/ntp_snippets_fetcher.h
|
| @@ -65,7 +65,7 @@ class NTPSnippetsFetcher : public OAuth2TokenService::Consumer,
|
| // occur, |snippets| contains no value (no actual vector in base::Optional).
|
| // Error details can be retrieved using last_status().
|
| using SnippetsAvailableCallback =
|
| - base::Callback<void(OptionalFetchedCategories fetched_categories)>;
|
| + base::OnceCallback<void(OptionalFetchedCategories fetched_categories)>;
|
|
|
| // Enumeration listing all possible outcomes for fetch attempts. Used for UMA
|
| // histograms, so do not change existing values. Insert new values at the end,
|
| @@ -112,6 +112,9 @@ class NTPSnippetsFetcher : public OAuth2TokenService::Consumer,
|
| // user action. Typically, non-interactive requests are subject to a daily
|
| // quota.
|
| bool interactive_request = false;
|
| +
|
| + // If set, only return results for this category.
|
| + base::Optional<Category> exclusive_category;
|
| };
|
|
|
| NTPSnippetsFetcher(
|
| @@ -126,17 +129,13 @@ class NTPSnippetsFetcher : public OAuth2TokenService::Consumer,
|
| const UserClassifier* user_classifier);
|
| ~NTPSnippetsFetcher() override;
|
|
|
| - // Set a callback that is called when a new set of snippets are downloaded,
|
| - // overriding any previously set callback.
|
| - void SetCallback(const SnippetsAvailableCallback& callback);
|
| -
|
| // Initiates a fetch from the server. When done (successfully or not), calls
|
| // the subscriber of SetCallback().
|
| //
|
| // If an ongoing fetch exists, it will be silently abandoned and a new one
|
| // started, without triggering an additional callback (i.e. the callback will
|
| // only be called once).
|
| - void FetchSnippets(const Params& params);
|
| + void FetchSnippets(const Params& params, SnippetsAvailableCallback callback);
|
|
|
| // Debug string representing the status/result of the last fetch attempt.
|
| const std::string& last_status() const { return last_status_; }
|
| @@ -227,6 +226,7 @@ class NTPSnippetsFetcher : public OAuth2TokenService::Consumer,
|
| void FetchFinished(OptionalFetchedCategories fetched_categories,
|
| FetchResult result,
|
| const std::string& extra_message);
|
| + void FilterCategories(FetchedCategoriesVector* categories);
|
|
|
| bool DemandQuotaForRequest(bool interactive_request);
|
|
|
|
|