Index: chrome/browser/notifications/notification_ui_manager_mac.h |
diff --git a/chrome/browser/notifications/notification_ui_manager_mac.h b/chrome/browser/notifications/notification_ui_manager_mac.h |
index 59a8a11e49023acabd91fe03facbae8ab4759c2c..16854262ce41440121fc337aa699c229e97250eb 100644 |
--- a/chrome/browser/notifications/notification_ui_manager_mac.h |
+++ b/chrome/browser/notifications/notification_ui_manager_mac.h |
@@ -10,45 +10,40 @@ |
#include "base/mac/scoped_nsobject.h" |
#include "base/macros.h" |
-#include "chrome/browser/notifications/notification_ui_manager.h" |
+#include "chrome/browser/notifications/notification_platform_bridge.h" |
class Notification; |
@class NotificationCenterDelegate; |
+@class NSUserNotificationCenter; |
class PrefService; |
-class Profile; |
-// This class is an implementation of NotificationUIManager that will |
-// send platform notifications to the Notification Center on 10.8 and above. |
-// 10.7 and below don't offer native notification support so chrome |
-// notifications are still used there. |
-class NotificationUIManagerMac : public NotificationUIManager { |
+// This class is an implementation of NotificationPlatfrormBridge that will |
+// send platform notifications to the the MacOSX notification center. |
+class NotificationUIManagerMac : public NotificationPlatformBridge { |
public: |
- NotificationUIManagerMac(); |
+ explicit NotificationUIManagerMac( |
+ NSUserNotificationCenter* notification_center); |
~NotificationUIManagerMac() override; |
- // NotificationUIManager implementation |
- void Add(const Notification& notification, Profile* profile) override; |
- bool Update(const Notification& notification, Profile* profile) override; |
- |
- // |delegate_id| need to reference a PersistentNotificationDelegate |
- const Notification* FindById(const std::string& delegate_id, |
- ProfileID profile_id) const override; |
- |
- // |delegate_id| need to reference a PersistentNotificationDelegate |
- bool CancelById(const std::string& delegate_id, |
- ProfileID profile_id) override; |
- std::set<std::string> GetAllIdsByProfileAndSourceOrigin( |
- ProfileID profile_id, |
- const GURL& source) override; |
- std::set<std::string> GetAllIdsByProfile(ProfileID profile_id) override; |
- bool CancelAllBySourceOrigin(const GURL& source_origin) override; |
- bool CancelAllByProfile(ProfileID profile_id) override; |
- void CancelAll() override; |
+ // NotificationPlatformBridge implementation. |
+ void Display(const std::string& notification_id, |
+ const std::string& profile_id, |
+ bool incognito, |
+ const Notification& notification) override; |
+ void Close(const std::string& profile_id, |
+ const std::string& notification_id) override; |
+ bool GetDisplayed(const std::string& profile_id, |
+ bool incognito, |
+ std::set<std::string>* notifications) const override; |
+ bool SupportsNotificationCenter() const override; |
private: |
// Cocoa class that receives callbacks from the NSUserNotificationCenter. |
base::scoped_nsobject<NotificationCenterDelegate> delegate_; |
+ // The notification center to use, this can be overriden in tests |
+ NSUserNotificationCenter* notification_center_; |
+ |
DISALLOW_COPY_AND_ASSIGN(NotificationUIManagerMac); |
}; |