| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "ui/message_center/message_center_impl.h" | 5 #include "ui/message_center/message_center_impl.h" |
| 6 | 6 |
| 7 #include "base/observer_list.h" | 7 #include "base/observer_list.h" |
| 8 #include "ui/message_center/message_center_observer.h" | 8 #include "ui/message_center/message_center_observer.h" |
| 9 #include "ui/message_center/notification.h" | 9 #include "ui/message_center/notification.h" |
| 10 #include "ui/message_center/notification_list.h" | 10 #include "ui/message_center/notification_list.h" |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 73 return notification_list_->GetNotifications(); | 73 return notification_list_->GetNotifications(); |
| 74 } | 74 } |
| 75 | 75 |
| 76 NotificationList::PopupNotifications | 76 NotificationList::PopupNotifications |
| 77 MessageCenterImpl::GetPopupNotifications() { | 77 MessageCenterImpl::GetPopupNotifications() { |
| 78 return notification_list_->GetPopupNotifications(); | 78 return notification_list_->GetPopupNotifications(); |
| 79 } | 79 } |
| 80 | 80 |
| 81 //------------------------------------------------------------------------------ | 81 //------------------------------------------------------------------------------ |
| 82 // Client code interface. | 82 // Client code interface. |
| 83 void MessageCenterImpl::AddNotification(scoped_ptr<Notification> notification) { |
| 84 DCHECK(notification.get()); |
| 83 | 85 |
| 84 void MessageCenterImpl::AddNotification( | |
| 85 NotificationType type, | |
| 86 const std::string& id, | |
| 87 const string16& title, | |
| 88 const string16& message, | |
| 89 const string16& display_source, | |
| 90 const std::string& extension_id, | |
| 91 const base::DictionaryValue* optional_fields, | |
| 92 NotificationDelegate* delegate) { | |
| 93 // Sometimes the notification can be added with the same id and the | 86 // Sometimes the notification can be added with the same id and the |
| 94 // |notification_list| will replace the notification instead of adding new. | 87 // |notification_list| will replace the notification instead of adding new. |
| 95 // This is essentially an update rather than addition. | 88 // This is essentially an update rather than addition. |
| 89 const std::string& id = notification->id(); |
| 96 bool already_exists = notification_list_->HasNotification(id); | 90 bool already_exists = notification_list_->HasNotification(id); |
| 97 notification_list_->AddNotification(type, | 91 notification_list_->AddNotification(notification.Pass()); |
| 98 id, | 92 |
| 99 title, | |
| 100 message, | |
| 101 display_source, | |
| 102 extension_id, | |
| 103 optional_fields, | |
| 104 delegate); | |
| 105 if (already_exists) { | 93 if (already_exists) { |
| 106 FOR_EACH_OBSERVER(MessageCenterObserver, observer_list_, | 94 FOR_EACH_OBSERVER( |
| 107 OnNotificationUpdated(id)); | 95 MessageCenterObserver, observer_list_, OnNotificationUpdated(id)); |
| 108 } else { | 96 } else { |
| 109 FOR_EACH_OBSERVER(MessageCenterObserver, observer_list_, | 97 FOR_EACH_OBSERVER( |
| 110 OnNotificationAdded(id)); | 98 MessageCenterObserver, observer_list_, OnNotificationAdded(id)); |
| 111 } | 99 } |
| 112 } | 100 } |
| 113 | 101 |
| 114 void MessageCenterImpl::UpdateNotification( | 102 void MessageCenterImpl::UpdateNotification( |
| 115 const std::string& old_id, | 103 const std::string& old_id, |
| 116 const std::string& new_id, | 104 scoped_ptr<Notification> new_notification) { |
| 117 const string16& title, | 105 std::string new_id = new_notification->id(); |
| 118 const string16& message, | 106 notification_list_->UpdateNotificationMessage(old_id, |
| 119 const base::DictionaryValue* optional_fields, | 107 new_notification.Pass()); |
| 120 NotificationDelegate* delegate) { | |
| 121 notification_list_->UpdateNotificationMessage( | |
| 122 old_id, new_id, title, message, optional_fields, delegate); | |
| 123 if (old_id == new_id) { | 108 if (old_id == new_id) { |
| 124 FOR_EACH_OBSERVER(MessageCenterObserver, observer_list_, | 109 FOR_EACH_OBSERVER(MessageCenterObserver, observer_list_, |
| 125 OnNotificationUpdated(new_id)); | 110 OnNotificationUpdated(new_id)); |
| 126 } else { | 111 } else { |
| 127 FOR_EACH_OBSERVER(MessageCenterObserver, observer_list_, | 112 FOR_EACH_OBSERVER(MessageCenterObserver, observer_list_, |
| 128 OnNotificationRemoved(old_id, false)); | 113 OnNotificationRemoved(old_id, false)); |
| 129 FOR_EACH_OBSERVER(MessageCenterObserver, observer_list_, | 114 FOR_EACH_OBSERVER(MessageCenterObserver, observer_list_, |
| 130 OnNotificationAdded(new_id)); | 115 OnNotificationAdded(new_id)); |
| 131 } | 116 } |
| 132 } | 117 } |
| (...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 292 void MessageCenterImpl::SetQuietMode(bool in_quiet_mode) { | 277 void MessageCenterImpl::SetQuietMode(bool in_quiet_mode) { |
| 293 notification_list_->SetQuietMode(in_quiet_mode); | 278 notification_list_->SetQuietMode(in_quiet_mode); |
| 294 } | 279 } |
| 295 | 280 |
| 296 void MessageCenterImpl::EnterQuietModeWithExpire( | 281 void MessageCenterImpl::EnterQuietModeWithExpire( |
| 297 const base::TimeDelta& expires_in) { | 282 const base::TimeDelta& expires_in) { |
| 298 notification_list_->EnterQuietModeWithExpire(expires_in); | 283 notification_list_->EnterQuietModeWithExpire(expires_in); |
| 299 } | 284 } |
| 300 | 285 |
| 301 } // namespace message_center | 286 } // namespace message_center |
| OLD | NEW |