Chromium Code Reviews| Index: chrome/browser/download/notification/download_notification_item.h |
| diff --git a/chrome/browser/download/notification/download_notification_item.h b/chrome/browser/download/notification/download_notification_item.h |
| index 6470e7a69ea8ed8def17030c7c866539d5f89f86..e39a8e5201161a4bf63fdf332efb2a9373b8e32f 100644 |
| --- a/chrome/browser/download/notification/download_notification_item.h |
| +++ b/chrome/browser/download/notification/download_notification_item.h |
| @@ -9,14 +9,13 @@ |
| #include "base/strings/string_number_conversions.h" |
| #include "chrome/browser/download/download_commands.h" |
| +#include "chrome/browser/notifications/notification.h" |
| +#include "chrome/browser/notifications/notification_delegate.h" |
| +#include "chrome/browser/notifications/notification_test_util.h" |
| #include "content/public/browser/download_item.h" |
| #include "grit/theme_resources.h" |
| #include "ui/message_center/message_center.h" |
| #include "ui/message_center/message_center_observer.h" |
| -#include "ui/message_center/notification.h" |
| -#include "ui/message_center/notification_delegate.h" |
| - |
| -using message_center::Notification; |
| namespace test { |
| class DownloadNotificationItemTest; |
| @@ -31,35 +30,46 @@ class DownloadNotificationItem : public content::DownloadItem::Observer { |
| virtual void OnDownloadRemoved(DownloadNotificationItem* item) = 0; |
| }; |
| - DownloadNotificationItem(content::DownloadItem* item, Delegate* delegate); |
| + static const char kDownloadNotificationOrigin[]; |
| + |
| + DownloadNotificationItem(content::DownloadItem* item, |
| + Profile* profile, |
| + Delegate* delegate); |
| ~DownloadNotificationItem() override; |
| private: |
| - class NotificationWatcher : public message_center::NotificationDelegate, |
| - public message_center::MessageCenterObserver { |
| + friend class test::DownloadNotificationItemTest; |
| + |
| + class NotificationWatcher : public NotificationDelegate { |
| public: |
| explicit NotificationWatcher(DownloadNotificationItem* item); |
| - private: |
| - ~NotificationWatcher() override; |
| - |
| - // message_center::NotificationDelegate overrides: |
| + // NotificationDelegate overrides: |
| void Close(bool by_user) override; |
| void Click() override; |
| bool HasClickedListener() override; |
| void ButtonClick(int button_index) override; |
| + std::string id() const override; |
| - // message_center::MessageCenterObserver overrides: |
| - void OnNotificationRemoved(const std::string& id, bool by_user) override; |
| + private: |
| + ~NotificationWatcher() override; |
| DownloadNotificationItem* item_; |
| }; |
| + // For testing. This is set by SetStubNotificationUIManagerForTesting method. |
| + static StubNotificationUIManager* stub_notification_ui_manager_for_testing_; |
|
Randy Smith (Not in Mondays)
2015/04/15 19:16:31
nit, suggestion: There's no real reason that this
|
| + |
| + // Replaces the NotificationUIManager for tests. |
| + static void SetStubNotificationUIManagerForTesting( |
| + StubNotificationUIManager* stub_notification_ui_manager) { |
| + stub_notification_ui_manager_for_testing_ = stub_notification_ui_manager; |
| + } |
| + |
| + // Methods called from NotificationWatcher. |
| void OnNotificationClick(); |
| void OnNotificationButtonClick(int button_index); |
| - void OnNotificationClose(bool by_user); |
| - void OnNotificationRemoved(bool by_user); |
| // DownloadItem::Observer overrides: |
| void OnDownloadUpdated(content::DownloadItem* item) override; |
| @@ -70,6 +80,8 @@ class DownloadNotificationItem : public content::DownloadItem::Observer { |
| void UpdateNotificationData(); |
| void SetNotificationImage(int resource_id); |
| + NotificationUIManager* notification_ui_manager() const; |
| + |
| // Returns a short one-line status string for the download. |
| base::string16 GetTitle() const; |
| @@ -84,11 +96,10 @@ class DownloadNotificationItem : public content::DownloadItem::Observer { |
| bool openable_; |
| bool downloading_; |
| - bool reshow_after_remove_; |
| int image_resource_id_; |
| + Profile* profile_; |
| scoped_refptr<NotificationWatcher> watcher_; |
| - message_center::MessageCenter* message_center_; |
| scoped_ptr<Notification> notification_; |
| content::DownloadItem* item_; |
| @@ -96,8 +107,6 @@ class DownloadNotificationItem : public content::DownloadItem::Observer { |
| Delegate* const delegate_; |
| - friend class test::DownloadNotificationItemTest; |
| - |
| DISALLOW_COPY_AND_ASSIGN(DownloadNotificationItem); |
| }; |