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

Unified Diff: chrome/browser/ui/webui/extensions/extension_settings_handler.cc

Issue 10908119: Replace chrome::NOTIFICATION_EXTENSION_WARNING_CHANGED message with observer pattern Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 3 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: chrome/browser/ui/webui/extensions/extension_settings_handler.cc
diff --git a/chrome/browser/ui/webui/extensions/extension_settings_handler.cc b/chrome/browser/ui/webui/extensions/extension_settings_handler.cc
index 33ca78075ed79ce869356709179dc970837c3908..3bc35f8973fe725abeadc748e8a6aaa31c5bc731 100644
--- a/chrome/browser/ui/webui/extensions/extension_settings_handler.cc
+++ b/chrome/browser/ui/webui/extensions/extension_settings_handler.cc
@@ -21,7 +21,6 @@
#include "chrome/browser/extensions/extension_host.h"
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/extension_system.h"
-#include "chrome/browser/extensions/extension_warning_set.h"
#include "chrome/browser/extensions/lazy_background_task_queue.h"
#include "chrome/browser/extensions/unpacked_installer.h"
#include "chrome/browser/extensions/updater/extension_updater.h"
@@ -86,6 +85,13 @@ ExtensionSettingsHandler::~ExtensionSettingsHandler() {
load_extension_dialog_->ListenerDestroyed();
registrar_.RemoveAll();
+
+ if (registered_for_notifications_) {
+ Profile* profile = Profile::FromWebUI(web_ui());
+ extensions::ExtensionWarningService* warnings =
+ extensions::ExtensionSystem::Get(profile)->warning_service();
+ warnings->RemoveObserver(this);
+ }
}
ExtensionSettingsHandler::ExtensionSettingsHandler(ExtensionService* service,
@@ -410,7 +416,6 @@ void ExtensionSettingsHandler::Observe(
case chrome::NOTIFICATION_EXTENSION_LOADED:
case chrome::NOTIFICATION_EXTENSION_UNLOADED:
case chrome::NOTIFICATION_EXTENSION_UPDATE_DISABLED:
- case chrome::NOTIFICATION_EXTENSION_WARNING_CHANGED:
case chrome::NOTIFICATION_EXTENSION_BROWSER_ACTION_VISIBILITY_CHANGED:
case chrome::NOTIFICATION_PREF_CHANGED:
MaybeUpdateAfterNotification();
@@ -452,6 +457,10 @@ void ExtensionSettingsHandler::ExtensionUninstallCanceled() {
extension_id_prompting_ = "";
}
+void ExtensionSettingsHandler::ExtensionWarningsChanged() {
+ MaybeUpdateAfterNotification();
+}
+
void ExtensionSettingsHandler::ReloadUnpackedExtensions() {
const ExtensionSet* extensions = extension_service_->extensions();
std::vector<const Extension*> unpacked_extensions;
@@ -782,8 +791,6 @@ void ExtensionSettingsHandler::MaybeRegisterForNotifications() {
content::Source<Profile>(profile));
registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_UPDATE_DISABLED,
content::Source<Profile>(profile));
- registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_WARNING_CHANGED,
- content::Source<Profile>(profile));
registrar_.Add(this, chrome::NOTIFICATION_EXTENSION_HOST_CREATED,
content::NotificationService::AllBrowserContextsAndSources());
registrar_.Add(this,
@@ -804,6 +811,10 @@ void ExtensionSettingsHandler::MaybeRegisterForNotifications() {
content::Source<extensions::ExtensionPrefs>(
profile->GetExtensionService()->extension_prefs()));
+ extensions::ExtensionWarningService* warnings =
+ extensions::ExtensionSystem::Get(profile)->warning_service();
+ warnings->AddObserver(this);
+
pref_registrar_.Init(profile->GetPrefs());
pref_registrar_.Add(prefs::kExtensionInstallDenyList, this);
local_state_pref_registrar_.Init(g_browser_process->local_state());
« no previous file with comments | « chrome/browser/ui/webui/extensions/extension_settings_handler.h ('k') | chrome/common/chrome_notification_types.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698