Index: chrome/browser/extensions/extension_warning_badge_service.h |
diff --git a/chrome/browser/extensions/extension_warning_badge_service.h b/chrome/browser/extensions/extension_warning_badge_service.h |
index c1887b411e6e019e9ce7152faf71f4b5e6c87a53..70f5ca0a79e65422b2ec2272050aebf2ce354c40 100644 |
--- a/chrome/browser/extensions/extension_warning_badge_service.h |
+++ b/chrome/browser/extensions/extension_warning_badge_service.h |
@@ -7,6 +7,7 @@ |
#include "base/compiler_specific.h" |
#include "base/threading/non_thread_safe.h" |
+#include "components/keyed_service/core/keyed_service.h" |
#include "extensions/browser/warning_service.h" |
#include "extensions/browser/warning_set.h" |
@@ -18,12 +19,15 @@ namespace extensions { |
// A service that is responsible for showing an extension warning badge on the |
// wrench menu. |
-class ExtensionWarningBadgeService : public WarningService::Observer, |
+class ExtensionWarningBadgeService : public KeyedService, |
+ public WarningService::Observer, |
public base::NonThreadSafe { |
public: |
explicit ExtensionWarningBadgeService(Profile* profile); |
virtual ~ExtensionWarningBadgeService(); |
+ static ExtensionWarningBadgeService* Get(content::BrowserContext* context); |
+ |
// Black lists all currently active extension warnings, so that they do not |
// trigger a warning badge again for the life-time of the browsing session. |
void SuppressCurrentWarnings(); |
@@ -41,6 +45,9 @@ class ExtensionWarningBadgeService : public WarningService::Observer, |
Profile* profile_; |
+ ScopedObserver<WarningService, WarningService::Observer> |
+ warning_service_observer_; |
+ |
// Warnings that do not trigger a badge on the wrench menu. |
WarningSet suppressed_warnings_; |