Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1265)

Unified Diff: chrome/browser/devtools/device/usb/android_usb_device.cc

Issue 826283002: Add support for sending a USB SET_CONFIGURATION request. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebased. Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/devtools/device/usb/android_usb_device.cc
diff --git a/chrome/browser/devtools/device/usb/android_usb_device.cc b/chrome/browser/devtools/device/usb/android_usb_device.cc
index 11150052ddf7806594f071202cd57ad3459c7673..2e8b91d005c46decd85ff2c1fa70dfe2acb3d6d1 100644
--- a/chrome/browser/devtools/device/usb/android_usb_device.cc
+++ b/chrome/browser/devtools/device/usb/android_usb_device.cc
@@ -200,16 +200,17 @@ static void OpenAndroidDeviceOnFileThread(
if (success) {
base::string16 serial;
if (device->GetSerialNumber(&serial) && !serial.empty()) {
- const UsbConfigDescriptor& config = device->GetConfiguration();
- scoped_refptr<UsbDeviceHandle> usb_handle = device->Open();
- if (usb_handle.get()) {
- scoped_refptr<AndroidUsbDevice> android_device =
- ClaimInterface(rsa_key, usb_handle, serial,
- config.interfaces[interface_id]);
- if (android_device.get())
- devices->push_back(android_device.get());
- else
- usb_handle->Close();
+ const UsbConfigDescriptor* config = device->GetConfiguration();
+ if (config) {
+ scoped_refptr<UsbDeviceHandle> usb_handle = device->Open();
+ if (usb_handle.get()) {
+ scoped_refptr<AndroidUsbDevice> android_device = ClaimInterface(
+ rsa_key, usb_handle, serial, config->interfaces[interface_id]);
+ if (android_device.get())
+ devices->push_back(android_device.get());
+ else
+ usb_handle->Close();
+ }
}
}
}
@@ -223,16 +224,13 @@ static int CountOnFileThread() {
if (service != NULL)
service->GetDevices(&usb_devices);
int device_count = 0;
- for (UsbDevices::iterator deviceIt = usb_devices.begin();
- deviceIt != usb_devices.end();
- ++deviceIt) {
- const UsbConfigDescriptor& config = (*deviceIt)->GetConfiguration();
-
- for (UsbInterfaceDescriptor::Iterator ifaceIt = config.interfaces.begin();
- ifaceIt != config.interfaces.end();
- ++ifaceIt) {
- if (IsAndroidInterface(*ifaceIt)) {
- ++device_count;
+ for (const scoped_refptr<UsbDevice>& device : usb_devices) {
+ const UsbConfigDescriptor* config = device->GetConfiguration();
+ if (config) {
+ for (const UsbInterfaceDescriptor& iface : config->interfaces) {
+ if (IsAndroidInterface(iface)) {
+ ++device_count;
+ }
}
}
}
@@ -258,22 +256,24 @@ static void EnumerateOnFileThread(
devices,
caller_message_loop_proxy));
- for (UsbDevices::iterator it = usb_devices.begin(); it != usb_devices.end();
- ++it) {
- const UsbConfigDescriptor& config = (*it)->GetConfiguration();
-
+ for (const scoped_refptr<UsbDevice>& device : usb_devices) {
+ const UsbConfigDescriptor* config = device->GetConfiguration();
+ if (!config) {
+ continue;
+ }
bool has_android_interface = false;
- for (size_t j = 0; j < config.interfaces.size(); ++j) {
- if (!IsAndroidInterface(config.interfaces[j])) {
+ for (size_t j = 0; j < config->interfaces.size(); ++j) {
+ if (!IsAndroidInterface(config->interfaces[j])) {
continue;
}
// Request permission on Chrome OS.
#if defined(OS_CHROMEOS)
- (*it)->RequestUsbAccess(j, base::Bind(&OpenAndroidDeviceOnFileThread,
- devices, rsa_key, barrier, *it, j));
+ device->RequestUsbAccess(
+ j, base::Bind(&OpenAndroidDeviceOnFileThread, devices, rsa_key,
+ barrier, device, j));
#else
- OpenAndroidDeviceOnFileThread(devices, rsa_key, barrier, *it, j, true);
+ OpenAndroidDeviceOnFileThread(devices, rsa_key, barrier, device, j, true);
#endif // defined(OS_CHROMEOS)
has_android_interface = true;

Powered by Google App Engine
This is Rietveld 408576698