| 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 "chrome/browser/devtools/device/android_device_manager.h" | 5 #include "chrome/browser/devtools/device/android_device_manager.h" |
| 6 | 6 |
| 7 #include "base/strings/string_number_conversions.h" | 7 #include "base/strings/string_number_conversions.h" |
| 8 #include "base/strings/string_util.h" | 8 #include "base/strings/string_util.h" |
| 9 #include "base/strings/stringprintf.h" | 9 #include "base/strings/stringprintf.h" |
| 10 #include "net/base/io_buffer.h" | 10 #include "net/base/io_buffer.h" |
| (...skipping 415 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 426 base::Unretained(raw_ptr), | 426 base::Unretained(raw_ptr), |
| 427 serial_)); | 427 serial_)); |
| 428 } | 428 } |
| 429 | 429 |
| 430 AndroidDeviceManager::HandlerThread* | 430 AndroidDeviceManager::HandlerThread* |
| 431 AndroidDeviceManager::HandlerThread::instance_ = NULL; | 431 AndroidDeviceManager::HandlerThread::instance_ = NULL; |
| 432 | 432 |
| 433 // static | 433 // static |
| 434 scoped_refptr<AndroidDeviceManager::HandlerThread> | 434 scoped_refptr<AndroidDeviceManager::HandlerThread> |
| 435 AndroidDeviceManager::HandlerThread::GetInstance() { | 435 AndroidDeviceManager::HandlerThread::GetInstance() { |
| 436 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 436 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 437 if (!instance_) | 437 if (!instance_) |
| 438 new HandlerThread(); | 438 new HandlerThread(); |
| 439 return instance_; | 439 return instance_; |
| 440 } | 440 } |
| 441 | 441 |
| 442 AndroidDeviceManager::HandlerThread::HandlerThread() { | 442 AndroidDeviceManager::HandlerThread::HandlerThread() { |
| 443 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 443 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 444 instance_ = this; | 444 instance_ = this; |
| 445 thread_ = new base::Thread(kDevToolsAdbBridgeThreadName); | 445 thread_ = new base::Thread(kDevToolsAdbBridgeThreadName); |
| 446 base::Thread::Options options; | 446 base::Thread::Options options; |
| 447 options.message_loop_type = base::MessageLoop::TYPE_IO; | 447 options.message_loop_type = base::MessageLoop::TYPE_IO; |
| 448 if (!thread_->StartWithOptions(options)) { | 448 if (!thread_->StartWithOptions(options)) { |
| 449 delete thread_; | 449 delete thread_; |
| 450 thread_ = NULL; | 450 thread_ = NULL; |
| 451 } | 451 } |
| 452 } | 452 } |
| 453 | 453 |
| 454 scoped_refptr<base::MessageLoopProxy> | 454 scoped_refptr<base::MessageLoopProxy> |
| 455 AndroidDeviceManager::HandlerThread::message_loop() { | 455 AndroidDeviceManager::HandlerThread::message_loop() { |
| 456 return thread_ ? thread_->message_loop_proxy() : NULL; | 456 return thread_ ? thread_->message_loop_proxy() : NULL; |
| 457 } | 457 } |
| 458 | 458 |
| 459 // static | 459 // static |
| 460 void AndroidDeviceManager::HandlerThread::StopThread( | 460 void AndroidDeviceManager::HandlerThread::StopThread( |
| 461 base::Thread* thread) { | 461 base::Thread* thread) { |
| 462 thread->Stop(); | 462 thread->Stop(); |
| 463 } | 463 } |
| 464 | 464 |
| 465 AndroidDeviceManager::HandlerThread::~HandlerThread() { | 465 AndroidDeviceManager::HandlerThread::~HandlerThread() { |
| 466 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 466 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 467 instance_ = NULL; | 467 instance_ = NULL; |
| 468 if (!thread_) | 468 if (!thread_) |
| 469 return; | 469 return; |
| 470 // Shut down thread on FILE thread to join into IO. | 470 // Shut down thread on FILE thread to join into IO. |
| 471 content::BrowserThread::PostTask( | 471 content::BrowserThread::PostTask( |
| 472 content::BrowserThread::FILE, FROM_HERE, | 472 content::BrowserThread::FILE, FROM_HERE, |
| 473 base::Bind(&HandlerThread::StopThread, thread_)); | 473 base::Bind(&HandlerThread::StopThread, thread_)); |
| 474 } | 474 } |
| 475 | 475 |
| 476 // static | 476 // static |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 523 it->provider, it->serial); | 523 it->provider, it->serial); |
| 524 } else { | 524 } else { |
| 525 device = found->second.get(); | 525 device = found->second.get(); |
| 526 } | 526 } |
| 527 response.push_back(device); | 527 response.push_back(device); |
| 528 new_devices[it->serial] = device->weak_factory_.GetWeakPtr(); | 528 new_devices[it->serial] = device->weak_factory_.GetWeakPtr(); |
| 529 } | 529 } |
| 530 devices_.swap(new_devices); | 530 devices_.swap(new_devices); |
| 531 callback.Run(response); | 531 callback.Run(response); |
| 532 } | 532 } |
| OLD | NEW |