Index: chrome/browser/cocoa/extensions/extension_action_context_menu.mm |
diff --git a/chrome/browser/cocoa/extensions/extension_action_context_menu.mm b/chrome/browser/cocoa/extensions/extension_action_context_menu.mm |
index 10ea07996949c257359f0a63979b32174543a965..81aa61e4ae247ba745fccc0b14d905097ca51b9a 100644 |
--- a/chrome/browser/cocoa/extensions/extension_action_context_menu.mm |
+++ b/chrome/browser/cocoa/extensions/extension_action_context_menu.mm |
@@ -18,6 +18,7 @@ |
#include "chrome/browser/extensions/extension_install_ui.h" |
#include "chrome/browser/extensions/extensions_service.h" |
#include "chrome/browser/extensions/extension_tabs_module.h" |
+#include "chrome/browser/prefs/pref_change_registrar.h" |
#include "chrome/browser/prefs/pref_service.h" |
#include "chrome/browser/profile.h" |
#include "chrome/common/extensions/extension.h" |
@@ -71,14 +72,10 @@ class DevmodeObserver : public NotificationObserver { |
DevmodeObserver(ExtensionActionContextMenu* menu, |
PrefService* service) |
: menu_(menu), pref_service_(service) { |
- pref_service_->AddPrefObserver(prefs::kExtensionsUIDeveloperMode, |
- this); |
- } |
- |
- ~DevmodeObserver() { |
- pref_service_->RemovePrefObserver(prefs::kExtensionsUIDeveloperMode, |
- this); |
+ registrar_.Init(pref_service_); |
+ registrar_.Add(prefs::kExtensionsUIDeveloperMode, this); |
} |
+ virtual ~DevmodeObserver() {} |
void Observe(NotificationType type, |
const NotificationSource& source, |
@@ -92,6 +89,7 @@ class DevmodeObserver : public NotificationObserver { |
private: |
ExtensionActionContextMenu* menu_; |
PrefService* pref_service_; |
+ PrefChangeRegistrar registrar_; |
}; |
} // namespace extension_action_context_menu |