summaryrefslogtreecommitdiffstats
path: root/ui/message_center/message_center_impl.h
diff options
context:
space:
mode:
authordewittj@chromium.org <dewittj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-09-24 06:59:36 +0000
committerdewittj@chromium.org <dewittj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-09-24 06:59:36 +0000
commitae37e7a768dec3692bef8214160bd9ee0e34a4e5 (patch)
treef5d8d27f83b69bb4f72b3025d9766c32a84cbc85 /ui/message_center/message_center_impl.h
parent02e59b133c90bd62b1133673d867bfc7f7325aee (diff)
downloadchromium_src-ae37e7a768dec3692bef8214160bd9ee0e34a4e5.zip
chromium_src-ae37e7a768dec3692bef8214160bd9ee0e34a4e5.tar.gz
chromium_src-ae37e7a768dec3692bef8214160bd9ee0e34a4e5.tar.bz2
Queue notification center deletes while visible to the user.
This extends the notification center queueing system to support deletes. Formerly they would just pass through to the views, causing re-rendering artifacts. R=jianli@chromium.org TBR=oshima@chromium.org,stevenjb@chromium.org,benwells@chromium.org BUG=267066 Review URL: https://chromiumcodereview.appspot.com/24258004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@224931 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/message_center/message_center_impl.h')
-rw-r--r--ui/message_center/message_center_impl.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/ui/message_center/message_center_impl.h b/ui/message_center/message_center_impl.h
index b57f532..6d19b90 100644
--- a/ui/message_center/message_center_impl.h
+++ b/ui/message_center/message_center_impl.h
@@ -8,6 +8,7 @@
#include <string>
#include <vector>
+#include "base/memory/scoped_vector.h"
#include "base/memory/weak_ptr.h"
#include "base/stl_util.h"
#include "base/time/time.h"
@@ -22,7 +23,7 @@ class NotificationDelegate;
class MessageCenterImpl;
namespace internal {
-struct NotificationQueueItem;
+class ChangeQueue;
class PopupTimersController;
// A class that manages timeout behavior for notification popups. One instance
@@ -152,7 +153,8 @@ class MessageCenterImpl : public MessageCenter,
virtual bool HasNotification(const std::string& id) OVERRIDE;
virtual bool IsQuietMode() const OVERRIDE;
virtual bool HasClickedListener(const std::string& id) OVERRIDE;
- virtual const NotificationList::Notifications& GetNotifications() OVERRIDE;
+ virtual const NotificationList::Notifications& GetVisibleNotifications()
+ OVERRIDE;
virtual NotificationList::PopupNotifications GetPopupNotifications() OVERRIDE;
virtual void AddNotification(scoped_ptr<Notification> notification) OVERRIDE;
virtual void UpdateNotification(const std::string& old_id,
@@ -199,9 +201,9 @@ class MessageCenterImpl : public MessageCenter,
NotifierSettingsProvider* settings_provider_;
std::vector<NotificationBlocker*> blockers_;
- // queue for the notifications to delay the addition/updates when the message
+ // Queue for the notifications to delay the addition/updates when the message
// center is visible.
- std::list<internal::NotificationQueueItem> notification_queue_;
+ scoped_ptr<internal::ChangeQueue> notification_queue_;
DISALLOW_COPY_AND_ASSIGN(MessageCenterImpl);
};