diff options
author | dewittj@chromium.org <dewittj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-09-24 06:59:36 +0000 |
---|---|---|
committer | dewittj@chromium.org <dewittj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-09-24 06:59:36 +0000 |
commit | ae37e7a768dec3692bef8214160bd9ee0e34a4e5 (patch) | |
tree | f5d8d27f83b69bb4f72b3025d9766c32a84cbc85 /ui/message_center/message_center_impl.h | |
parent | 02e59b133c90bd62b1133673d867bfc7f7325aee (diff) | |
download | chromium_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.h | 10 |
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); }; |