Chromium Code Reviews| 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 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 75 //------------------------------------------------------------------------------ | 75 //------------------------------------------------------------------------------ |
| 76 // Client code interface. | 76 // Client code interface. |
| 77 | 77 |
| 78 void MessageCenterImpl::AddNotification( | 78 void MessageCenterImpl::AddNotification( |
| 79 NotificationType type, | 79 NotificationType type, |
| 80 const std::string& id, | 80 const std::string& id, |
| 81 const string16& title, | 81 const string16& title, |
| 82 const string16& message, | 82 const string16& message, |
| 83 const string16& display_source, | 83 const string16& display_source, |
| 84 const std::string& extension_id, | 84 const std::string& extension_id, |
| 85 const base::DictionaryValue* optional_fields) { | 85 const base::DictionaryValue* optional_fields, |
| 86 NotificationDelegate* delegate) { | |
| 86 // Sometimes the notification can be added with the same id and the | 87 // Sometimes the notification can be added with the same id and the |
| 87 // |notification_list| will replace the notification instead of adding new. | 88 // |notification_list| will replace the notification instead of adding new. |
| 88 // This is essentially an update rather than addition. | 89 // This is essentially an update rather than addition. |
| 89 bool already_exists = notification_list_->HasNotification(id); | 90 bool already_exists = notification_list_->HasNotification(id); |
| 90 notification_list_->AddNotification(type, id, title, message, display_source, | 91 notification_list_->AddNotification(type, |
| 91 extension_id, optional_fields); | 92 id, |
| 93 title, | |
| 94 message, | |
| 95 display_source, | |
| 96 extension_id, | |
| 97 optional_fields, | |
| 98 delegate); | |
| 92 if (already_exists) { | 99 if (already_exists) { |
| 93 FOR_EACH_OBSERVER(MessageCenterObserver, observer_list_, | 100 FOR_EACH_OBSERVER(MessageCenterObserver, observer_list_, |
| 94 OnNotificationUpdated(id)); | 101 OnNotificationUpdated(id)); |
| 95 } else { | 102 } else { |
| 96 FOR_EACH_OBSERVER(MessageCenterObserver, observer_list_, | 103 FOR_EACH_OBSERVER(MessageCenterObserver, observer_list_, |
| 97 OnNotificationAdded(id)); | 104 OnNotificationAdded(id)); |
| 98 } | 105 } |
| 99 } | 106 } |
| 100 | 107 |
| 101 void MessageCenterImpl::UpdateNotification( | 108 void MessageCenterImpl::UpdateNotification( |
| (...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 222 notification_list_->MarkNotificationAsExpanded(id); | 229 notification_list_->MarkNotificationAsExpanded(id); |
| 223 FOR_EACH_OBSERVER(MessageCenterObserver, observer_list_, | 230 FOR_EACH_OBSERVER(MessageCenterObserver, observer_list_, |
| 224 OnNotificationUpdated(id)); | 231 OnNotificationUpdated(id)); |
| 225 } | 232 } |
| 226 | 233 |
| 227 void MessageCenterImpl::ClickOnNotification(const std::string& id) { | 234 void MessageCenterImpl::ClickOnNotification(const std::string& id) { |
| 228 if (!HasNotification(id)) | 235 if (!HasNotification(id)) |
| 229 return; | 236 return; |
| 230 if (HasPopupNotifications()) | 237 if (HasPopupNotifications()) |
| 231 MarkSinglePopupAsShown(id, true); | 238 MarkSinglePopupAsShown(id, true); |
| 232 FOR_EACH_OBSERVER(MessageCenterObserver, observer_list_, | 239 NotificationDelegate* delegate = |
| 233 OnNotificationClicked(id)); | 240 notification_list_->GetNotificationDelegate(id); |
| 241 if (delegate) | |
| 242 delegate->Click(); | |
| 243 FOR_EACH_OBSERVER( | |
| 244 MessageCenterObserver, observer_list_, OnNotificationClicked(id)); | |
| 234 } | 245 } |
| 235 | 246 |
| 236 void MessageCenterImpl::ClickOnNotificationButton(const std::string& id, | 247 void MessageCenterImpl::ClickOnNotificationButton(const std::string& id, |
| 237 int button_index) { | 248 int button_index) { |
| 238 if (!HasNotification(id)) | 249 if (!HasNotification(id)) |
| 239 return; | 250 return; |
| 240 if (HasPopupNotifications()) | 251 if (HasPopupNotifications()) |
| 241 MarkSinglePopupAsShown(id, true); | 252 MarkSinglePopupAsShown(id, true); |
| 242 FOR_EACH_OBSERVER(MessageCenterObserver, observer_list_, | 253 NotificationDelegate* delegate = |
| 254 notification_list_->GetNotificationDelegate(id); | |
| 255 if (delegate) | |
| 256 delegate->ButtonClick(button_index); | |
| 257 FOR_EACH_OBSERVER(MessageCenterObserver, | |
|
Dmitry Titov
2013/05/24 01:11:57
you use different styles of wrapping long list of
| |
| 258 observer_list_, | |
| 243 OnNotificationButtonClicked(id, button_index)); | 259 OnNotificationButtonClicked(id, button_index)); |
| 244 } | 260 } |
| 245 | 261 |
| 246 void MessageCenterImpl::MarkSinglePopupAsShown(const std::string& id, | 262 void MessageCenterImpl::MarkSinglePopupAsShown(const std::string& id, |
| 247 bool mark_notification_as_read) { | 263 bool mark_notification_as_read) { |
| 248 if (!HasNotification(id)) | 264 if (!HasNotification(id)) |
| 249 return; | 265 return; |
| 250 notification_list_->MarkSinglePopupAsShown(id, mark_notification_as_read); | 266 notification_list_->MarkSinglePopupAsShown(id, mark_notification_as_read); |
| 251 FOR_EACH_OBSERVER(MessageCenterObserver, observer_list_, | 267 FOR_EACH_OBSERVER(MessageCenterObserver, observer_list_, |
| 252 OnNotificationUpdated(id)); | 268 OnNotificationUpdated(id)); |
| 253 } | 269 } |
| 254 | 270 |
| 255 void MessageCenterImpl::DisplayedNotification(const std::string& id) { | 271 void MessageCenterImpl::DisplayedNotification(const std::string& id) { |
| 256 if (!HasNotification(id)) | 272 if (!HasNotification(id)) |
| 257 return; | 273 return; |
| 258 | 274 |
| 259 if (HasPopupNotifications()) | 275 if (HasPopupNotifications()) |
| 260 notification_list_->MarkSinglePopupAsDisplayed(id); | 276 notification_list_->MarkSinglePopupAsDisplayed(id); |
| 261 FOR_EACH_OBSERVER(MessageCenterObserver, observer_list_, | 277 NotificationDelegate* delegate = |
| 262 OnNotificationDisplayed(id)); | 278 notification_list_->GetNotificationDelegate(id); |
| 279 if (delegate) | |
| 280 delegate->Display(); | |
| 281 FOR_EACH_OBSERVER( | |
| 282 MessageCenterObserver, observer_list_, OnNotificationDisplayed(id)); | |
| 263 } | 283 } |
| 264 | 284 |
| 265 void MessageCenterImpl::SetQuietMode(bool in_quiet_mode) { | 285 void MessageCenterImpl::SetQuietMode(bool in_quiet_mode) { |
| 266 notification_list_->SetQuietMode(in_quiet_mode); | 286 notification_list_->SetQuietMode(in_quiet_mode); |
| 267 } | 287 } |
| 268 | 288 |
| 269 void MessageCenterImpl::EnterQuietModeWithExpire( | 289 void MessageCenterImpl::EnterQuietModeWithExpire( |
| 270 const base::TimeDelta& expires_in) { | 290 const base::TimeDelta& expires_in) { |
| 271 notification_list_->EnterQuietModeWithExpire(expires_in); | 291 notification_list_->EnterQuietModeWithExpire(expires_in); |
| 272 } | 292 } |
| 273 | 293 |
| 274 } // namespace message_center | 294 } // namespace message_center |
| OLD | NEW |