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 |