| OLD | NEW |
| 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" |
| (...skipping 282 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 293 std::vector<uint32> header(6); | 293 std::vector<uint32> header(6); |
| 294 memcpy(&header[0], buffer->data(), length); | 294 memcpy(&header[0], buffer->data(), length); |
| 295 current_message_ = new AdbMessage(header[0], header[1], header[2], ""); | 295 current_message_ = new AdbMessage(header[0], header[1], header[2], ""); |
| 296 remaining_body_length_ = header[3]; | 296 remaining_body_length_ = header[3]; |
| 297 uint32 magic = header[5]; | 297 uint32 magic = header[5]; |
| 298 if ((current_message_->command ^ 0xffffffff) != magic) { | 298 if ((current_message_->command ^ 0xffffffff) != magic) { |
| 299 DCHECK(false) << "Header checksum error"; | 299 DCHECK(false) << "Header checksum error"; |
| 300 return; | 300 return; |
| 301 } | 301 } |
| 302 } else { | 302 } else { |
| 303 DCHECK(current_message_); | 303 DCHECK(current_message_.get()); |
| 304 current_message_->body += std::string(buffer->data(), length); | 304 current_message_->body += std::string(buffer->data(), length); |
| 305 remaining_body_length_ -= length; | 305 remaining_body_length_ -= length; |
| 306 } | 306 } |
| 307 | 307 |
| 308 if (remaining_body_length_ == 0) { | 308 if (remaining_body_length_ == 0) { |
| 309 ProcessIncoming(); | 309 ProcessIncoming(); |
| 310 } | 310 } |
| 311 | 311 |
| 312 base::MessageLoop::current()->PostTask( | 312 base::MessageLoop::current()->PostTask( |
| 313 FROM_HERE, | 313 FROM_HERE, |
| (...skipping 19 matching lines...) Expand all Loading... |
| 333 uint32 Checksum(const std::string& data) { | 333 uint32 Checksum(const std::string& data) { |
| 334 unsigned char* x = (unsigned char*)data.data(); | 334 unsigned char* x = (unsigned char*)data.data(); |
| 335 int count = data.length(); | 335 int count = data.length(); |
| 336 uint32 sum = 0; | 336 uint32 sum = 0; |
| 337 while (count-- > 0) | 337 while (count-- > 0) |
| 338 sum += *x++; | 338 sum += *x++; |
| 339 return sum; | 339 return sum; |
| 340 } | 340 } |
| 341 | 341 |
| 342 void ProcessIncoming() { | 342 void ProcessIncoming() { |
| 343 DCHECK(current_message_); | 343 DCHECK(current_message_.get()); |
| 344 switch (current_message_->command) { | 344 switch (current_message_->command) { |
| 345 case AdbMessage::kCommandCNXN: | 345 case AdbMessage::kCommandCNXN: |
| 346 WriteResponse(new AdbMessage(AdbMessage::kCommandCNXN, | 346 WriteResponse(new AdbMessage(AdbMessage::kCommandCNXN, |
| 347 kVersion, | 347 kVersion, |
| 348 kMaxPayload, | 348 kMaxPayload, |
| 349 "device::ro.product.name=SampleProduct;ro." | 349 "device::ro.product.name=SampleProduct;ro." |
| 350 "product.model=SampleModel;ro.product." | 350 "product.model=SampleModel;ro.product." |
| 351 "device=SampleDevice;")); | 351 "device=SampleDevice;")); |
| 352 break; | 352 break; |
| 353 case AdbMessage::kCommandOPEN: | 353 case AdbMessage::kCommandOPEN: |
| (...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 578 | 578 |
| 579 BrowserThread::PostTaskAndReply( | 579 BrowserThread::PostTaskAndReply( |
| 580 BrowserThread::FILE, | 580 BrowserThread::FILE, |
| 581 FROM_HERE, | 581 FROM_HERE, |
| 582 base::Bind(&AndroidUsbDiscoveryTest::SetUpService, this), | 582 base::Bind(&AndroidUsbDiscoveryTest::SetUpService, this), |
| 583 runner->QuitClosure()); | 583 runner->QuitClosure()); |
| 584 runner->Run(); | 584 runner->Run(); |
| 585 | 585 |
| 586 adb_bridge_ = | 586 adb_bridge_ = |
| 587 DevToolsAndroidBridge::Factory::GetForProfile(browser()->profile()); | 587 DevToolsAndroidBridge::Factory::GetForProfile(browser()->profile()); |
| 588 DCHECK(adb_bridge_); | 588 DCHECK(adb_bridge_.get()); |
| 589 adb_bridge_->set_task_scheduler_for_test(base::Bind( | 589 adb_bridge_->set_task_scheduler_for_test(base::Bind( |
| 590 &AndroidUsbDiscoveryTest::ScheduleDeviceCountRequest, this)); | 590 &AndroidUsbDiscoveryTest::ScheduleDeviceCountRequest, this)); |
| 591 | 591 |
| 592 scoped_refptr<UsbDeviceProvider> provider = | 592 scoped_refptr<UsbDeviceProvider> provider = |
| 593 new UsbDeviceProvider(browser()->profile()); | 593 new UsbDeviceProvider(browser()->profile()); |
| 594 | 594 |
| 595 AndroidDeviceManager::DeviceProviders providers; | 595 AndroidDeviceManager::DeviceProviders providers; |
| 596 providers.push_back(provider); | 596 providers.push_back(provider); |
| 597 adb_bridge_->set_device_providers_for_test(providers); | 597 adb_bridge_->set_device_providers_for_test(providers); |
| 598 runner_ = new content::MessageLoopRunner; | 598 runner_ = new content::MessageLoopRunner; |
| (...skipping 246 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 845 runner_->Run(); | 845 runner_->Run(); |
| 846 EXPECT_EQ(2, listener.invoked_); | 846 EXPECT_EQ(2, listener.invoked_); |
| 847 EXPECT_EQ(listener.invoked_ - 1, scheduler_invoked_); | 847 EXPECT_EQ(listener.invoked_ - 1, scheduler_invoked_); |
| 848 } | 848 } |
| 849 | 849 |
| 850 IN_PROC_BROWSER_TEST_F(AndroidUsbTraitsTest, TestDeviceCounting) { | 850 IN_PROC_BROWSER_TEST_F(AndroidUsbTraitsTest, TestDeviceCounting) { |
| 851 MockCountListenerForCheckingTraits listener(adb_bridge_); | 851 MockCountListenerForCheckingTraits listener(adb_bridge_); |
| 852 adb_bridge_->AddDeviceCountListener(&listener); | 852 adb_bridge_->AddDeviceCountListener(&listener); |
| 853 runner_->Run(); | 853 runner_->Run(); |
| 854 } | 854 } |
| OLD | NEW |