revert: reply notifs sometimes destroyed too early (#26084)

This reverts commit 75b9ab7050.
This commit is contained in:
Samuel Attard
2020-10-21 15:58:24 -07:00
committed by GitHub
parent 195f88c013
commit 1d383c0613
4 changed files with 5 additions and 10 deletions

View File

@@ -42,10 +42,7 @@
// https://developer.apple.com/documentation/foundation/nsusernotificationactivationtype?language=objc
if (notif.activationType ==
NSUserNotificationActivationTypeContentsClicked) {
// If a notification with a reply button is clicked and the user has not
// yet replied, we do not want to destroy the notification.
bool should_destroy = ![notif hasReplyButton];
notification->NotificationClicked(should_destroy);
notification->NotificationClicked();
} else if (notif.activationType ==
NSUserNotificationActivationTypeActionButtonClicked) {
notification->NotificationActivated();

View File

@@ -21,12 +21,10 @@ Notification::~Notification() {
delegate()->NotificationDestroyed();
}
void Notification::NotificationClicked(bool should_destroy) {
void Notification::NotificationClicked() {
if (delegate())
delegate()->NotificationClick();
if (should_destroy)
Destroy();
Destroy();
}
void Notification::NotificationDismissed() {

View File

@@ -54,7 +54,7 @@ class Notification {
virtual void Dismiss() = 0;
// Should be called by derived classes.
void NotificationClicked(bool should_destroy = true);
void NotificationClicked();
void NotificationDismissed();
void NotificationFailed();

View File

@@ -476,7 +476,7 @@ IFACEMETHODIMP ToastEventHandler::Invoke(
IInspectable* args) {
base::PostTask(
FROM_HERE, {content::BrowserThread::UI},
base::BindOnce(&Notification::NotificationClicked, notification_, true));
base::BindOnce(&Notification::NotificationClicked, notification_));
if (IsDebuggingNotifications())
LOG(INFO) << "Notification clicked";