Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(298)

Side by Side Diff: content/browser/notifications/page_notification_delegate.cc

Issue 1904163002: Move Web Notifications to use Mojo Base URL: https://chromium.googlesource.com/chromium/src.git@skbitmap-blink
Patch Set: it works \o/ Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/browser/notifications/page_notification_delegate.h" 5 #include "content/browser/notifications/page_notification_delegate.h"
6 6
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"
11
12 namespace content { 7 namespace content {
13 8
14 PageNotificationDelegate::PageNotificationDelegate(int render_process_id, 9 PageNotificationDelegate::PageNotificationDelegate(
15 int notification_id) 10 blink::mojom::NotificationClientPtr notification_client)
16 : render_process_id_(render_process_id), 11 : notification_client_(std::move(notification_client)) {}
17 notification_id_(notification_id) {}
18 12
19 PageNotificationDelegate::~PageNotificationDelegate() {} 13 PageNotificationDelegate::~PageNotificationDelegate() {}
20 14
21 void PageNotificationDelegate::NotificationDisplayed() { 15 void PageNotificationDelegate::NotificationDisplayed() {}
22 RenderProcessHost* sender = RenderProcessHost::FromID(render_process_id_);
23 if (!sender)
24 return;
25
26 sender->Send(new PlatformNotificationMsg_DidShow(notification_id_));
27 }
28 16
29 void PageNotificationDelegate::NotificationClosed() { 17 void PageNotificationDelegate::NotificationClosed() {
30 RenderProcessHost* sender = RenderProcessHost::FromID(render_process_id_); 18 if (notification_client_.is_bound())
31 if (!sender) 19 notification_client_->OnClose(
32 return; 20 blink::mojom::NotificationCloseResult::CLOSED);
33
34 sender->Send(new PlatformNotificationMsg_DidClose(notification_id_));
35 static_cast<RenderProcessHostImpl*>(sender)
36 ->notification_message_filter()
37 ->DidCloseNotification(notification_id_);
38 } 21 }
39 22
40 void PageNotificationDelegate::NotificationClick() { 23 void PageNotificationDelegate::NotificationClick() {
41 RenderProcessHost* sender = RenderProcessHost::FromID(render_process_id_); 24 if (notification_client_.is_bound())
42 if (!sender) 25 notification_client_->OnClick();
43 return;
44
45 sender->Send(new PlatformNotificationMsg_DidClick(notification_id_));
46 } 26 }
47 27
48 } // namespace content 28 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698