| Index: content/renderer/notification_provider.h
|
| diff --git a/content/renderer/notification_provider.h b/content/renderer/notification_provider.h
|
| index ab49b073cfbf5ab4a6bb57d19d31bf0942fd7065..6ff0b75e736e24ad9568dedb650a74b7b3fb8f32 100644
|
| --- a/content/renderer/notification_provider.h
|
| +++ b/content/renderer/notification_provider.h
|
| @@ -5,11 +5,14 @@
|
| #ifndef CONTENT_RENDERER_NOTIFICATION_PROVIDER_H_
|
| #define CONTENT_RENDERER_NOTIFICATION_PROVIDER_H_
|
|
|
| +#include "base/memory/scoped_vector.h"
|
| #include "content/public/renderer/render_frame_observer.h"
|
| #include "content/renderer/active_notification_tracker.h"
|
| #include "third_party/WebKit/public/web/WebNotification.h"
|
| #include "third_party/WebKit/public/web/WebNotificationPresenter.h"
|
|
|
| +class SkBitmap;
|
| +
|
| namespace content {
|
|
|
| // NotificationProvider class is owned by the RenderFrame. Only to be used on
|
| @@ -24,13 +27,20 @@ class NotificationProvider : public RenderFrameObserver,
|
| // RenderFrameObserver implementation.
|
| virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE;
|
|
|
| - // blink::WebNotificationPresenter interface.
|
| + // blink::WebNotificationPresenter implementation.
|
| virtual bool show(const blink::WebNotification& proxy);
|
| virtual void cancel(const blink::WebNotification& proxy);
|
| virtual void objectDestroyed(const blink::WebNotification& proxy);
|
| virtual blink::WebNotificationPresenter::Permission checkPermission(
|
| const blink::WebSecurityOrigin& origin);
|
|
|
| + // Sends an IPC to the browser process to display |notification|
|
| + // accompanied by the downloaded icon.
|
| + void DisplayNotification(const blink::WebNotification& notification,
|
| + const SkBitmap& icon);
|
| +
|
| + void CancelIconDownload(const blink::WebNotification& notification);
|
| +
|
| // IPC handlers.
|
| void OnDisplay(int id);
|
| void OnError(int id);
|
| @@ -38,6 +48,12 @@ class NotificationProvider : public RenderFrameObserver,
|
| void OnClick(int id);
|
| void OnNavigate();
|
|
|
| + class IconDownloader;
|
| +
|
| + // A vector tracking notifications which' icon is still being downloaded.
|
| + typedef ScopedVector<IconDownloader> PendingNotifications;
|
| + PendingNotifications pending_notifications_;
|
| +
|
| // A tracker object which manages the active notifications and the IDs
|
| // that are used to refer to them over IPC.
|
| ActiveNotificationTracker manager_;
|
|
|