Index: chrome/browser/devtools/device/android_device_manager.cc |
diff --git a/chrome/browser/devtools/device/android_device_manager.cc b/chrome/browser/devtools/device/android_device_manager.cc |
index 655e7afe1ad46cc1517f2a4cbc3532b6977b0f59..88310fe015138796c0081aebd497b03701e1f6a1 100644 |
--- a/chrome/browser/devtools/device/android_device_manager.cc |
+++ b/chrome/browser/devtools/device/android_device_manager.cc |
@@ -6,9 +6,11 @@ |
#include <string.h> |
+#include "base/location.h" |
#include "base/strings/string_number_conversions.h" |
#include "base/strings/string_util.h" |
#include "base/strings/stringprintf.h" |
+#include "base/thread_task_runner_handle.h" |
#include "net/base/io_buffer.h" |
#include "net/base/net_errors.h" |
#include "net/socket/stream_socket.h" |
@@ -34,32 +36,31 @@ static const char kWebSocketUpgradeRequest[] = "GET %s HTTP/1.1\r\n" |
"\r\n"; |
static void PostDeviceInfoCallback( |
- scoped_refptr<base::MessageLoopProxy> response_message_loop, |
+ scoped_refptr<base::SingleThreadTaskRunner> response_task_runner, |
const AndroidDeviceManager::DeviceInfoCallback& callback, |
const AndroidDeviceManager::DeviceInfo& device_info) { |
- response_message_loop->PostTask(FROM_HERE, base::Bind(callback, device_info)); |
+ response_task_runner->PostTask(FROM_HERE, base::Bind(callback, device_info)); |
} |
static void PostCommandCallback( |
- scoped_refptr<base::MessageLoopProxy> response_message_loop, |
+ scoped_refptr<base::SingleThreadTaskRunner> response_task_runner, |
const AndroidDeviceManager::CommandCallback& callback, |
int result, |
const std::string& response) { |
- response_message_loop->PostTask(FROM_HERE, |
- base::Bind(callback, result, response)); |
+ response_task_runner->PostTask(FROM_HERE, |
+ base::Bind(callback, result, response)); |
} |
static void PostHttpUpgradeCallback( |
- scoped_refptr<base::MessageLoopProxy> response_message_loop, |
+ scoped_refptr<base::SingleThreadTaskRunner> response_task_runner, |
const AndroidDeviceManager::HttpUpgradeCallback& callback, |
int result, |
const std::string& extensions, |
const std::string& body_head, |
scoped_ptr<net::StreamSocket> socket) { |
- response_message_loop->PostTask( |
- FROM_HERE, |
- base::Bind(callback, result, extensions, body_head, |
- base::Passed(&socket))); |
+ response_task_runner->PostTask( |
+ FROM_HERE, base::Bind(callback, result, extensions, body_head, |
+ base::Passed(&socket))); |
} |
class HttpRequest { |
@@ -267,36 +268,34 @@ class DevicesRequest : public base::RefCountedThreadSafe<DevicesRequest> { |
typedef base::Callback<void(scoped_ptr<DeviceDescriptors>)> |
DescriptorsCallback; |
- static void Start(scoped_refptr<base::MessageLoopProxy> device_message_loop, |
- const DeviceProviders& providers, |
- const DescriptorsCallback& callback) { |
+ static void Start( |
+ scoped_refptr<base::SingleThreadTaskRunner> device_task_runner, |
+ const DeviceProviders& providers, |
+ const DescriptorsCallback& callback) { |
// Don't keep counted reference on calling thread; |
DevicesRequest* request = new DevicesRequest(callback); |
// Avoid destruction while sending requests |
request->AddRef(); |
for (DeviceProviders::const_iterator it = providers.begin(); |
it != providers.end(); ++it) { |
- device_message_loop->PostTask( |
- FROM_HERE, |
- base::Bind( |
- &DeviceProvider::QueryDevices, |
- *it, |
- base::Bind(&DevicesRequest::ProcessSerials, request, *it))); |
+ device_task_runner->PostTask( |
+ FROM_HERE, base::Bind(&DeviceProvider::QueryDevices, *it, |
+ base::Bind(&DevicesRequest::ProcessSerials, |
+ request, *it))); |
} |
- device_message_loop->ReleaseSoon(FROM_HERE, request); |
+ device_task_runner->ReleaseSoon(FROM_HERE, request); |
} |
private: |
explicit DevicesRequest(const DescriptorsCallback& callback) |
- : response_message_loop_(base::MessageLoopProxy::current()), |
+ : response_task_runner_(base::ThreadTaskRunnerHandle::Get()), |
callback_(callback), |
- descriptors_(new DeviceDescriptors()) { |
- } |
+ descriptors_(new DeviceDescriptors()) {} |
friend class base::RefCountedThreadSafe<DevicesRequest>; |
~DevicesRequest() { |
- response_message_loop_->PostTask(FROM_HERE, |
- base::Bind(callback_, base::Passed(&descriptors_))); |
+ response_task_runner_->PostTask( |
+ FROM_HERE, base::Bind(callback_, base::Passed(&descriptors_))); |
} |
typedef std::vector<std::string> Serials; |
@@ -311,7 +310,7 @@ class DevicesRequest : public base::RefCountedThreadSafe<DevicesRequest> { |
} |
} |
- scoped_refptr<base::MessageLoopProxy> response_message_loop_; |
+ scoped_refptr<base::SingleThreadTaskRunner> response_task_runner_; |
DescriptorsCallback callback_; |
scoped_ptr<DeviceDescriptors> descriptors_; |
}; |
@@ -384,41 +383,30 @@ AndroidDeviceManager::DeviceProvider::~DeviceProvider() { |
void AndroidDeviceManager::Device::QueryDeviceInfo( |
const DeviceInfoCallback& callback) { |
- message_loop_proxy_->PostTask( |
+ task_runner_->PostTask( |
FROM_HERE, |
- base::Bind(&DeviceProvider::QueryDeviceInfo, |
- provider_, |
- serial_, |
+ base::Bind(&DeviceProvider::QueryDeviceInfo, provider_, serial_, |
base::Bind(&PostDeviceInfoCallback, |
- base::MessageLoopProxy::current(), |
- callback))); |
+ base::ThreadTaskRunnerHandle::Get(), callback))); |
} |
void AndroidDeviceManager::Device::OpenSocket(const std::string& socket_name, |
const SocketCallback& callback) { |
- message_loop_proxy_->PostTask( |
- FROM_HERE, |
- base::Bind(&DeviceProvider::OpenSocket, |
- provider_, |
- serial_, |
- socket_name, |
- callback)); |
+ task_runner_->PostTask( |
+ FROM_HERE, base::Bind(&DeviceProvider::OpenSocket, provider_, serial_, |
+ socket_name, callback)); |
} |
void AndroidDeviceManager::Device::SendJsonRequest( |
const std::string& socket_name, |
const std::string& request, |
const CommandCallback& callback) { |
- message_loop_proxy_->PostTask( |
+ task_runner_->PostTask( |
FROM_HERE, |
- base::Bind(&DeviceProvider::SendJsonRequest, |
- provider_, |
- serial_, |
- socket_name, |
- request, |
+ base::Bind(&DeviceProvider::SendJsonRequest, provider_, serial_, |
+ socket_name, request, |
base::Bind(&PostCommandCallback, |
- base::MessageLoopProxy::current(), |
- callback))); |
+ base::ThreadTaskRunnerHandle::Get(), callback))); |
} |
void AndroidDeviceManager::Device::HttpUpgrade( |
@@ -426,24 +414,19 @@ void AndroidDeviceManager::Device::HttpUpgrade( |
const std::string& url, |
const std::string& extensions, |
const HttpUpgradeCallback& callback) { |
- message_loop_proxy_->PostTask( |
+ task_runner_->PostTask( |
FROM_HERE, |
- base::Bind(&DeviceProvider::HttpUpgrade, |
- provider_, |
- serial_, |
- socket_name, |
- url, |
- extensions, |
+ base::Bind(&DeviceProvider::HttpUpgrade, provider_, serial_, socket_name, |
+ url, extensions, |
base::Bind(&PostHttpUpgradeCallback, |
- base::MessageLoopProxy::current(), |
- callback))); |
+ base::ThreadTaskRunnerHandle::Get(), callback))); |
} |
AndroidDeviceManager::Device::Device( |
- scoped_refptr<base::MessageLoopProxy> device_message_loop, |
+ scoped_refptr<base::SingleThreadTaskRunner> device_task_runner, |
scoped_refptr<DeviceProvider> provider, |
const std::string& serial) |
- : message_loop_proxy_(device_message_loop), |
+ : task_runner_(device_task_runner), |
provider_(provider), |
serial_(serial), |
weak_factory_(this) { |
@@ -457,11 +440,9 @@ AndroidDeviceManager::Device::~Device() { |
provider_->AddRef(); |
DeviceProvider* raw_ptr = provider_.get(); |
provider_ = NULL; |
- message_loop_proxy_->PostTask( |
- FROM_HERE, |
- base::Bind(&ReleaseDeviceAndProvider, |
- base::Unretained(raw_ptr), |
- serial_)); |
+ task_runner_->PostTask(FROM_HERE, |
+ base::Bind(&ReleaseDeviceAndProvider, |
+ base::Unretained(raw_ptr), serial_)); |
} |
AndroidDeviceManager::HandlerThread* |
@@ -488,9 +469,9 @@ AndroidDeviceManager::HandlerThread::HandlerThread() { |
} |
} |
-scoped_refptr<base::MessageLoopProxy> |
+scoped_refptr<base::SingleThreadTaskRunner> |
AndroidDeviceManager::HandlerThread::message_loop() { |
- return thread_ ? thread_->message_loop_proxy() : NULL; |
+ return thread_ ? thread_->task_runner() : NULL; |
} |
// static |
@@ -528,11 +509,9 @@ void AndroidDeviceManager::SetDeviceProviders( |
} |
void AndroidDeviceManager::QueryDevices(const DevicesCallback& callback) { |
- DevicesRequest::Start(handler_thread_->message_loop(), |
- providers_, |
+ DevicesRequest::Start(handler_thread_->message_loop(), providers_, |
base::Bind(&AndroidDeviceManager::UpdateDevices, |
- weak_factory_.GetWeakPtr(), |
- callback)); |
+ weak_factory_.GetWeakPtr(), callback)); |
} |
AndroidDeviceManager::AndroidDeviceManager() |
@@ -556,8 +535,8 @@ void AndroidDeviceManager::UpdateDevices( |
scoped_refptr<Device> device; |
if (found == devices_.end() || !found->second || |
found->second->provider_.get() != it->provider.get()) { |
- device = new Device(handler_thread_->message_loop(), |
- it->provider, it->serial); |
+ device = |
+ new Device(handler_thread_->message_loop(), it->provider, it->serial); |
} else { |
device = found->second.get(); |
} |