diff options
author | reillyg <reillyg@chromium.org> | 2016-03-04 15:29:41 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-03-04 23:30:56 +0000 |
commit | d6d8ce13c1ab8141e85717f5832c4ad1af3128bb (patch) | |
tree | 3b3a395d6eb2d85cd37414b1b25b8ad31c80b1d9 /chrome/browser/usb/usb_tab_helper.cc | |
parent | 765e7b178b46af51727af1972fa08e1fd902f08a (diff) | |
download | chromium_src-d6d8ce13c1ab8141e85717f5832c4ad1af3128bb.zip chromium_src-d6d8ce13c1ab8141e85717f5832c4ad1af3128bb.tar.gz chromium_src-d6d8ce13c1ab8141e85717f5832c4ad1af3128bb.tar.bz2 |
Convert the PermissionProvider Mojo interface to plain C++.
This interface allows a separate Mojo service to provide permissions
management for a DeviceManager instance. This will be useful if USB
device handling is ever moved into a separate process but until then it
adds needless complexity to the implementation because access checks are
made asynchronous. Make it a normal C++ interface for now.
BUG=None
Review URL: https://codereview.chromium.org/1742333003
Cr-Commit-Position: refs/heads/master@{#379393}
Diffstat (limited to 'chrome/browser/usb/usb_tab_helper.cc')
-rw-r--r-- | chrome/browser/usb/usb_tab_helper.cc | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/chrome/browser/usb/usb_tab_helper.cc b/chrome/browser/usb/usb_tab_helper.cc index 8e235e4..91977fd 100644 --- a/chrome/browser/usb/usb_tab_helper.cc +++ b/chrome/browser/usb/usb_tab_helper.cc @@ -38,11 +38,8 @@ void UsbTabHelper::CreateDeviceManager( RenderFrameHost* render_frame_host, mojo::InterfaceRequest<device::usb::DeviceManager> request) { DCHECK(WebContents::FromRenderFrameHost(render_frame_host) == web_contents()); - device::usb::PermissionProviderPtr permission_provider; - GetPermissionProvider(render_frame_host, - mojo::GetProxy(&permission_provider)); - device::usb::DeviceManagerImpl::Create(std::move(permission_provider), - std::move(request)); + device::usb::DeviceManagerImpl::Create( + GetPermissionProvider(render_frame_host), std::move(request)); } #if !defined(OS_ANDROID) @@ -73,15 +70,14 @@ FrameUsbServices* UsbTabHelper::GetFrameUsbService( return it->second.get(); } -void UsbTabHelper::GetPermissionProvider( - RenderFrameHost* render_frame_host, - mojo::InterfaceRequest<device::usb::PermissionProvider> request) { +base::WeakPtr<device::usb::PermissionProvider> +UsbTabHelper::GetPermissionProvider(RenderFrameHost* render_frame_host) { FrameUsbServices* frame_usb_services = GetFrameUsbService(render_frame_host); if (!frame_usb_services->permission_provider) { frame_usb_services->permission_provider.reset( new WebUSBPermissionProvider(render_frame_host)); } - frame_usb_services->permission_provider->Bind(std::move(request)); + return frame_usb_services->permission_provider->GetWeakPtr(); } #if !defined(OS_ANDROID) |