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

Side by Side Diff: chrome/browser/devtools/device/usb/android_usb_browsertest.cc

Issue 497363004: Merge components/usb_service into device/usb. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Hide //device/usb on mobile platforms. Created 6 years, 3 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <algorithm> 5 #include <algorithm>
6 6
7 #include "base/strings/utf_string_conversions.h" 7 #include "base/strings/utf_string_conversions.h"
8 #include "chrome/browser/devtools/device/devtools_android_bridge.h" 8 #include "chrome/browser/devtools/device/devtools_android_bridge.h"
9 #include "chrome/browser/devtools/device/usb/android_usb_device.h" 9 #include "chrome/browser/devtools/device/usb/android_usb_device.h"
10 #include "chrome/browser/devtools/device/usb/usb_device_provider.h" 10 #include "chrome/browser/devtools/device/usb/usb_device_provider.h"
11 #include "chrome/browser/ui/browser.h" 11 #include "chrome/browser/ui/browser.h"
12 #include "chrome/test/base/in_process_browser_test.h" 12 #include "chrome/test/base/in_process_browser_test.h"
13 #include "components/usb_service/usb_device.h"
14 #include "components/usb_service/usb_device_handle.h"
15 #include "components/usb_service/usb_interface.h"
16 #include "components/usb_service/usb_service.h"
17 #include "content/public/browser/browser_thread.h" 13 #include "content/public/browser/browser_thread.h"
18 #include "content/public/test/test_utils.h" 14 #include "content/public/test/test_utils.h"
15 #include "device/usb/usb_device.h"
16 #include "device/usb/usb_device_handle.h"
17 #include "device/usb/usb_interface.h"
18 #include "device/usb/usb_service.h"
19 #include "testing/gtest/include/gtest/gtest.h" 19 #include "testing/gtest/include/gtest/gtest.h"
20 20
21 using content::BrowserThread; 21 using content::BrowserThread;
22 using namespace usb_service; 22 using device::UsbConfigDescriptor;
23 using device::UsbDevice;
24 using device::UsbDeviceHandle;
25 using device::UsbEndpointDescriptor;
26 using device::UsbEndpointDirection;
27 using device::UsbInterfaceDescriptor;
28 using device::UsbInterfaceAltSettingDescriptor;
29 using device::UsbService;
30 using device::UsbSynchronizationType;
31 using device::UsbTransferCallback;
32 using device::UsbTransferType;
33 using device::UsbUsageType;
23 34
24 namespace { 35 namespace {
25 36
26 struct AndroidTraits { 37 struct AndroidTraits {
27 static const int kClass = 0xff; 38 static const int kClass = 0xff;
28 static const int kSubclass = 0x42; 39 static const int kSubclass = 0x42;
29 static const int kProtocol = 0x1; 40 static const int kProtocol = 0x1;
30 }; 41 };
31 42
32 struct NonAndroidTraits { 43 struct NonAndroidTraits {
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
140 virtual size_t GetNumEndpoints() const OVERRIDE { 151 virtual size_t GetNumEndpoints() const OVERRIDE {
141 // See IsAndroidInterface function in android_usb_device.cc 152 // See IsAndroidInterface function in android_usb_device.cc
142 return 2; 153 return 2;
143 } 154 }
144 155
145 virtual scoped_refptr<const UsbEndpointDescriptor> GetEndpoint( 156 virtual scoped_refptr<const UsbEndpointDescriptor> GetEndpoint(
146 size_t index) const OVERRIDE { 157 size_t index) const OVERRIDE {
147 EXPECT_GT(static_cast<size_t>(2), index); 158 EXPECT_GT(static_cast<size_t>(2), index);
148 MockUsbEndpointDescriptor* result = new MockUsbEndpointDescriptor(); 159 MockUsbEndpointDescriptor* result = new MockUsbEndpointDescriptor();
149 result->address_ = index + 1; 160 result->address_ = index + 1;
150 result->usb_transfer_type_ = USB_TRANSFER_BULK; 161 result->usb_transfer_type_ = device::USB_TRANSFER_BULK;
151 result->direction_ = 162 result->direction_ = ((index == 0) ? device::USB_DIRECTION_INBOUND
152 ((index == 0) ? USB_DIRECTION_INBOUND : USB_DIRECTION_OUTBOUND); 163 : device::USB_DIRECTION_OUTBOUND);
153 result->maximum_packet_size_ = 1 << 20; // 1Mb maximum packet size 164 result->maximum_packet_size_ = 1 << 20; // 1Mb maximum packet size
154 return result; 165 return result;
155 } 166 }
156 167
157 virtual int GetInterfaceNumber() const OVERRIDE { return interface_number_; } 168 virtual int GetInterfaceNumber() const OVERRIDE { return interface_number_; }
158 169
159 virtual int GetAlternateSetting() const OVERRIDE { 170 virtual int GetAlternateSetting() const OVERRIDE {
160 return alternate_setting_; 171 return alternate_setting_;
161 } 172 }
162 173
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
281 const size_t length, 292 const size_t length,
282 const unsigned int timeout, 293 const unsigned int timeout,
283 const UsbTransferCallback& callback) OVERRIDE {} 294 const UsbTransferCallback& callback) OVERRIDE {}
284 295
285 virtual void BulkTransfer(const UsbEndpointDirection direction, 296 virtual void BulkTransfer(const UsbEndpointDirection direction,
286 const uint8 endpoint, 297 const uint8 endpoint,
287 net::IOBuffer* buffer, 298 net::IOBuffer* buffer,
288 const size_t length, 299 const size_t length,
289 const unsigned int timeout, 300 const unsigned int timeout,
290 const UsbTransferCallback& callback) OVERRIDE { 301 const UsbTransferCallback& callback) OVERRIDE {
291 if (direction == USB_DIRECTION_OUTBOUND) { 302 if (direction == device::USB_DIRECTION_OUTBOUND) {
292 if (remaining_body_length_ == 0) { 303 if (remaining_body_length_ == 0) {
293 std::vector<uint32> header(6); 304 std::vector<uint32> header(6);
294 memcpy(&header[0], buffer->data(), length); 305 memcpy(&header[0], buffer->data(), length);
295 current_message_ = new AdbMessage(header[0], header[1], header[2], ""); 306 current_message_ = new AdbMessage(header[0], header[1], header[2], "");
296 remaining_body_length_ = header[3]; 307 remaining_body_length_ = header[3];
297 uint32 magic = header[5]; 308 uint32 magic = header[5];
298 if ((current_message_->command ^ 0xffffffff) != magic) { 309 if ((current_message_->command ^ 0xffffffff) != magic) {
299 DCHECK(false) << "Header checksum error"; 310 DCHECK(false) << "Header checksum error";
300 return; 311 return;
301 } 312 }
302 } else { 313 } else {
303 DCHECK(current_message_.get()); 314 DCHECK(current_message_.get());
304 current_message_->body += std::string(buffer->data(), length); 315 current_message_->body += std::string(buffer->data(), length);
305 remaining_body_length_ -= length; 316 remaining_body_length_ -= length;
306 } 317 }
307 318
308 if (remaining_body_length_ == 0) { 319 if (remaining_body_length_ == 0) {
309 ProcessIncoming(); 320 ProcessIncoming();
310 } 321 }
311 322
312 base::MessageLoop::current()->PostTask( 323 base::MessageLoop::current()->PostTask(
313 FROM_HERE, 324 FROM_HERE,
314 base::Bind(callback, 325 base::Bind(callback,
315 usb_service::USB_TRANSFER_COMPLETED, 326 device::USB_TRANSFER_COMPLETED,
316 scoped_refptr<net::IOBuffer>(), 327 scoped_refptr<net::IOBuffer>(),
317 0)); 328 0));
318 329
319 } else if (direction == USB_DIRECTION_INBOUND) { 330 } else if (direction == device::USB_DIRECTION_INBOUND) {
320 queries_.push(Query(callback, make_scoped_refptr(buffer), length)); 331 queries_.push(Query(callback, make_scoped_refptr(buffer), length));
321 ProcessQueries(); 332 ProcessQueries();
322 } 333 }
323 } 334 }
324 335
325 template <class D> 336 template <class D>
326 void append(D data) { 337 void append(D data) {
327 std::copy(reinterpret_cast<char*>(&data), 338 std::copy(reinterpret_cast<char*>(&data),
328 (reinterpret_cast<char*>(&data)) + sizeof(D), 339 (reinterpret_cast<char*>(&data)) + sizeof(D),
329 std::back_inserter(output_buffer_)); 340 std::back_inserter(output_buffer_));
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
401 412
402 queries_.pop(); 413 queries_.pop();
403 std::copy(output_buffer_.begin(), 414 std::copy(output_buffer_.begin(),
404 output_buffer_.begin() + query.size, 415 output_buffer_.begin() + query.size,
405 query.buffer->data()); 416 query.buffer->data());
406 output_buffer_.erase(output_buffer_.begin(), 417 output_buffer_.erase(output_buffer_.begin(),
407 output_buffer_.begin() + query.size); 418 output_buffer_.begin() + query.size);
408 base::MessageLoop::current()->PostTask( 419 base::MessageLoop::current()->PostTask(
409 FROM_HERE, 420 FROM_HERE,
410 base::Bind(query.callback, 421 base::Bind(query.callback,
411 usb_service::USB_TRANSFER_COMPLETED, 422 device::USB_TRANSFER_COMPLETED,
412 query.buffer, 423 query.buffer,
413 query.size)); 424 query.size));
414 } 425 }
415 426
416 virtual void InterruptTransfer(const UsbEndpointDirection direction, 427 virtual void InterruptTransfer(const UsbEndpointDirection direction,
417 const uint8 endpoint, 428 const uint8 endpoint,
418 net::IOBuffer* buffer, 429 net::IOBuffer* buffer,
419 const size_t length, 430 const size_t length,
420 const unsigned int timeout, 431 const unsigned int timeout,
421 const UsbTransferCallback& callback) OVERRIDE { 432 const UsbTransferCallback& callback) OVERRIDE {
(...skipping 423 matching lines...) Expand 10 before | Expand all | Expand 10 after
845 runner_->Run(); 856 runner_->Run();
846 EXPECT_EQ(2, listener.invoked_); 857 EXPECT_EQ(2, listener.invoked_);
847 EXPECT_EQ(listener.invoked_ - 1, scheduler_invoked_); 858 EXPECT_EQ(listener.invoked_ - 1, scheduler_invoked_);
848 } 859 }
849 860
850 IN_PROC_BROWSER_TEST_F(AndroidUsbTraitsTest, TestDeviceCounting) { 861 IN_PROC_BROWSER_TEST_F(AndroidUsbTraitsTest, TestDeviceCounting) {
851 MockCountListenerForCheckingTraits listener(adb_bridge_); 862 MockCountListenerForCheckingTraits listener(adb_bridge_);
852 adb_bridge_->AddDeviceCountListener(&listener); 863 adb_bridge_->AddDeviceCountListener(&listener);
853 runner_->Run(); 864 runner_->Run();
854 } 865 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698