Index: chrome/browser/chrome_content_browser_client.cc |
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc |
index f9e7a7203ec0947e8f986c63ad0f19e674b90c1a..da5c268d0018978626859144d9af9b73d74bfbdd 100644 |
--- a/chrome/browser/chrome_content_browser_client.cc |
+++ b/chrome/browser/chrome_content_browser_client.cc |
@@ -2133,8 +2133,24 @@ void ChromeContentBrowserClient::RequestDesktopNotificationPermission( |
return; |
} |
+ WebContents* web_contents = WebContents::FromRenderFrameHost( |
+ render_frame_host); |
+ int render_process_id = render_frame_host->GetProcess()->GetID(); |
+ const PermissionRequestID request_id(render_process_id, |
+ web_contents->GetRoutingID(), |
+ -1 /* bridge id */, |
+ GURL()); |
+ |
notification_service->RequestPermission( |
- source_origin, render_frame_host, callback); |
+ web_contents, |
+ request_id, |
+ source_origin, |
+ // TODO(peter): plumb user_gesture over IPC |
+ true, |
+ base::Bind(&ChromeContentBrowserClient::NotificationPermissionRequested, |
+ weak_factory_.GetWeakPtr(), |
+ callback)); |
+ |
#else |
NOTIMPLEMENTED(); |
#endif |
@@ -2939,4 +2955,10 @@ void ChromeContentBrowserClient::MaybeCopyDisableWebRtcEncryptionSwitch( |
} |
#endif // defined(ENABLE_WEBRTC) |
+ |
+void ChromeContentBrowserClient::NotificationPermissionRequested( |
+ const base::Closure& callback, bool result) { |
+ callback.Run(); |
+} |
+ |
} // namespace chrome |