Index: chrome/browser/notifications/message_center_notification_manager.cc |
diff --git a/chrome/browser/notifications/message_center_notification_manager.cc b/chrome/browser/notifications/message_center_notification_manager.cc |
index 86b741f8f09f2a928546b27bc333161aaaa87dad..57b650431e08c870a39cf73f5e89e2694f3d1c5c 100644 |
--- a/chrome/browser/notifications/message_center_notification_manager.cc |
+++ b/chrome/browser/notifications/message_center_notification_manager.cc |
@@ -27,6 +27,7 @@ |
#include "ui/gfx/image/image_skia.h" |
#include "ui/message_center/message_center_style.h" |
#include "ui/message_center/message_center_tray.h" |
+#include "ui/message_center/message_center_types.h" |
#include "ui/message_center/notifier_settings.h" |
namespace { |
@@ -50,7 +51,6 @@ MessageCenterNotificationManager::MessageCenterNotificationManager( |
first_run_pref_.Init(prefs::kMessageCenterShowedFirstRunBalloon, local_state); |
#endif |
- message_center_->SetDelegate(this); |
message_center_->AddObserver(this); |
message_center_->SetNotifierSettingsProvider(settings_provider_.get()); |
@@ -230,31 +230,6 @@ bool MessageCenterNotificationManager::UpdateNotification( |
} |
//////////////////////////////////////////////////////////////////////////////// |
-// MessageCenter::Delegate |
- |
-void MessageCenterNotificationManager::ShowSettings( |
- const std::string& notification_id) { |
- // The per-message-center Settings button passes an empty string. |
- if (notification_id.empty()) { |
- NOTIMPLEMENTED(); |
- return; |
- } |
- |
- ProfileNotification* profile_notification = |
- FindProfileNotification(notification_id); |
- if (!profile_notification) |
- return; |
- |
- Browser* browser = |
- chrome::FindOrCreateTabbedBrowser(profile_notification->profile(), |
- chrome::HOST_DESKTOP_TYPE_NATIVE); |
- if (profile_notification->GetExtensionId().empty()) |
- chrome::ShowContentSettings(browser, CONTENT_SETTINGS_TYPE_NOTIFICATIONS); |
- else |
- chrome::ShowExtensions(browser, std::string()); |
-} |
- |
-//////////////////////////////////////////////////////////////////////////////// |
// MessageCenter::Observer |
void MessageCenterNotificationManager::OnNotificationRemoved( |
const std::string& notification_id, |
@@ -272,13 +247,26 @@ void MessageCenterNotificationManager::OnNotificationRemoved( |
#endif |
} |
-void MessageCenterNotificationManager::OnNotificationCenterClosed() { |
- // When the center is open it halts all notifications, so we need to listen |
- // for events indicating it's been closed. |
- CheckAndShowNotifications(); |
+void MessageCenterNotificationManager::OnCenterVisibilityChanged( |
+ message_center::Visibility visibility) { |
+ switch (visibility) { |
+ case message_center::VISIBILITY_TRANSIENT: |
+ // When the center is open it halts all notifications, so we need to |
+ // listen for events indicating it's been closed. |
+ CheckAndShowNotifications(); |
#if defined(OS_WIN) |
- CheckFirstRunTimer(); |
+ CheckFirstRunTimer(); |
#endif |
+ break; |
+ case message_center::VISIBILITY_MESSAGE_CENTER: |
+ content::RecordAction( |
+ content::UserMetricsAction("Notifications.ShowMessageCenter")); |
+ break; |
+ case message_center::VISIBILITY_SETTINGS: |
+ content::RecordAction( |
+ content::UserMetricsAction("Notifications.ShowSettings")); |
+ break; |
+ } |
} |
void MessageCenterNotificationManager::OnNotificationUpdated( |