Index: content/browser/frame_host/render_frame_host_impl.cc |
diff --git a/content/browser/frame_host/render_frame_host_impl.cc b/content/browser/frame_host/render_frame_host_impl.cc |
index e2bf47bc3e6b179002fb72ed4f1a3fdf6525290b..0ec7acc264ae2deb1da6fe35d015f88f1c0d15e5 100644 |
--- a/content/browser/frame_host/render_frame_host_impl.cc |
+++ b/content/browser/frame_host/render_frame_host_impl.cc |
@@ -994,14 +994,22 @@ void RenderFrameHostImpl::OnRunBeforeUnloadConfirm( |
void RenderFrameHostImpl::OnRequestPlatformNotificationPermission( |
const GURL& origin, int request_id) { |
- base::Callback<void(blink::WebNotificationPermission)> done_callback = |
- base::Bind( |
- &RenderFrameHostImpl::PlatformNotificationPermissionRequestDone, |
- weak_ptr_factory_.GetWeakPtr(), |
- request_id); |
+ base::Callback<void(bool)> done_callback = base::Bind( |
+ &RenderFrameHostImpl::PlatformNotificationPermissionRequestDone, |
+ weak_ptr_factory_.GetWeakPtr(), |
+ request_id); |
+ |
+ if (!delegate()->GetAsWebContents()) |
+ return; |
- GetContentClient()->browser()->RequestDesktopNotificationPermission( |
- origin, this, done_callback); |
+ // TODO(peter): plumb user_gesture and bridge_id. |
+ GetContentClient()->browser()->RequestPermission( |
+ content::PERMISSION_NOTIFICATIONS, |
+ delegate()->GetAsWebContents(), |
+ -1 /* bridge id */, |
Peter Beverloo
2014/10/24 14:37:28
If all consumers indeed use the routing Id, change
Miguel Garcia
2014/10/24 16:05:32
Done.
|
+ origin, |
+ true /* user_gesture */, |
Peter Beverloo
2014/10/24 14:37:28
Please use C++-style comments:
true, // user_ges
Miguel Garcia
2014/10/24 16:05:32
Done.
|
+ done_callback); |
} |
void RenderFrameHostImpl::OnShowDesktopNotification( |
@@ -1415,7 +1423,12 @@ void RenderFrameHostImpl::CommitNavigation( |
} |
void RenderFrameHostImpl::PlatformNotificationPermissionRequestDone( |
- int request_id, blink::WebNotificationPermission permission) { |
+ int request_id, |
+ bool granted) { |
+ blink::WebNotificationPermission permission = |
+ granted ? blink::WebNotificationPermissionAllowed |
+ : blink::WebNotificationPermissionDenied; |
+ |
Send(new PlatformNotificationMsg_PermissionRequestComplete( |
routing_id_, request_id, permission)); |
} |