diff options
Diffstat (limited to 'chrome')
-rw-r--r-- | chrome/browser/devtools/device/usb/android_usb_browsertest.cc | 9 | ||||
-rw-r--r-- | chrome/browser/devtools/device/usb/android_usb_device.cc | 9 |
2 files changed, 13 insertions, 5 deletions
diff --git a/chrome/browser/devtools/device/usb/android_usb_browsertest.cc b/chrome/browser/devtools/device/usb/android_usb_browsertest.cc index caa9950..2fac360 100644 --- a/chrome/browser/devtools/device/usb/android_usb_browsertest.cc +++ b/chrome/browser/devtools/device/usb/android_usb_browsertest.cc @@ -153,13 +153,16 @@ class MockUsbDeviceHandle : public UsbDeviceHandle { FROM_HERE, base::Bind(callback, success)); } - bool ReleaseInterface(int interface_number) override { + void ReleaseInterface(int interface_number, + const ResultCallback& callback) override { + bool success = false; if (device_->claimed_interfaces_.find(interface_number) == device_->claimed_interfaces_.end()) - return false; + success = false; device_->claimed_interfaces_.erase(interface_number); - return true; + base::ThreadTaskRunnerHandle::Get()->PostTask( + FROM_HERE, base::Bind(callback, success)); } void SetInterfaceAlternateSetting(int interface_number, diff --git a/chrome/browser/devtools/device/usb/android_usb_device.cc b/chrome/browser/devtools/device/usb/android_usb_device.cc index fc8a274..8e655a6 100644 --- a/chrome/browser/devtools/device/usb/android_usb_device.cc +++ b/chrome/browser/devtools/device/usb/android_usb_device.cc @@ -128,10 +128,15 @@ void DumpMessage(bool outgoing, const char* data, size_t length) { #endif // 0 } +void CloseDevice(scoped_refptr<UsbDeviceHandle> usb_device, + bool release_successful) { + usb_device->Close(); +} + void ReleaseInterface(scoped_refptr<UsbDeviceHandle> usb_device, int interface_id) { - usb_device->ReleaseInterface(interface_id); - usb_device->Close(); + usb_device->ReleaseInterface(interface_id, + base::Bind(&CloseDevice, usb_device)); } void RespondOnCallerThread(const AndroidUsbDevicesCallback& callback, |