Chromium Code Reviews| Index: chrome/browser/notifications/notification_ui_manager_impl.cc |
| diff --git a/chrome/browser/notifications/notification_ui_manager_impl.cc b/chrome/browser/notifications/notification_ui_manager_impl.cc |
| index 5c19f040d9c53f8a47f5beba8f26c8ab37543c62..f62d472b3dae980448b6f532f91f1a63c980221e 100644 |
| --- a/chrome/browser/notifications/notification_ui_manager_impl.cc |
| +++ b/chrome/browser/notifications/notification_ui_manager_impl.cc |
| @@ -96,8 +96,8 @@ void NotificationUIManagerImpl::Add(const Notification& notification, |
| bool NotificationUIManagerImpl::CancelById(const std::string& id) { |
| // See if this ID hasn't been shown yet. |
| - NotificationDeque::iterator iter; |
| - for (iter = show_queue_.begin(); iter != show_queue_.end(); ++iter) { |
| + for (NotificationDeque::iterator iter = show_queue_.begin(); |
| + iter != show_queue_.end(); ++iter) { |
| if ((*iter)->notification().notification_id() == id) { |
| show_queue_.erase(iter); |
| return true; |
| @@ -111,19 +111,31 @@ bool NotificationUIManagerImpl::CancelAllBySourceOrigin(const GURL& source) { |
| // Same pattern as CancelById, but more complicated than the above |
| // because there may be multiple notifications from the same source. |
| bool removed = false; |
| - NotificationDeque::iterator iter; |
| - for (iter = show_queue_.begin(); iter != show_queue_.end();) { |
| - if ((*iter)->notification().origin_url() == source) { |
| - iter = show_queue_.erase(iter); |
| + for (NotificationDeque::iterator loopiter = show_queue_.begin(); |
| + loopiter != show_queue_.end(); ) { |
| + NotificationDeque::iterator curiter = loopiter++; |
| + if ((*curiter)->notification().origin_url() == source) { |
| + show_queue_.erase(curiter); |
| removed = true; |
| - } else { |
| - ++iter; |
| } |
| } |
| - |
| return balloon_collection_->RemoveBySourceOrigin(source) || removed; |
| } |
| +bool NotificationUIManagerImpl::CancelAllByProfile(Profile* profile) { |
| + // Same pattern as CancelAllBySourceOrigin. |
| + bool removed = false; |
| + for (NotificationDeque::iterator loopiter = show_queue_.begin(); |
| + loopiter != show_queue_.end(); ) { |
| + NotificationDeque::iterator curiter = loopiter++; |
| + if ((*curiter)->profile() == profile) { |
| + show_queue_.erase(curiter); |
| + removed = true; |
| + } |
| + } |
| + return balloon_collection_->RemoveByProfile(profile) || removed; |
| +} |
| + |
| void NotificationUIManagerImpl::CancelAll() { |
| STLDeleteElements(&show_queue_); |
| balloon_collection_->RemoveAll(); |
| @@ -185,8 +197,8 @@ bool NotificationUIManagerImpl::TryReplacement( |
| // First check the queue of pending notifications for replacement. |
| // Then check the list of notifications already being shown. |
| - NotificationDeque::iterator iter; |
| - for (iter = show_queue_.begin(); iter != show_queue_.end(); ++iter) { |
| + for (NotificationDeque::const_iterator iter = show_queue_.begin(); |
| + iter != show_queue_.end(); ++iter) { |
| if (origin == (*iter)->notification().origin_url() && |
| replace_id == (*iter)->notification().replace_id()) { |
| (*iter)->Replace(notification); |
| @@ -194,15 +206,13 @@ bool NotificationUIManagerImpl::TryReplacement( |
| } |
| } |
| - BalloonCollection::Balloons::iterator balloon_iter; |
| - BalloonCollection::Balloons balloons = |
| + const BalloonCollection::Balloons& balloons = |
|
stevenjb
2012/11/29 02:52:25
Note: now a reference
|
| balloon_collection_->GetActiveBalloons(); |
| - for (balloon_iter = balloons.begin(); |
| - balloon_iter != balloons.end(); |
| - ++balloon_iter) { |
| - if (origin == (*balloon_iter)->notification().origin_url() && |
| - replace_id == (*balloon_iter)->notification().replace_id()) { |
| - (*balloon_iter)->Update(notification); |
| + for (BalloonCollection::Balloons::const_iterator iter = balloons.begin(); |
|
stevenjb
2012/11/29 02:52:25
Note: now a const_iterator. This worked before onl
|
| + iter != balloons.end(); ++iter) { |
| + if (origin == (*iter)->notification().origin_url() && |
| + replace_id == (*iter)->notification().replace_id()) { |
| + (*iter)->Update(notification); |
| return true; |
| } |
| } |
| @@ -227,10 +237,9 @@ void NotificationUIManagerImpl::SetPositionPreference( |
| void NotificationUIManagerImpl::GetQueuedNotificationsForTesting( |
| std::vector<const Notification*>* notifications) { |
| - NotificationDeque::const_iterator queued_iter; |
| - for (queued_iter = show_queue_.begin(); queued_iter != show_queue_.end(); |
| - ++queued_iter) { |
| - notifications->push_back(&(*queued_iter)->notification()); |
| + for (NotificationDeque::const_iterator iter = show_queue_.begin(); |
| + iter != show_queue_.end(); ++iter) { |
| + notifications->push_back(&(*iter)->notification()); |
| } |
| } |