| Index: content/renderer/usb/web_usb_client_impl.cc
|
| diff --git a/content/renderer/usb/web_usb_client_impl.cc b/content/renderer/usb/web_usb_client_impl.cc
|
| index f2eee2b3db5eeb0ebb8d70efccf9b1c95716f4f8..3d011fec548aec57305571618757f1c60533bc7c 100644
|
| --- a/content/renderer/usb/web_usb_client_impl.cc
|
| +++ b/content/renderer/usb/web_usb_client_impl.cc
|
| @@ -55,14 +55,15 @@ void OnGetDevicesComplete(
|
| ScopedWebCallbacks<blink::WebUSBClientGetDevicesCallbacks> scoped_callbacks,
|
| mojo::ServiceProvider* device_services,
|
| mojo::Array<device::usb::DeviceInfoPtr> results) {
|
| + device::usb::DeviceManagerPtr device_manager;
|
| + mojo::ConnectToService(device_services, &device_manager);
|
| blink::WebVector<blink::WebUSBDevice*>* devices =
|
| new blink::WebVector<blink::WebUSBDevice*>(results.size());
|
| for (size_t i = 0; i < results.size(); ++i) {
|
| - device::usb::DeviceManagerPtr device_manager;
|
| - mojo::ConnectToService(device_services, &device_manager);
|
| + device::usb::DevicePtr device;
|
| + device_manager->GetDevice(results[i]->guid, mojo::GetProxy(&device));
|
| (*devices)[i] = new WebUSBDeviceImpl(
|
| - device_manager.Pass(),
|
| - mojo::ConvertTo<blink::WebUSBDeviceInfo>(results[i]));
|
| + device.Pass(), mojo::ConvertTo<blink::WebUSBDeviceInfo>(results[i]));
|
| }
|
| scoped_callbacks.PassCallbacks()->onSuccess(blink::adoptWebPtr(devices));
|
| }
|
| @@ -118,18 +119,20 @@ void WebUSBClientImpl::OnDeviceChangeNotification(
|
| device_manager_->GetDeviceChanges(base::Bind(
|
| &WebUSBClientImpl::OnDeviceChangeNotification, base::Unretained(this)));
|
| for (size_t i = 0; i < notification->devices_added.size(); ++i) {
|
| - device::usb::DeviceManagerPtr device_manager;
|
| - mojo::ConnectToService(device_services_.get(), &device_manager);
|
| + const device::usb::DeviceInfoPtr& device_info =
|
| + notification->devices_added[i];
|
| + device::usb::DevicePtr device;
|
| + device_manager_->GetDevice(device_info->guid, mojo::GetProxy(&device));
|
| observer_->onDeviceConnected(blink::adoptWebPtr(new WebUSBDeviceImpl(
|
| - device_manager.Pass(), mojo::ConvertTo<blink::WebUSBDeviceInfo>(
|
| - notification->devices_added[i]))));
|
| + device.Pass(), mojo::ConvertTo<blink::WebUSBDeviceInfo>(device_info))));
|
| }
|
| for (size_t i = 0; i < notification->devices_removed.size(); ++i) {
|
| - device::usb::DeviceManagerPtr device_manager;
|
| - mojo::ConnectToService(device_services_.get(), &device_manager);
|
| + const device::usb::DeviceInfoPtr& device_info =
|
| + notification->devices_removed[i];
|
| + device::usb::DevicePtr device;
|
| + device_manager_->GetDevice(device_info->guid, mojo::GetProxy(&device));
|
| observer_->onDeviceDisconnected(blink::adoptWebPtr(new WebUSBDeviceImpl(
|
| - device_manager.Pass(), mojo::ConvertTo<blink::WebUSBDeviceInfo>(
|
| - notification->devices_removed[i]))));
|
| + device.Pass(), mojo::ConvertTo<blink::WebUSBDeviceInfo>(device_info))));
|
| }
|
| }
|
|
|
|
|