| Index: chrome/browser/notifications/platform_notification_service_impl.cc
|
| diff --git a/chrome/browser/notifications/platform_notification_service_impl.cc b/chrome/browser/notifications/platform_notification_service_impl.cc
|
| index 2bb49e3accf09a8d63279b1221ca4cb3ee6b5a12..360840444c8aef59257ed9cbd9b0bffc65b70a6c 100644
|
| --- a/chrome/browser/notifications/platform_notification_service_impl.cc
|
| +++ b/chrome/browser/notifications/platform_notification_service_impl.cc
|
| @@ -69,22 +69,24 @@ namespace {
|
| // permission without having an associated renderer process yet.
|
| const int kInvalidRenderProcessId = -1;
|
|
|
| -// Callback to provide when deleting the data associated with persistent Web
|
| -// Notifications from the notification database.
|
| -void OnPersistentNotificationDataDeleted(bool success) {
|
| - UMA_HISTOGRAM_BOOLEAN("Notifications.PersistentNotificationDataDeleted",
|
| - success);
|
| -}
|
| -
|
| // Persistent notifications fired through the delegate do not care about the
|
| // lifetime of the Service Worker responsible for executing the event.
|
| -void OnEventDispatchComplete(content::PersistentNotificationStatus status) {
|
| +void OnClickEventDispatchComplete(
|
| + content::PersistentNotificationStatus status) {
|
| UMA_HISTOGRAM_ENUMERATION(
|
| "Notifications.PersistentWebNotificationClickResult", status,
|
| content::PersistentNotificationStatus::
|
| PERSISTENT_NOTIFICATION_STATUS_MAX);
|
| }
|
|
|
| +void OnCloseEventDispatchComplete(
|
| + content::PersistentNotificationStatus status) {
|
| + UMA_HISTOGRAM_ENUMERATION(
|
| + "Notifications.PersistentWebNotificationCloseResult", status,
|
| + content::PersistentNotificationStatus::
|
| + PERSISTENT_NOTIFICATION_STATUS_MAX);
|
| +}
|
| +
|
| void CancelNotification(const std::string& id, ProfileID profile_id) {
|
| PlatformNotificationServiceImpl::GetInstance()
|
| ->GetNotificationUIManager()->CancelById(id, profile_id);
|
| @@ -205,11 +207,8 @@ void PlatformNotificationServiceImpl::OnPersistentNotificationClick(
|
|
|
| content::NotificationEventDispatcher::GetInstance()
|
| ->DispatchNotificationClickEvent(
|
| - browser_context,
|
| - persistent_notification_id,
|
| - origin,
|
| - action_index,
|
| - base::Bind(&OnEventDispatchComplete));
|
| + browser_context, persistent_notification_id, origin, action_index,
|
| + base::Bind(&OnClickEventDispatchComplete));
|
| }
|
|
|
| void PlatformNotificationServiceImpl::OnPersistentNotificationClose(
|
| @@ -225,19 +224,10 @@ void PlatformNotificationServiceImpl::OnPersistentNotificationClose(
|
| content::RecordAction(base::UserMetricsAction(
|
| "Notifications.Persistent.ClosedProgrammatically"));
|
| }
|
| -
|
| - PlatformNotificationContext* context =
|
| - BrowserContext::GetStoragePartitionForSite(browser_context, origin)
|
| - ->GetPlatformNotificationContext();
|
| -
|
| - BrowserThread::PostTask(
|
| - BrowserThread::IO,
|
| - FROM_HERE,
|
| - base::Bind(&PlatformNotificationContext::DeleteNotificationData,
|
| - context,
|
| - persistent_notification_id,
|
| - origin,
|
| - base::Bind(&OnPersistentNotificationDataDeleted)));
|
| + content::NotificationEventDispatcher::GetInstance()
|
| + ->DispatchNotificationCloseEvent(
|
| + browser_context, persistent_notification_id, origin, by_user,
|
| + base::Bind(&OnCloseEventDispatchComplete));
|
| }
|
|
|
| blink::WebNotificationPermission
|
|
|