Index: components/ntp_snippets/ntp_snippets_fetcher.h |
diff --git a/components/ntp_snippets/ntp_snippets_fetcher.h b/components/ntp_snippets/ntp_snippets_fetcher.h |
index 8391286a3190e5d1fb9a6d4c4f028349d1392c54..fa40175001604bb47427ebb83b37b626daf87800 100644 |
--- a/components/ntp_snippets/ntp_snippets_fetcher.h |
+++ b/components/ntp_snippets/ntp_snippets_fetcher.h |
@@ -8,6 +8,7 @@ |
#include <memory> |
#include <set> |
#include <string> |
+#include <utility> |
#include <vector> |
#include "base/callback.h" |
@@ -16,10 +17,12 @@ |
#include "base/time/tick_clock.h" |
#include "base/time/time.h" |
#include "components/ntp_snippets/ntp_snippet.h" |
+#include "components/ntp_snippets/request_throttler.h" |
#include "google_apis/gaia/oauth2_token_service.h" |
#include "net/url_request/url_fetcher_delegate.h" |
#include "net/url_request/url_request_context_getter.h" |
+class PrefService; |
class SigninManagerBase; |
namespace base { |
@@ -76,6 +79,7 @@ class NTPSnippetsFetcher : public OAuth2TokenService::Consumer, |
SigninManagerBase* signin_manager, |
OAuth2TokenService* oauth2_token_service, |
scoped_refptr<net::URLRequestContextGetter> url_request_context_getter, |
+ PrefService* pref_service, |
const ParseJSONCallback& parse_json_callback, |
bool is_stable_channel); |
~NTPSnippetsFetcher() override; |
@@ -90,9 +94,13 @@ class NTPSnippetsFetcher : public OAuth2TokenService::Consumer, |
// If an ongoing fetch exists, it will be cancelled and a new one started, |
// without triggering an additional callback (i.e. not noticeable by |
// subscriber of SetCallback()). |
+ // |
+ // Fetches snippets only if the daily quota not exceeded, unless |force| is |
Marc Treib
2016/07/22 13:52:52
force_request (or rename the actual param below)
Bernhard Bauer
2016/07/22 13:59:14
Nit: The name of the parameter is |force_request|;
jkrcal
2016/07/25 10:05:38
Done.
|
+ // set to true. Use force only for user-initiated fetches. |
void FetchSnippetsFromHosts(const std::set<std::string>& hosts, |
const std::string& language_code, |
- int count); |
+ int count, |
+ bool force_request); |
// Debug string representing the status/result of the last fetch attempt. |
const std::string& last_status() const { return last_status_; } |
@@ -217,6 +225,9 @@ class NTPSnippetsFetcher : public OAuth2TokenService::Consumer, |
// Allow for an injectable tick clock for testing. |
std::unique_ptr<base::TickClock> tick_clock_; |
+ // Request throttler for limiting requests. |
+ RequestThrottler request_throttler_; |
+ |
base::WeakPtrFactory<NTPSnippetsFetcher> weak_ptr_factory_; |
DISALLOW_COPY_AND_ASSIGN(NTPSnippetsFetcher); |