| Index: content/browser/notifications/notification_message_filter.h
|
| diff --git a/content/browser/notification_message_filter.h b/content/browser/notifications/notification_message_filter.h
|
| similarity index 54%
|
| rename from content/browser/notification_message_filter.h
|
| rename to content/browser/notifications/notification_message_filter.h
|
| index 92f7b47b38d9e7ea16b42b704aa9e53c250c7285..0b5159b18b785b4ffa5da9cd4e7f9e473c5962ca 100644
|
| --- a/content/browser/notification_message_filter.h
|
| +++ b/content/browser/notifications/notification_message_filter.h
|
| @@ -2,9 +2,12 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| -#ifndef CONTENT_BROWSER_NOTIFICATION_MESSAGE_FILTER_H_
|
| -#define CONTENT_BROWSER_NOTIFICATION_MESSAGE_FILTER_H_
|
| +#ifndef CONTENT_BROWSER_NOTIFICATIONS_NOTIFICATION_MESSAGE_FILTER_H_
|
| +#define CONTENT_BROWSER_NOTIFICATIONS_NOTIFICATION_MESSAGE_FILTER_H_
|
|
|
| +#include <map>
|
| +
|
| +#include "base/callback_forward.h"
|
| #include "content/public/browser/browser_message_filter.h"
|
| #include "third_party/WebKit/public/platform/WebNotificationPermission.h"
|
|
|
| @@ -12,6 +15,7 @@ class GURL;
|
|
|
| namespace content {
|
|
|
| +class BrowserContext;
|
| class ResourceContext;
|
| struct ShowDesktopNotificationHostMsgParams;
|
|
|
| @@ -19,7 +23,12 @@ class NotificationMessageFilter : public BrowserMessageFilter {
|
| public:
|
| NotificationMessageFilter(
|
| int process_id,
|
| - ResourceContext* resource_context);
|
| + ResourceContext* resource_context,
|
| + BrowserContext* browser_context);
|
| +
|
| + // To be called by the notification's delegate when it has closed, so that
|
| + // the close closure associated with that notification can be removed.
|
| + void DidCloseNotification(int notification_id);
|
|
|
| // BrowserMessageFilter implementation. Called on the UI thread.
|
| bool OnMessageReceived(const IPC::Message& message) override;
|
| @@ -31,15 +40,19 @@ class NotificationMessageFilter : public BrowserMessageFilter {
|
|
|
| private:
|
| void OnCheckNotificationPermission(
|
| - const GURL& origin, blink::WebNotificationPermission* permission);
|
| + const GURL& origin, blink::WebNotificationPermission* permission);
|
| void OnShowPlatformNotification(
|
| - int notification_id, const ShowDesktopNotificationHostMsgParams& params);
|
| + int notification_id, const ShowDesktopNotificationHostMsgParams& params);
|
| void OnClosePlatformNotification(int notification_id);
|
|
|
| int process_id_;
|
| ResourceContext* resource_context_;
|
| + BrowserContext* browser_context_;
|
| +
|
| + // Map mapping notification ids to their associated close closures.
|
| + std::map<int, base::Closure> close_closures_;
|
| };
|
|
|
| } // namespace content
|
|
|
| -#endif // CONTENT_BROWSER_NOTIFICATION_MESSAGE_FILTER_H_
|
| +#endif // CONTENT_BROWSER_NOTIFICATIONS_NOTIFICATION_MESSAGE_FILTER_H_
|
|
|