| Index: chrome/browser/notifications/notification_ui_manager_android.cc
|
| diff --git a/chrome/browser/notifications/notification_ui_manager_android.cc b/chrome/browser/notifications/notification_ui_manager_android.cc
|
| index 9332bb0c43f413152806a0f91e4bc531d4e5b8b5..1d8f4822e78e3240f9cd14f45621e4c2f1851f9d 100644
|
| --- a/chrome/browser/notifications/notification_ui_manager_android.cc
|
| +++ b/chrome/browser/notifications/notification_ui_manager_android.cc
|
| @@ -80,8 +80,20 @@ bool NotificationUIManagerAndroid::OnNotificationClosed(
|
| jlong persistent_notification_id,
|
| jstring java_origin,
|
| jstring java_tag) {
|
| - // TODO(peter): Implement handling when a notification has been closed. The
|
| - // notification database has to reflect this in its own state.
|
| + GURL origin(ConvertJavaStringToUTF8(env, java_origin));
|
| + std::string tag = ConvertJavaStringToUTF8(env, java_tag);
|
| +
|
| + // The notification was closed by the platform, so clear all local state.
|
| + regenerated_notification_infos_.erase(persistent_notification_id);
|
| +
|
| + // TODO(peter): Rather than assuming that the last used profile is the
|
| + // appropriate one for this notification, the used profile should be
|
| + // stored as part of the notification's data. See https://crbug.com/437574.
|
| + PlatformNotificationServiceImpl::GetInstance()->OnPersistentNotificationClose(
|
| + ProfileManager::GetLastUsedProfile(),
|
| + persistent_notification_id,
|
| + origin);
|
| +
|
| return true;
|
| }
|
|
|
|
|