| 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 e4f174e0a9bf2b8ada160b9f94fc5e0e178f226c..d5291e94a71e832808700fb90e6b3e8040f9f1bc 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::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 */,
|
| + origin,
|
| + true /* user_gesture */,
|
| + done_callback);
|
| }
|
|
|
| void RenderFrameHostImpl::OnShowDesktopNotification(
|
| @@ -1414,7 +1422,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));
|
| }
|
|
|