1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "content/browser/notifications/page_notification_delegate.h"
7 #include "content/browser/notifications/notification_message_filter.h"
8 #include "content/browser/renderer_host/render_process_host_impl.h"
9 #include "content/common/platform_notification_messages.h"
10 #include "content/public/browser/render_process_host.h"
14 PageNotificationDelegate::PageNotificationDelegate(int render_process_id
,
16 : render_process_id_(render_process_id
),
17 notification_id_(notification_id
) {}
19 PageNotificationDelegate::~PageNotificationDelegate() {}
21 void PageNotificationDelegate::NotificationDisplayed() {
22 RenderProcessHost
* sender
= RenderProcessHost::FromID(render_process_id_
);
26 sender
->Send(new PlatformNotificationMsg_DidShow(notification_id_
));
29 void PageNotificationDelegate::NotificationClosed() {
30 RenderProcessHost
* sender
= RenderProcessHost::FromID(render_process_id_
);
34 sender
->Send(new PlatformNotificationMsg_DidClose(notification_id_
));
35 static_cast<RenderProcessHostImpl
*>(sender
)
36 ->notification_message_filter()->DidCloseNotification(notification_id_
);
39 void PageNotificationDelegate::NotificationClick() {
40 RenderProcessHost
* sender
= RenderProcessHost::FromID(render_process_id_
);
44 sender
->Send(new PlatformNotificationMsg_DidClick(notification_id_
));
47 } // namespace content