| Index: chrome/browser/notifications/message_center_notification_manager.h
|
| diff --git a/chrome/browser/notifications/message_center_notification_manager.h b/chrome/browser/notifications/message_center_notification_manager.h
|
| index 0d081898b526af62ece11548cf2ddb15cac7ad48..97ec91fb3346485bedf7b14fe53cf3bf5c7f2e45 100644
|
| --- a/chrome/browser/notifications/message_center_notification_manager.h
|
| +++ b/chrome/browser/notifications/message_center_notification_manager.h
|
| @@ -68,21 +68,20 @@ class MessageCenterNotificationManager
|
| class ImageDownloads
|
| : public base::SupportsWeakPtr<ImageDownloads> {
|
| public:
|
| - ImageDownloads(
|
| - message_center::MessageCenter* message_center,
|
| - ImageDownloadsObserver* observer);
|
| + ImageDownloads(message_center::Notification* notification,
|
| + ImageDownloadsObserver* observer);
|
| virtual ~ImageDownloads();
|
|
|
| void StartDownloads(const Notification& notification);
|
| - void StartDownloadWithImage(const Notification& notification,
|
| - const gfx::Image* image,
|
| - const GURL& url,
|
| - int size,
|
| - const SetImageCallback& callback);
|
| - void StartDownloadByKey(const Notification& notification,
|
| + void StartDownloadByKey(content::RenderViewHost* host,
|
| + const base::DictionaryValue* optional_fields,
|
| const char* key,
|
| int size,
|
| const SetImageCallback& callback);
|
| + void StartDownloadByURL(content::RenderViewHost* host,
|
| + const GURL& url,
|
| + int size,
|
| + const SetImageCallback& callback);
|
|
|
| // FaviconHelper callback.
|
| void DownloadComplete(const SetImageCallback& callback,
|
| @@ -91,6 +90,11 @@ class MessageCenterNotificationManager
|
| const GURL& image_url,
|
| int requested_size,
|
| const std::vector<SkBitmap>& bitmaps);
|
| +
|
| + void SetIcon(const gfx::Image& icon);
|
| + void SetImage(const gfx::Image& image);
|
| + void SetButtonIcon(size_t button_number, const gfx::Image& image);
|
| +
|
| private:
|
| // Used to keep track of the number of pending downloads. Once this
|
| // reaches zero, we can tell the delegate that we don't need the
|
| @@ -98,8 +102,9 @@ class MessageCenterNotificationManager
|
| void AddPendingDownload();
|
| void PendingDownloadCompleted();
|
|
|
| - // Weak reference to global message center.
|
| - message_center::MessageCenter* message_center_;
|
| + // Weak, lifetime is that of the ProfileNotification.
|
| + // Notification model that is being filled out with image data.
|
| + message_center::Notification* message_center_notification_;
|
|
|
| // Count of downloads that remain.
|
| size_t pending_downloads_;
|
| @@ -124,9 +129,15 @@ class MessageCenterNotificationManager
|
| // into a single class.
|
| class ProfileNotification : public ImageDownloadsObserver {
|
| public:
|
| + // Use for new notifications.
|
| ProfileNotification(Profile* profile,
|
| const Notification& notification,
|
| message_center::MessageCenter* message_center);
|
| + // Use to update notifications.
|
| + ProfileNotification(Profile* profile,
|
| + const Notification& notification,
|
| + message_center::MessageCenter* message_center,
|
| + const std::string& updated_id);
|
| virtual ~ProfileNotification();
|
|
|
| void StartDownloads();
|
| @@ -142,9 +153,20 @@ class MessageCenterNotificationManager
|
| std::string GetExtensionId();
|
|
|
| private:
|
| + // Initializes message center notification and starts downloads.
|
| + void Init();
|
| // Weak, guaranteed not to be used after profile removal by parent class.
|
| Profile* profile_;
|
| Notification notification_;
|
| + // Weak, global lifetime.
|
| + message_center::MessageCenter* message_center_;
|
| + // Temporary data structure that holds the bits that have been downloaded
|
| + // until they can be passed to the message center.
|
| + scoped_ptr<message_center::Notification> message_center_notification_;
|
| + // Whether to update message center or to add to it.
|
| + bool update_;
|
| + // Which id to update.
|
| + std::string updated_id_;
|
| // Track the downloads for this notification so the notification can be
|
| // updated properly.
|
| scoped_ptr<ImageDownloads> downloads_;
|
|
|