| Index: chrome/browser/notifications/balloon_notification_ui_manager.cc
|
| diff --git a/chrome/browser/notifications/balloon_notification_ui_manager.cc b/chrome/browser/notifications/balloon_notification_ui_manager.cc
|
| index 63883975653ca8129af3b6d1dffd1e5d61d22141..7c942d86a5473264228ecd8433c6b3349bb69b2d 100644
|
| --- a/chrome/browser/notifications/balloon_notification_ui_manager.cc
|
| +++ b/chrome/browser/notifications/balloon_notification_ui_manager.cc
|
| @@ -13,6 +13,7 @@
|
| #include "chrome/browser/idle.h"
|
| #include "chrome/browser/notifications/balloon_collection.h"
|
| #include "chrome/browser/notifications/notification.h"
|
| +#include "chrome/browser/profiles/profile.h"
|
| #include "chrome/common/chrome_notification_types.h"
|
| #include "chrome/common/pref_names.h"
|
| #include "content/public/browser/notification_service.h"
|
| @@ -59,6 +60,26 @@ bool BalloonNotificationUIManager::CancelById(const std::string& id) {
|
| return balloon_collection_->RemoveById(id);
|
| }
|
|
|
| +std::set<std::string>
|
| +BalloonNotificationUIManager::GetAllIdsByProfileAndSourceOrigin(
|
| + Profile* profile,
|
| + const GURL& source) {
|
| + std::set<std::string> notification_ids =
|
| + NotificationUIManagerImpl::GetAllIdsByProfileAndSourceOrigin(profile,
|
| + source);
|
| +
|
| + const BalloonCollection::Balloons& balloons =
|
| + balloon_collection_->GetActiveBalloons();
|
| + for (BalloonCollection::Balloons::const_iterator iter = balloons.begin();
|
| + iter != balloons.end(); ++iter) {
|
| + if (profile->IsSameProfile((*iter)->profile()) &&
|
| + source == (*iter)->notification().origin_url()) {
|
| + notification_ids.insert((*iter)->notification().notification_id());
|
| + }
|
| + }
|
| + return notification_ids;
|
| +}
|
| +
|
| bool BalloonNotificationUIManager::CancelAllBySourceOrigin(const GURL& source) {
|
| // Same pattern as CancelById, but more complicated than the above
|
| // because there may be multiple notifications from the same source.
|
|
|