Index: chrome/browser/chromeos/cros_settings.cc |
diff --git a/chrome/browser/chromeos/cros_settings.cc b/chrome/browser/chromeos/cros_settings.cc |
index d2bb5c96b87179e2905c609767af85258d6330e6..c4e88521d6a5c3ca49714b0bc06041295acb2faf 100644 |
--- a/chrome/browser/chromeos/cros_settings.cc |
+++ b/chrome/browser/chromeos/cros_settings.cc |
@@ -124,6 +124,14 @@ bool CrosSettings::FindEmailInList(const std::string& path, |
bool CrosSettings::AddSettingsProvider(CrosSettingsProvider* provider) { |
DCHECK(CalledOnValidThread()); |
providers_.push_back(provider); |
+ |
+ // Allow the provider to notify this object when settings have changed. |
+ // Providers instantiated inside this class will have the same callback |
+ // passed to their constructor, but doing it here allows for providers |
+ // to be instantiated outside this class. |
+ CrosSettingsProvider::NotifyObserversCallback notify_cb( |
+ base::Bind(&CrosSettings::FireObservers, base::Unretained(this))); |
+ provider->SetNotifyObserversCallback(notify_cb); |
return true; |
} |