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

Unified Diff: components/ntp_snippets/ntp_snippets_status_service.h

Issue 2158373002: [NTP Snippets] Add a pref to disable the NTPSnippetsService (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 4 years, 5 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_status_service.h
diff --git a/components/ntp_snippets/ntp_snippets_status_service.h b/components/ntp_snippets/ntp_snippets_status_service.h
index b5a73eea1c1deaec2c60cc911d690cc0f3b7a45e..50482464e5a1219dba9ee6eac661a1ef5cec6a3a 100644
--- a/components/ntp_snippets/ntp_snippets_status_service.h
+++ b/components/ntp_snippets/ntp_snippets_status_service.h
@@ -8,8 +8,11 @@
#include "base/callback.h"
#include "base/gtest_prod_util.h"
#include "base/scoped_observer.h"
+#include "components/prefs/pref_change_registrar.h"
#include "components/sync_driver/sync_service_observer.h"
+class PrefRegistrySimple;
+class PrefService;
class SigninManagerBase;
namespace sync_driver {
@@ -44,10 +47,13 @@ class NTPSnippetsStatusService : public sync_driver::SyncServiceObserver {
typedef base::Callback<void(DisabledReason)> DisabledReasonChangeCallback;
NTPSnippetsStatusService(SigninManagerBase* signin_manager,
- sync_driver::SyncService* sync_service);
+ sync_driver::SyncService* sync_service,
+ PrefService* pref_service);
~NTPSnippetsStatusService() override;
+ static void RegisterProfilePrefs(PrefRegistrySimple* registry);
+
// Starts listening for changes from the dependencies. |callback| will be
// called when a significant change in state is detected.
void Init(const DisabledReasonChangeCallback& callback);
@@ -57,8 +63,10 @@ class NTPSnippetsStatusService : public sync_driver::SyncServiceObserver {
private:
FRIEND_TEST_ALL_PREFIXES(NTPSnippetsStatusServiceTest,
SyncStateCompatibility);
+ FRIEND_TEST_ALL_PREFIXES(NTPSnippetsStatusServiceTest, DisabledViaPref);
- // sync_driver::SyncServiceObserver implementation
+ // sync_driver::SyncServiceObserver implementation. Also used as a callback
+ // for the PrefChangeRegistrar.
void OnStateChanged() override;
DisabledReason GetDisabledReasonFromDeps() const;
@@ -68,6 +76,9 @@ class NTPSnippetsStatusService : public sync_driver::SyncServiceObserver {
SigninManagerBase* signin_manager_;
sync_driver::SyncService* sync_service_;
+ PrefService* pref_service_;
+
+ PrefChangeRegistrar pref_change_registrar_;
// The observer for the SyncService. When the sync state changes,
// SyncService will call |OnStateChanged|.

Powered by Google App Engine
This is Rietveld 408576698