Index: chrome/browser/notifications/notification_ui_manager_impl.cc |
diff --git a/chrome/browser/notifications/notification_ui_manager_impl.cc b/chrome/browser/notifications/notification_ui_manager_impl.cc |
index f02b0f5d894da6e8279157224057bf4a6f600972..bf096c3d0190d63c9cb535dca0adaf52af5c9d52 100644 |
--- a/chrome/browser/notifications/notification_ui_manager_impl.cc |
+++ b/chrome/browser/notifications/notification_ui_manager_impl.cc |
@@ -233,13 +233,17 @@ void NotificationUIManagerImpl::Observe( |
const content::NotificationDetails& details) { |
if (type == chrome::NOTIFICATION_APP_TERMINATING) { |
CancelAll(); |
- } else if (type == chrome::NOTIFICATION_PREF_CHANGED) { |
- std::string* name = content::Details<std::string>(details).ptr(); |
- if (*name == prefs::kDesktopNotificationPosition) |
- balloon_collection_->SetPositionPreference( |
- static_cast<BalloonCollection::PositionPreference>( |
- position_pref_.GetValue())); |
} else { |
NOTREACHED(); |
} |
} |
+ |
+void NotificationUIManagerImpl::OnPreferenceChanged( |
+ PrefServiceBase* service, |
+ const std::string& pref_name) { |
+ if (pref_name == prefs::kDesktopNotificationPosition) { |
+ balloon_collection_->SetPositionPreference( |
+ static_cast<BalloonCollection::PositionPreference>( |
+ position_pref_.GetValue())); |
+ } |
+} |