Index: chrome/browser/notifications/stub_notification_display_service.cc |
diff --git a/chrome/browser/notifications/stub_notification_display_service.cc b/chrome/browser/notifications/stub_notification_display_service.cc |
index 3a94e79456643c788fceb77fe0e080b92c10ff02..578c43a8b8edc4b0153e7e80186278b5ad1f405b 100644 |
--- a/chrome/browser/notifications/stub_notification_display_service.cc |
+++ b/chrome/browser/notifications/stub_notification_display_service.cc |
@@ -7,6 +7,7 @@ |
#include <algorithm> |
#include "base/memory/ptr_util.h" |
+#include "chrome/browser/notifications/notification_handler.h" |
#include "chrome/browser/profiles/profile.h" |
// static |
@@ -17,7 +18,7 @@ std::unique_ptr<KeyedService> StubNotificationDisplayService::FactoryForTests( |
} |
StubNotificationDisplayService::StubNotificationDisplayService(Profile* profile) |
- : NotificationDisplayService(profile) {} |
+ : NotificationDisplayService(profile), profile_(profile) {} |
StubNotificationDisplayService::~StubNotificationDisplayService() = default; |
@@ -35,20 +36,22 @@ void StubNotificationDisplayService::RemoveNotification( |
if (iter == notifications_.end()) |
return; |
- // TODO(peter): Invoke the handlers when that has been generalized. |
- iter->second.delegate()->Close(by_user); |
- |
+ NotificationHandler* handler = GetNotificationHandler(notification_type); |
+ DCHECK(handler); |
+ handler->OnClose(profile_, iter->second.origin_url().spec(), notification_id, |
+ by_user); |
notifications_.erase(iter); |
} |
void StubNotificationDisplayService::RemoveAllNotifications( |
NotificationCommon::Type notification_type, |
bool by_user) { |
+ NotificationHandler* handler = GetNotificationHandler(notification_type); |
+ DCHECK(handler); |
for (auto iter = notifications_.begin(); iter != notifications_.end();) { |
if (iter->first == notification_type) { |
- // TODO(peter): Invoke the handlers when that has been generalized. |
- iter->second.delegate()->Close(by_user); |
- |
+ handler->OnClose(profile_, iter->second.origin_url().spec(), |
+ iter->second.id(), by_user); |
iter = notifications_.erase(iter); |
} else { |
iter++; |