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

Unified Diff: components/ntp_snippets/ntp_snippets_service.h

Issue 2227973002: Add request throttler to thumbnail fetching for articles on mobile NTP (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: One forgotten comment Created 4 years, 4 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 side-by-side diff with in-line comments
Download patch
Index: components/ntp_snippets/ntp_snippets_service.h
diff --git a/components/ntp_snippets/ntp_snippets_service.h b/components/ntp_snippets/ntp_snippets_service.h
index 8e1a829674e09c11b03b43d32ecc973fdede64b8..01880882b8ec929df67e84d8837403464493c9f7 100644
--- a/components/ntp_snippets/ntp_snippets_service.h
+++ b/components/ntp_snippets/ntp_snippets_service.h
@@ -26,6 +26,7 @@
#include "components/ntp_snippets/ntp_snippets_fetcher.h"
#include "components/ntp_snippets/ntp_snippets_scheduler.h"
#include "components/ntp_snippets/ntp_snippets_status_service.h"
+#include "components/ntp_snippets/request_throttler.h"
#include "components/suggestions/suggestions_service.h"
#include "components/sync/driver/sync_service_observer.h"
@@ -97,17 +98,17 @@ class NTPSnippetsService : public image_fetcher::ImageFetcherDelegate,
bool initialized() const { return ready() || state_ == State::DISABLED; }
// Fetches snippets from the server and adds them to the current ones.
- // Requests can be marked more important by setting |force_request| to true
- // (such request might circumvent the daily quota for requests, etc.) Useful
- // for requests triggered by the user.
- void FetchSnippets(bool force_request);
+ // Requests can be marked more important by setting |interactive_request| to
+ // true (such request might circumvent the daily quota for requests, etc.)
+ // Useful for requests triggered by the user.
+ void FetchSnippets(bool interactive_request);
// Fetches snippets from the server for specified hosts (overriding
// suggestions from the suggestion service) and adds them to the current ones.
// Only called from chrome://snippets-internals, DO NOT USE otherwise!
// Ignored while |loaded()| is false.
void FetchSnippetsFromHosts(const std::set<std::string>& hosts,
- bool force_request);
+ bool interactive_request);
const NTPSnippetsFetcher* snippets_fetcher() const {
return snippets_fetcher_.get();
@@ -215,17 +216,21 @@ class NTPSnippetsService : public image_fetcher::ImageFetcherDelegate,
// observers. This is done after construction, once the database is loaded.
void FinishInitialization();
- void OnSnippetImageFetchedFromDatabase(const std::string& snippet_id,
- const ImageFetchedCallback& callback,
+ void OnSnippetImageFetchedFromDatabase(const ImageFetchedCallback& callback,
+ const std::string& snippet_id,
std::string data);
- void OnSnippetImageDecoded(const std::string& snippet_id,
- const ImageFetchedCallback& callback,
- const gfx::Image& image);
+ void OnSnippetImageDecodedFromDatabase(const ImageFetchedCallback& callback,
+ const std::string& snippet_id,
+ const gfx::Image& image);
void FetchSnippetImageFromNetwork(const std::string& snippet_id,
const ImageFetchedCallback& callback);
+ void OnSnippetImageDecodedFromNetwork(const ImageFetchedCallback& callback,
+ const std::string& snippet_id,
+ const gfx::Image& image);
+
// Triggers a state transition depending on the provided reason to be
// disabled (or lack thereof). This method is called when a change is detected
// by |snippets_status_service_|.
@@ -304,6 +309,9 @@ class NTPSnippetsService : public image_fetcher::ImageFetcherDelegate,
const Category provided_category_;
+ // Request throttler for limiting requests to thumbnail images.
+ RequestThrottler thumbnail_requests_throttler_;
+
DISALLOW_COPY_AND_ASSIGN(NTPSnippetsService);
};

Powered by Google App Engine
This is Rietveld 408576698