Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(290)

Unified Diff: ui/message_center/message_popup_bubble.cc

Issue 12277024: Notificaitons refactor step 2 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: more feedback from Steven Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ui/message_center/message_center_tray_unittest.cc ('k') | ui/message_center/message_simple_view.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/message_center/message_popup_bubble.cc
diff --git a/ui/message_center/message_popup_bubble.cc b/ui/message_center/message_popup_bubble.cc
index 3b27a4a81287b36055a08ac0c6fd0f50dfdd39dd..88d1acbdc841dfef09c7abd52ff74deac230a6d7 100644
--- a/ui/message_center/message_popup_bubble.cc
+++ b/ui/message_center/message_popup_bubble.cc
@@ -8,8 +8,8 @@
#include "base/stl_util.h"
#include "ui/message_center/message_view.h"
#include "ui/message_center/notification.h"
+#include "ui/message_center/notification_types.h"
#include "ui/message_center/notification_view.h"
-#include "ui/notifications/notification_types.h"
#include "ui/views/bubble/tray_bubble_view.h"
#include "ui/views/layout/box_layout.h"
#include "ui/views/view.h"
@@ -28,7 +28,7 @@ class PopupBubbleContentsView : public views::View {
public:
explicit PopupBubbleContentsView(NotificationList::Delegate* list_delegate);
- void Update(const NotificationList::Notifications& popup_notifications);
+ void Update(const NotificationList::PopupNotifications& popup_notifications);
size_t NumMessageViews() const {
return content_->child_count();
@@ -59,15 +59,13 @@ PopupBubbleContentsView::PopupBubbleContentsView(
}
void PopupBubbleContentsView::Update(
- const NotificationList::Notifications& popup_notifications) {
+ const NotificationList::PopupNotifications& popup_notifications) {
content_->RemoveAllChildViews(true);
- for (NotificationList::Notifications::const_iterator iter =
+ for (NotificationList::PopupNotifications::const_iterator iter =
popup_notifications.begin();
iter != popup_notifications.end(); ++iter) {
- MessageView* view =
- NotificationView::ViewForNotification(*iter, list_delegate_);
- view->SetUpView();
- content_->AddChildView(view);
+ content_->AddChildView(
+ NotificationView::ViewForNotification(*(*iter), list_delegate_));
}
content_->SizeToPreferredSize();
content_->InvalidateLayout();
@@ -79,7 +77,7 @@ void PopupBubbleContentsView::Update(
// The timer to call OnAutoClose for |notification|.
class MessagePopupBubble::AutocloseTimer {
public:
- AutocloseTimer(const Notification& notification, MessagePopupBubble* bubble);
+ AutocloseTimer(Notification* notification, MessagePopupBubble* bubble);
void Start();
@@ -96,12 +94,12 @@ class MessagePopupBubble::AutocloseTimer {
};
MessagePopupBubble::AutocloseTimer::AutocloseTimer(
- const Notification& notification,
+ Notification* notification,
MessagePopupBubble* bubble)
- : id_(notification.id),
+ : id_(notification->id()),
bubble_(bubble) {
int seconds = kAutocloseDefaultDelaySeconds;
- if (notification.priority > ui::notifications::DEFAULT_PRIORITY)
+ if (notification->priority() > DEFAULT_PRIORITY)
seconds = kAutocloseHighPriorityDelaySeconds;
delay_ = base::TimeDelta::FromSeconds(seconds);
}
@@ -153,8 +151,8 @@ void MessagePopupBubble::OnBubbleViewDestroyed() {
}
void MessagePopupBubble::UpdateBubbleView() {
- NotificationList::Notifications popups;
- list_delegate()->GetNotificationList()->GetPopupNotifications(&popups);
+ NotificationList::PopupNotifications popups =
+ list_delegate()->GetNotificationList()->GetPopupNotifications();
if (popups.size() == 0) {
if (bubble_view())
@@ -170,17 +168,19 @@ void MessagePopupBubble::UpdateBubbleView() {
old_popup_ids.swap(popup_ids_);
// Start autoclose timers.
- for (NotificationList::Notifications::const_iterator iter = popups.begin();
+ for (NotificationList::PopupNotifications::const_iterator iter =
+ popups.begin();
iter != popups.end(); ++iter) {
+ std::string id = (*iter)->id();
std::map<std::string, AutocloseTimer*>::const_iterator timer_iter =
- autoclose_timers_.find(iter->id);
+ autoclose_timers_.find(id);
if (timer_iter == autoclose_timers_.end()) {
AutocloseTimer *timer = new AutocloseTimer(*iter, this);
- autoclose_timers_[iter->id] = timer;
+ autoclose_timers_[id] = timer;
timer->Start();
}
- popup_ids_.insert(iter->id);
- old_popup_ids.erase(iter->id);
+ popup_ids_.insert(id);
+ old_popup_ids.erase(id);
}
// Stops timers whose notifications are gone.
« no previous file with comments | « ui/message_center/message_center_tray_unittest.cc ('k') | ui/message_center/message_simple_view.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698