Index: chrome/browser/notifications/notification_platform_bridge_linux.h |
diff --git a/chrome/browser/notifications/notification_platform_bridge_linux.h b/chrome/browser/notifications/notification_platform_bridge_linux.h |
index 18b42142940bb75e6703a68e117a0fdcf7e35307..af0b9ee3629f1967a4fd32e24ccf7598a2391ca0 100644 |
--- a/chrome/browser/notifications/notification_platform_bridge_linux.h |
+++ b/chrome/browser/notifications/notification_platform_bridge_linux.h |
@@ -11,6 +11,7 @@ |
#include "base/macros.h" |
#include "chrome/browser/notifications/notification_platform_bridge.h" |
+#include "ui/base/glib/glib_signal.h" |
#include "ui/base/glib/scoped_gobject.h" |
class NotificationPlatformBridgeLinux : public NotificationPlatformBridge { |
@@ -40,6 +41,9 @@ class NotificationPlatformBridgeLinux : public NotificationPlatformBridge { |
ScopedGObject<GDBusProxy> notification_proxy_; |
+ // Used to disconnect from "g-signal" during destruction. |
+ gulong proxy_signal_handler_ = 0; |
+ |
// A std::set<std::unique_ptr<T>> doesn't work well because |
// eg. std::set::erase(T) would require a std::unique_ptr<T> |
// argument, so the data would get double-destructed. |
@@ -59,8 +63,25 @@ class NotificationPlatformBridgeLinux : public NotificationPlatformBridge { |
// Makes the "CloseNotification" call to D-Bus. |
void CloseNow(uint32_t dbus_id); |
+ void ForwardNotificationOperation(uint32_t dbus_id, |
+ NotificationCommon::Operation operation, |
+ int action_index); |
+ |
+ // GSignalReceiver: The function that GLib calls into for |
+ // ActionInvoked and NotificationClosed signals. |
+ CHROMEG_CALLBACK_3(NotificationPlatformBridgeLinux, |
+ void, |
+ GSignalReceiver, |
+ GDBusProxy*, |
+ const char*, |
+ const char*, |
+ GVariant*); |
+ |
NotificationData* FindNotificationData(const std::string& notification_id, |
- const std::string& profile_id); |
+ const std::string& profile_id, |
+ bool is_incognito); |
+ |
+ NotificationData* FindNotificationData(uint32_t dbus_id); |
DISALLOW_COPY_AND_ASSIGN(NotificationPlatformBridgeLinux); |
}; |