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

Unified Diff: chrome/browser/chromeos/login/version_info_updater.cc

Issue 23494053: Remove NOTIFICATION_SYSTEM_SETTING_CHANGED, switch CrosSettings to base::CallbackRegistry. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: trailing space Created 7 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/chromeos/login/version_info_updater.cc
diff --git a/chrome/browser/chromeos/login/version_info_updater.cc b/chrome/browser/chromeos/login/version_info_updater.cc
index 84ff2ce3dba8f6e4ef39829ce28d6d30e1644118..6b51e5f2a8d65ced569616a1ea19d7ce6d7e7cb5 100644
--- a/chrome/browser/chromeos/login/version_info_updater.cc
+++ b/chrome/browser/chromeos/login/version_info_updater.cc
@@ -13,7 +13,6 @@
#include "base/strings/stringprintf.h"
#include "base/strings/utf_string_conversions.h"
#include "chrome/browser/browser_process.h"
-#include "chrome/browser/chrome_notification_types.h"
#include "chrome/browser/chromeos/policy/device_cloud_policy_manager_chromeos.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chrome/browser/chromeos/settings/cros_settings_names.h"
@@ -53,9 +52,6 @@ VersionInfoUpdater::~VersionInfoUpdater() {
GetDeviceCloudPolicyManager();
if (policy_manager)
policy_manager->core()->store()->RemoveObserver(this);
-
- for (unsigned int i = 0; i < arraysize(kReportingFlags); ++i)
- cros_settings_->RemoveSettingsObserver(kReportingFlags[i], this);
}
void VersionInfoUpdater::StartUpdate(bool is_official_build) {
@@ -82,8 +78,14 @@ void VersionInfoUpdater::StartUpdate(bool is_official_build) {
}
// Watch for changes to the reporting flags.
- for (unsigned int i = 0; i < arraysize(kReportingFlags); ++i)
- cros_settings_->AddSettingsObserver(kReportingFlags[i], this);
+ base::Closure callback =
+ base::Bind(&VersionInfoUpdater::UpdateEnterpriseInfo,
+ base::Unretained(this));
+ for (unsigned int i = 0; i < arraysize(kReportingFlags); ++i) {
+ subscriptions_.push_back(
+ cros_settings_->AddSettingsObserver(kReportingFlags[i],
+ callback).release());
+ }
}
void VersionInfoUpdater::UpdateVersionLabel() {
@@ -134,14 +136,4 @@ void VersionInfoUpdater::OnStoreError(policy::CloudPolicyStore* store) {
UpdateEnterpriseInfo();
}
-void VersionInfoUpdater::Observe(
- int type,
- const content::NotificationSource& source,
- const content::NotificationDetails& details) {
- if (type == chrome::NOTIFICATION_SYSTEM_SETTING_CHANGED)
- UpdateEnterpriseInfo();
- else
- NOTREACHED();
-}
-
} // namespace chromeos
« no previous file with comments | « chrome/browser/chromeos/login/version_info_updater.h ('k') | chrome/browser/chromeos/login/wallpaper_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698