void NotificationManager::notificationObjectDestroyed(Notification* notification) { String notificationID = m_notificationMap.take(notification); if (!notificationID) return; m_notificationIDMap.remove(notificationID); removeNotificationFromContextMap(notificationID, notification); m_webPagePrivate->client()->notificationDestroyed(notificationID); }
void NotificationManager::notificationClosed(const String& notificationID) { RefPtr<Notification> notification = m_notificationIDMap.take(notificationID); if (!notification) return; m_notificationMap.remove(notification); removeNotificationFromContextMap(notificationID, notification.get()); notification->dispatchCloseEvent(); }
void WebNotificationManager::didDestroyNotification(Notification* notification, WebPage* page) { #if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS) uint64_t notificationID = m_notificationMap.take(notification); if (!notificationID) return; m_notificationIDMap.remove(notificationID); removeNotificationFromContextMap(notificationID, notification); m_process->connection()->send(Messages::WebNotificationManagerProxy::DidDestroyNotification(notificationID), page->pageID()); #endif }
void WebNotificationManager::didCloseNotifications(const Vector<uint64_t>& notificationIDs) { #if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS) size_t count = notificationIDs.size(); for (size_t i = 0; i < count; ++i) { uint64_t notificationID = notificationIDs[i]; if (!isNotificationIDValid(notificationID)) continue; RefPtr<Notification> notification = m_notificationIDMap.take(notificationID); if (!notification) continue; m_notificationMap.remove(notification); removeNotificationFromContextMap(notificationID, notification.get()); notification->dispatchCloseEvent(); } #endif }