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 af2f25ea772cb1cd3164bd62df31f95f629ca097..519169de34d48d0db653e169fd6e9f40d72bc422 100644 |
--- a/content/browser/frame_host/render_frame_host_impl.cc |
+++ b/content/browser/frame_host/render_frame_host_impl.cc |
@@ -992,14 +992,22 @@ void RenderFrameHostImpl::OnRunBeforeUnloadConfirm( |
void RenderFrameHostImpl::OnRequestPlatformNotificationPermission( |
const GURL& origin, int request_id) { |
- base::Callback<void(blink::WebNotificationPermission)> done_callback = |
+ base::Callback<void(bool)> done_callback = |
base::Bind( |
&RenderFrameHostImpl::PlatformNotificationPermissionRequestDone, |
weak_ptr_factory_.GetWeakPtr(), |
request_id); |
- GetContentClient()->browser()->RequestDesktopNotificationPermission( |
- origin, this, done_callback); |
+ if (!delegate()->GetAsWebContents()) |
+ return; |
+ |
+ // TODO(peter) plumb user_gesture and bridge_id. |
Bernhard Bauer
2014/10/20 14:57:24
Nit: Standard syntax for TODOs has a colon after t
Peter Beverloo
2014/10/20 17:32:16
What is a |bridge_id|? The renderer part of notifi
Miguel Garcia
2014/10/21 17:17:12
I asked Takashi about it a while ago as well. Quot
|
+ GetContentClient()->browser()->RequestPermission( |
+ content::PERMISSION_NOTIFICATIONS, |
+ delegate()->GetAsWebContents(), |
+ -1 /* bridge id */, |
+ origin, true /* user_gesture */, |
+ done_callback); |
} |
void RenderFrameHostImpl::OnShowDesktopNotification( |
@@ -1413,7 +1421,11 @@ 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)); |
} |