summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/browser/devtools/adb_client_socket_browsertest.cc6
-rw-r--r--chrome/browser/devtools/adb_web_socket.h60
-rw-r--r--chrome/browser/devtools/android_device.cc100
-rw-r--r--chrome/browser/devtools/android_device.h140
-rw-r--r--chrome/browser/devtools/devtools_adb_bridge.cc62
-rw-r--r--chrome/browser/devtools/devtools_adb_bridge.h23
-rw-r--r--chrome/browser/devtools/devtools_adb_bridge_browsertest.cc18
-rw-r--r--chrome/browser/devtools/refcounted_adb_thread.cc52
-rw-r--r--chrome/browser/devtools/refcounted_adb_thread.h28
-rw-r--r--chrome/browser/ui/webui/inspect_ui_browsertest.cc6
-rw-r--r--chrome/chrome.gyp2
11 files changed, 204 insertions, 293 deletions
diff --git a/chrome/browser/devtools/adb_client_socket_browsertest.cc b/chrome/browser/devtools/adb_client_socket_browsertest.cc
index 4c1fb29..19e80e9 100644
--- a/chrome/browser/devtools/adb_client_socket_browsertest.cc
+++ b/chrome/browser/devtools/adb_client_socket_browsertest.cc
@@ -394,10 +394,10 @@ private:
adb_bridge_ = DevToolsAdbBridge::Factory::GetForProfile(
browser()->profile());
- DevToolsAdbBridge::DeviceProviders device_providers;
- device_providers.push_back(AndroidDeviceProvider::GetAdbDeviceProvider());
+ AndroidDeviceManager::DeviceProviders device_providers;
+ device_providers.push_back(AndroidDeviceManager::GetAdbDeviceProvider());
- adb_bridge_->set_device_providers(device_providers);
+ adb_bridge_->set_device_providers_for_test(device_providers);
adb_bridge_->AddListener(this);
}
diff --git a/chrome/browser/devtools/adb_web_socket.h b/chrome/browser/devtools/adb_web_socket.h
deleted file mode 100644
index deb44c0..0000000
--- a/chrome/browser/devtools/adb_web_socket.h
+++ /dev/null
@@ -1,60 +0,0 @@
-// Copyright (c) 2013 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef CHROME_BROWSER_DEVTOOLS_ADB_WEB_SOCKET_H_
-#define CHROME_BROWSER_DEVTOOLS_ADB_WEB_SOCKET_H_
-
-#include "chrome/browser/devtools/android_device.h"
-
-class AdbWebSocket : public base::RefCountedThreadSafe<AdbWebSocket> {
- public:
- class Delegate {
- public:
- virtual void OnSocketOpened() = 0;
- virtual void OnFrameRead(const std::string& message) = 0;
- virtual void OnSocketClosed(bool closed_by_device) = 0;
-
- protected:
- virtual ~Delegate() {}
- };
-
- AdbWebSocket(scoped_refptr<AndroidDevice> device,
- const std::string& socket_name,
- const std::string& url,
- base::MessageLoop* adb_message_loop,
- Delegate* delegate);
-
- void Disconnect();
-
- void SendFrame(const std::string& message);
-
- private:
- friend class base::RefCountedThreadSafe<AdbWebSocket>;
-
- virtual ~AdbWebSocket();
-
- void ConnectOnHandlerThread();
- void ConnectedOnHandlerThread(int result, net::StreamSocket* socket);
- void StartListeningOnHandlerThread();
- void OnBytesRead(scoped_refptr<net::IOBuffer> response_buffer, int result);
- void SendFrameOnHandlerThread(const std::string& message);
- void SendPendingRequests(int result);
- void DisconnectOnHandlerThread(bool closed_by_device);
-
- void OnSocketOpened();
- void OnFrameRead(const std::string& message);
- void OnSocketClosed(bool closed_by_device);
-
- scoped_refptr<AndroidDevice> device_;
- std::string socket_name_;
- std::string url_;
- base::MessageLoop* adb_message_loop_;
- scoped_ptr<net::StreamSocket> socket_;
- Delegate* delegate_;
- std::string response_buffer_;
- std::string request_buffer_;
- DISALLOW_COPY_AND_ASSIGN(AdbWebSocket);
-};
-
-#endif // CHROME_BROWSER_DEVTOOLS_ADB_WEB_SOCKET_H_
diff --git a/chrome/browser/devtools/android_device.cc b/chrome/browser/devtools/android_device.cc
index ca8a863..eff4235 100644
--- a/chrome/browser/devtools/android_device.cc
+++ b/chrome/browser/devtools/android_device.cc
@@ -40,7 +40,7 @@ const int kLocalDebuggingPort = 9222;
// AdbDeviceImpl --------------------------------------------------------------
-class AdbDeviceImpl : public AndroidDevice {
+class AdbDeviceImpl : public AndroidDeviceManager::Device {
public:
AdbDeviceImpl(const std::string& serial, bool is_connected);
virtual void RunCommand(const std::string& command,
@@ -52,7 +52,7 @@ class AdbDeviceImpl : public AndroidDevice {
};
AdbDeviceImpl::AdbDeviceImpl(const std::string& serial, bool is_connected)
- : AndroidDevice(serial, is_connected) {
+ : Device(serial, is_connected) {
}
void AdbDeviceImpl::RunCommand(const std::string& command,
@@ -73,7 +73,7 @@ void AdbDeviceImpl::OpenSocket(const std::string& name,
// UsbDeviceImpl --------------------------------------------------------------
-class UsbDeviceImpl : public AndroidDevice {
+class UsbDeviceImpl : public AndroidDeviceManager::Device {
public:
explicit UsbDeviceImpl(AndroidUsbDevice* device);
virtual void RunCommand(const std::string& command,
@@ -99,7 +99,7 @@ class UsbDeviceImpl : public AndroidDevice {
UsbDeviceImpl::UsbDeviceImpl(AndroidUsbDevice* device)
- : AndroidDevice(device->serial(), device->is_connected()),
+ : Device(device->serial(), device->is_connected()),
device_(device) {
device_->InitOnCallerThread();
}
@@ -168,7 +168,7 @@ void UsbDeviceImpl::OnRead(net::StreamSocket* socket,
// AdbDeviceProvider -------------------------------------------
-class AdbDeviceProvider : public AndroidDeviceProvider {
+class AdbDeviceProvider : public AndroidDeviceManager::DeviceProvider {
public:
virtual void QueryDevices(const QueryDevicesCallback& callback) OVERRIDE;
private:
@@ -190,8 +190,7 @@ void AdbDeviceProvider::QueryDevices(const QueryDevicesCallback& callback) {
void AdbDeviceProvider::ReceivedAdbDevices(const QueryDevicesCallback& callback,
int result_code,
const std::string& response) {
- AndroidDevices result;
-
+ AndroidDeviceManager::Devices result;
std::vector<std::string> serials;
Tokenize(response, "\n", &serials);
for (size_t i = 0; i < serials.size(); ++i) {
@@ -205,7 +204,7 @@ void AdbDeviceProvider::ReceivedAdbDevices(const QueryDevicesCallback& callback,
// UsbDeviceProvider -------------------------------------------
-class UsbDeviceProvider : public AndroidDeviceProvider {
+class UsbDeviceProvider : public AndroidDeviceManager::DeviceProvider {
public:
explicit UsbDeviceProvider(Profile* profile);
@@ -232,7 +231,7 @@ void UsbDeviceProvider::QueryDevices(const QueryDevicesCallback& callback) {
void UsbDeviceProvider::EnumeratedDevices(const QueryDevicesCallback& callback,
const AndroidUsbDevices& devices) {
- AndroidDevices result;
+ AndroidDeviceManager::Devices result;
for (AndroidUsbDevices::const_iterator it = devices.begin();
it != devices.end(); ++it)
result.push_back(new UsbDeviceImpl(*it));
@@ -241,35 +240,34 @@ void UsbDeviceProvider::EnumeratedDevices(const QueryDevicesCallback& callback,
} // namespace
-// AndroidDevice -------------------------------------------
-
-AndroidDevice::AndroidDevice(const std::string& serial, bool is_connected)
+AndroidDeviceManager::Device::Device(const std::string& serial,
+ bool is_connected)
: serial_(serial),
is_connected_(is_connected) {
}
-void AndroidDevice::HttpQuery(
+void AndroidDeviceManager::Device::HttpQuery(
const std::string& la_name,
const std::string& request,
const CommandCallback& callback) {
DCHECK(CalledOnValidThread());
- OpenSocket(la_name, base::Bind(&AndroidDevice::OnHttpSocketOpened, this,
- request, callback));
+ OpenSocket(la_name, base::Bind(
+ &Device::OnHttpSocketOpened, this, request, callback));
}
-void AndroidDevice::HttpUpgrade(
+void AndroidDeviceManager::Device::HttpUpgrade(
const std::string& la_name,
const std::string& request,
const SocketCallback& callback) {
DCHECK(CalledOnValidThread());
- OpenSocket(la_name, base::Bind(&AndroidDevice::OnHttpSocketOpened2, this,
- request, callback));
+ OpenSocket(la_name, base::Bind(
+ &Device::OnHttpSocketOpened2, this, request, callback));
}
-AndroidDevice::~AndroidDevice() {
+AndroidDeviceManager::Device::~Device() {
}
-void AndroidDevice::OnHttpSocketOpened(
+void AndroidDeviceManager::Device::OnHttpSocketOpened(
const std::string& request,
const CommandCallback& callback,
int result,
@@ -281,7 +279,7 @@ void AndroidDevice::OnHttpSocketOpened(
AdbClientSocket::HttpQuery(socket, request, callback);
}
-void AndroidDevice::OnHttpSocketOpened2(
+void AndroidDeviceManager::Device::OnHttpSocketOpened2(
const std::string& request,
const SocketCallback& callback,
int result,
@@ -292,29 +290,28 @@ void AndroidDevice::OnHttpSocketOpened2(
}
AdbClientSocket::HttpQuery(socket, request, callback);
}
-// AndroidDeviceProvider ---------------------------------------------------
-AndroidDeviceProvider::AndroidDeviceProvider() {
+AndroidDeviceManager::DeviceProvider::DeviceProvider() {
}
-AndroidDeviceProvider::~AndroidDeviceProvider() {
+AndroidDeviceManager::DeviceProvider::~DeviceProvider() {
}
// static
-scoped_refptr<AndroidDeviceProvider>
- AndroidDeviceProvider::GetUsbDeviceProvider(Profile* profile) {
+scoped_refptr<AndroidDeviceManager::DeviceProvider>
+ AndroidDeviceManager::GetUsbDeviceProvider(Profile* profile) {
return new UsbDeviceProvider(profile);
}
// static
-scoped_refptr<AndroidDeviceProvider>
- AndroidDeviceProvider::GetAdbDeviceProvider() {
+scoped_refptr<AndroidDeviceManager::DeviceProvider>
+ AndroidDeviceManager::GetAdbDeviceProvider() {
return new AdbDeviceProvider();
}
#if defined(DEBUG_DEVTOOLS)
-class SelfAsDevice : public AndroidDevice {
+class SelfAsDevice : public AndroidDeviceManager::Device {
public:
SelfAsDevice();
virtual void RunCommand(const std::string& command,
@@ -333,7 +330,7 @@ class SelfAsDevice : public AndroidDevice {
};
SelfAsDevice::SelfAsDevice()
- : AndroidDevice("local", true)
+ : Device("local", true)
{}
void SelfAsDevice::RunCommandCallback(const CommandCallback& callback,
@@ -386,7 +383,7 @@ void SelfAsDevice::OpenSocket(const std::string& socket_name,
socket));
}
-class SelfAsDeviceProvider : public AndroidDeviceProvider {
+class SelfAsDeviceProvider : public AndroidDeviceManager::DeviceProvider {
public:
virtual void QueryDevices(const QueryDevicesCallback& callback) OVERRIDE;
private:
@@ -394,14 +391,14 @@ class SelfAsDeviceProvider : public AndroidDeviceProvider {
};
void SelfAsDeviceProvider::QueryDevices(const QueryDevicesCallback& callback) {
- AndroidDevices result;
+ AndroidDeviceManager::Devices result;
result.push_back(new SelfAsDevice());
callback.Run(result);
}
// static
-scoped_refptr<AndroidDeviceProvider>
-AndroidDeviceProvider::GetSelfAsDeviceProvider() {
+scoped_refptr<AndroidDeviceManager::DeviceProvider>
+AndroidDeviceManager::GetSelfAsDeviceProvider() {
return new SelfAsDeviceProvider();
}
#endif
@@ -416,7 +413,7 @@ void AndroidDeviceManager::QueryDevices(
const QueryDevicesCallback& callback) {
DCHECK(CalledOnValidThread());
stopped_ = false;
- AndroidDeviceProvider::AndroidDevices empty;
+ Devices empty;
QueryNextProvider(callback, providers, empty, empty);
}
@@ -428,16 +425,16 @@ void AndroidDeviceManager::Stop() {
bool AndroidDeviceManager::IsConnected(const std::string& serial) {
DCHECK(CalledOnValidThread());
- AndroidDevice* device = FindDevice(serial);
+ Device* device = FindDevice(serial);
return device && device->is_connected();
}
void AndroidDeviceManager::RunCommand(
const std::string& serial,
const std::string& command,
- const AndroidDevice::CommandCallback& callback) {
+ const CommandCallback& callback) {
DCHECK(CalledOnValidThread());
- AndroidDevice* device = FindDevice(serial);
+ Device* device = FindDevice(serial);
if (device)
device->RunCommand(command, callback);
else
@@ -447,9 +444,9 @@ void AndroidDeviceManager::RunCommand(
void AndroidDeviceManager::OpenSocket(
const std::string& serial,
const std::string& socket_name,
- const AndroidDevice::SocketCallback& callback) {
+ const SocketCallback& callback) {
DCHECK(CalledOnValidThread());
- AndroidDevice* device = FindDevice(serial);
+ Device* device = FindDevice(serial);
if (device)
device->OpenSocket(socket_name, callback);
else
@@ -460,9 +457,9 @@ void AndroidDeviceManager::HttpQuery(
const std::string& serial,
const std::string& la_name,
const std::string& request,
- const AndroidDevice::CommandCallback& callback) {
+ const CommandCallback& callback) {
DCHECK(CalledOnValidThread());
- AndroidDevice* device = FindDevice(serial);
+ Device* device = FindDevice(serial);
if (device)
device->HttpQuery(la_name, request, callback);
else
@@ -473,9 +470,9 @@ void AndroidDeviceManager::HttpUpgrade(
const std::string& serial,
const std::string& la_name,
const std::string& request,
- const AndroidDevice::SocketCallback& callback) {
+ const SocketCallback& callback) {
DCHECK(CalledOnValidThread());
- AndroidDevice* device = FindDevice(serial);
+ Device* device = FindDevice(serial);
if (device)
device->HttpUpgrade(la_name, request, callback);
else
@@ -492,22 +489,22 @@ AndroidDeviceManager::~AndroidDeviceManager() {
void AndroidDeviceManager::QueryNextProvider(
const QueryDevicesCallback& callback,
const DeviceProviders& providers,
- const AndroidDeviceProvider::AndroidDevices& total_devices,
- const AndroidDeviceProvider::AndroidDevices& new_devices) {
+ const Devices& total_devices,
+ const Devices& new_devices) {
DCHECK(CalledOnValidThread());
if (stopped_)
return;
- AndroidDeviceProvider::AndroidDevices more_devices(total_devices);
+ Devices more_devices(total_devices);
more_devices.insert(
more_devices.end(), new_devices.begin(), new_devices.end());
if (providers.empty()) {
std::vector<std::string> serials;
devices_.clear();
- for (AndroidDeviceProvider::AndroidDevices::const_iterator it =
- more_devices.begin(); it != more_devices.end(); ++it) {
+ for (Devices::const_iterator it = more_devices.begin();
+ it != more_devices.end(); ++it) {
devices_[(*it)->serial()] = *it;
serials.push_back((*it)->serial());
}
@@ -515,7 +512,7 @@ void AndroidDeviceManager::QueryNextProvider(
return;
}
- scoped_refptr<AndroidDeviceProvider> current_provider = providers.back();
+ scoped_refptr<DeviceProvider> current_provider = providers.back();
DeviceProviders less_providers = providers;
less_providers.pop_back();
current_provider->QueryDevices(
@@ -523,7 +520,8 @@ void AndroidDeviceManager::QueryNextProvider(
this, callback, less_providers, more_devices));
}
-AndroidDevice* AndroidDeviceManager::FindDevice(const std::string& serial) {
+AndroidDeviceManager::Device*
+AndroidDeviceManager::FindDevice(const std::string& serial) {
DCHECK(CalledOnValidThread());
DeviceMap::const_iterator it = devices_.find(serial);
if (it == devices_.end())
diff --git a/chrome/browser/devtools/android_device.h b/chrome/browser/devtools/android_device.h
index e7a3c9e..6e642d44 100644
--- a/chrome/browser/devtools/android_device.h
+++ b/chrome/browser/devtools/android_device.h
@@ -15,93 +15,89 @@
#include "crypto/rsa_private_key.h"
#include "net/socket/stream_socket.h"
-class AndroidDeviceManager;
-
-class AndroidDevice : public base::RefCounted<AndroidDevice>,
- public base::NonThreadSafe {
- protected:
- friend class AndroidDeviceManager;
-
+class AndroidDeviceManager : public base::RefCounted<AndroidDeviceManager>,
+ public base::NonThreadSafe {
+ public:
typedef base::Callback<void(int, const std::string&)> CommandCallback;
typedef base::Callback<void(int result, net::StreamSocket*)> SocketCallback;
- AndroidDevice(const std::string& serial, bool is_connected);
+ class Device : public base::RefCounted<Device>,
+ public base::NonThreadSafe {
+ protected:
+ friend class AndroidDeviceManager;
- virtual void RunCommand(const std::string& command,
- const CommandCallback& callback) = 0;
- virtual void OpenSocket(const std::string& socket_name,
- const SocketCallback& callback) = 0;
- virtual void HttpQuery(const std::string& la_name,
- const std::string& request,
- const CommandCallback& callback);
- void HttpUpgrade(const std::string& la_name,
- const std::string& request,
- const SocketCallback& callback);
+ typedef AndroidDeviceManager::CommandCallback CommandCallback;
+ typedef AndroidDeviceManager::SocketCallback SocketCallback;
- std::string serial() { return serial_; }
- bool is_connected() { return is_connected_; }
+ Device(const std::string& serial, bool is_connected);
- friend class base::RefCounted<AndroidDevice>;
- virtual ~AndroidDevice();
+ virtual void RunCommand(const std::string& command,
+ const CommandCallback& callback) = 0;
+ virtual void OpenSocket(const std::string& socket_name,
+ const SocketCallback& callback) = 0;
+ virtual void HttpQuery(const std::string& la_name,
+ const std::string& request,
+ const CommandCallback& callback);
+ void HttpUpgrade(const std::string& la_name,
+ const std::string& request,
+ const SocketCallback& callback);
- private:
- void OnHttpSocketOpened(const std::string& request,
- const CommandCallback& callback,
- int result,
- net::StreamSocket* socket);
- void OnHttpSocketOpened2(const std::string& request,
- const SocketCallback& callback,
- int result,
- net::StreamSocket* socket);
-
- const std::string serial_;
- const bool is_connected_;
-
- DISALLOW_COPY_AND_ASSIGN(AndroidDevice);
-};
+ std::string serial() { return serial_; }
+ bool is_connected() { return is_connected_; }
+
+ friend class base::RefCounted<Device>;
+ virtual ~Device();
+
+ private:
+ void OnHttpSocketOpened(const std::string& request,
+ const CommandCallback& callback,
+ int result,
+ net::StreamSocket* socket);
+ void OnHttpSocketOpened2(const std::string& request,
+ const SocketCallback& callback,
+ int result,
+ net::StreamSocket* socket);
+
+ const std::string serial_;
+ const bool is_connected_;
+
+ DISALLOW_COPY_AND_ASSIGN(Device);
+ };
+ typedef std::vector<scoped_refptr<Device> > Devices;
-class AndroidDeviceProvider
- : public base::RefCountedThreadSafe<
- AndroidDeviceProvider,
- content::BrowserThread::DeleteOnUIThread> {
- protected:
- friend class AndroidDeviceManager;
+ class DeviceProvider
+ : public base::RefCountedThreadSafe<
+ DeviceProvider,
+ content::BrowserThread::DeleteOnUIThread> {
+ protected:
+ friend class AndroidDeviceManager;
- typedef std::vector<scoped_refptr<AndroidDevice> > AndroidDevices;
- typedef base::Callback<void(const AndroidDevices&)> QueryDevicesCallback;
+ typedef base::Callback<void(const Devices&)> QueryDevicesCallback;
- virtual void QueryDevices(const QueryDevicesCallback& callback) = 0;
+ virtual void QueryDevices(const QueryDevicesCallback& callback) = 0;
+
+ protected:
+ friend struct
+ content::BrowserThread::DeleteOnThread<content::BrowserThread::UI>;
+ friend class base::DeleteHelper<DeviceProvider>;
+
+ DeviceProvider();
+ virtual ~DeviceProvider();
+ };
public:
- static scoped_refptr<AndroidDeviceProvider> GetAdbDeviceProvider();
- static scoped_refptr<AndroidDeviceProvider>
- GetUsbDeviceProvider(Profile* profile);
+ static scoped_refptr<DeviceProvider> GetAdbDeviceProvider();
+ static scoped_refptr<DeviceProvider> GetUsbDeviceProvider(Profile* profile);
#if defined(DEBUG_DEVTOOLS)
- static scoped_refptr<AndroidDeviceProvider> GetSelfAsDeviceProvider();
+ static scoped_refptr<DeviceProvider> GetSelfAsDeviceProvider();
#endif
// Implemented in browser_tests.
- static scoped_refptr<AndroidDeviceProvider> GetMockDeviceProviderForTest();
-
- protected:
- friend struct
- content::BrowserThread::DeleteOnThread<content::BrowserThread::UI>;
- friend class base::DeleteHelper<AndroidDeviceProvider>;
+ static scoped_refptr<DeviceProvider> GetMockDeviceProviderForTest();
- AndroidDeviceProvider();
- virtual ~AndroidDeviceProvider();
-};
-
-class AndroidDeviceManager : public base::RefCounted<AndroidDeviceManager>,
- public base::NonThreadSafe {
- public:
static scoped_refptr<AndroidDeviceManager> Create();
- typedef base::Callback<void(int, const std::string&)> CommandCallback;
- typedef base::Callback<void(int result, net::StreamSocket*)> SocketCallback;
-
- typedef std::vector<scoped_refptr<AndroidDeviceProvider> > DeviceProviders;
-
+ typedef std::vector<scoped_refptr<DeviceProvider> > DeviceProviders;
typedef base::Callback<void (const std::vector<std::string>&)>
QueryDevicesCallback;
@@ -140,12 +136,12 @@ class AndroidDeviceManager : public base::RefCounted<AndroidDeviceManager>,
void QueryNextProvider(
const QueryDevicesCallback& callback,
const DeviceProviders& providers,
- const AndroidDeviceProvider::AndroidDevices& total_devices,
- const AndroidDeviceProvider::AndroidDevices& new_devices);
+ const Devices& total_devices,
+ const Devices& new_devices);
- AndroidDevice* FindDevice(const std::string& serial);
+ Device* FindDevice(const std::string& serial);
- typedef std::map<std::string, scoped_refptr<AndroidDevice> > DeviceMap;
+ typedef std::map<std::string, scoped_refptr<Device> > DeviceMap;
DeviceMap devices_;
bool stopped_;
diff --git a/chrome/browser/devtools/devtools_adb_bridge.cc b/chrome/browser/devtools/devtools_adb_bridge.cc
index e73fa78..d12a25c 100644
--- a/chrome/browser/devtools/devtools_adb_bridge.cc
+++ b/chrome/browser/devtools/devtools_adb_bridge.cc
@@ -237,7 +237,7 @@ class AdbPagesCommand : public base::RefCountedThreadSafe<
scoped_refptr<DevToolsAdbBridge> adb_bridge,
AndroidDeviceManager* device_manager,
base::MessageLoop* device_message_loop,
- const DevToolsAdbBridge::DeviceProviders& device_providers,
+ const AndroidDeviceManager::DeviceProviders& device_providers,
const Callback& callback);
private:
@@ -295,7 +295,7 @@ AdbPagesCommand::AdbPagesCommand(
scoped_refptr<DevToolsAdbBridge> adb_bridge,
AndroidDeviceManager* device_manager,
base::MessageLoop* device_message_loop,
- const DevToolsAdbBridge::DeviceProviders& device_providers,
+ const AndroidDeviceManager::DeviceProviders& device_providers,
const Callback& callback)
: adb_bridge_(adb_bridge),
device_manager_(device_manager),
@@ -1063,6 +1063,52 @@ void DevToolsAdbBridge::RemoteDevice::OpenSocket(
DevToolsAdbBridge::RemoteDevice::~RemoteDevice() {
}
+// DevToolsAdbBridge::RefCountedAdbThread -------------------------------------
+
+const char kDevToolsAdbBridgeThreadName[] = "Chrome_DevToolsADBThread";
+
+DevToolsAdbBridge::RefCountedAdbThread*
+DevToolsAdbBridge::RefCountedAdbThread::instance_ = NULL;
+
+// static
+scoped_refptr<DevToolsAdbBridge::RefCountedAdbThread>
+DevToolsAdbBridge::RefCountedAdbThread::GetInstance() {
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ if (!instance_)
+ new RefCountedAdbThread();
+ return instance_;
+}
+
+DevToolsAdbBridge::RefCountedAdbThread::RefCountedAdbThread() {
+ instance_ = this;
+ thread_ = new base::Thread(kDevToolsAdbBridgeThreadName);
+ base::Thread::Options options;
+ options.message_loop_type = base::MessageLoop::TYPE_IO;
+ if (!thread_->StartWithOptions(options)) {
+ delete thread_;
+ thread_ = NULL;
+ }
+}
+
+base::MessageLoop* DevToolsAdbBridge::RefCountedAdbThread::message_loop() {
+ return thread_ ? thread_->message_loop() : NULL;
+}
+
+// static
+void DevToolsAdbBridge::RefCountedAdbThread::StopThread(base::Thread* thread) {
+ thread->Stop();
+}
+
+DevToolsAdbBridge::RefCountedAdbThread::~RefCountedAdbThread() {
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ instance_ = NULL;
+ if (!thread_)
+ return;
+ // Shut down thread on FILE thread to join into IO.
+ BrowserThread::PostTask(
+ BrowserThread::FILE, FROM_HERE,
+ base::Bind(&RefCountedAdbThread::StopThread, thread_));
+}
// DevToolsAdbBridge ----------------------------------------------------------
@@ -1159,11 +1205,11 @@ void DevToolsAdbBridge::ReceivedRemoteDevices(RemoteDevices* devices_ptr) {
}
void DevToolsAdbBridge::CreateDeviceProviders() {
- DevToolsAdbBridge::DeviceProviders device_providers;
+ device_providers_.clear();
#if defined(DEBUG_DEVTOOLS)
- device_providers.push_back(AndroidDeviceProvider::GetSelfAsDeviceProvider());
+ device_providers_.push_back(AndroidDeviceManager::GetSelfAsDeviceProvider());
#endif
- device_providers.push_back(AndroidDeviceProvider::GetAdbDeviceProvider());
+ device_providers_.push_back(AndroidDeviceManager::GetAdbDeviceProvider());
PrefService* service = profile_->GetPrefs();
const PrefService::Preference* pref =
@@ -1172,9 +1218,7 @@ void DevToolsAdbBridge::CreateDeviceProviders() {
bool enabled;
if (pref_value->GetAsBoolean(&enabled) && enabled) {
- device_providers.push_back(
- AndroidDeviceProvider::GetUsbDeviceProvider(profile_));
+ device_providers_.push_back(
+ AndroidDeviceManager::GetUsbDeviceProvider(profile_));
}
-
- set_device_providers(device_providers);
}
diff --git a/chrome/browser/devtools/devtools_adb_bridge.h b/chrome/browser/devtools/devtools_adb_bridge.h
index ba5c5aa..b2b83ca 100644
--- a/chrome/browser/devtools/devtools_adb_bridge.h
+++ b/chrome/browser/devtools/devtools_adb_bridge.h
@@ -13,7 +13,6 @@
#include "base/memory/scoped_ptr.h"
#include "base/prefs/pref_change_registrar.h"
#include "chrome/browser/devtools/android_device.h"
-#include "chrome/browser/devtools/refcounted_adb_thread.h"
#include "components/keyed_service/content/browser_context_keyed_service_factory.h"
#include "components/keyed_service/core/keyed_service.h"
#include "ui/gfx/size.h"
@@ -48,7 +47,6 @@ class DevToolsAdbBridge
public:
typedef base::Callback<void(int result,
const std::string& response)> Callback;
- typedef std::vector<scoped_refptr<AndroidDeviceProvider> > DeviceProviders;
class Wrapper : public KeyedService {
public:
@@ -212,7 +210,8 @@ class DevToolsAdbBridge
void AddListener(Listener* listener);
void RemoveListener(Listener* listener);
- void set_device_providers(DeviceProviders device_providers) {
+ void set_device_providers_for_test(
+ const AndroidDeviceManager::DeviceProviders& device_providers) {
device_providers_ = device_providers;
}
@@ -223,6 +222,22 @@ class DevToolsAdbBridge
content::BrowserThread::UI>;
friend class base::DeleteHelper<DevToolsAdbBridge>;
+ class RefCountedAdbThread
+ : public base::RefCountedThreadSafe<RefCountedAdbThread> {
+ public:
+ static scoped_refptr<RefCountedAdbThread> GetInstance();
+ base::MessageLoop* message_loop();
+
+ private:
+ friend class base::RefCountedThreadSafe<RefCountedAdbThread>;
+ static RefCountedAdbThread* instance_;
+ static void StopThread(base::Thread* thread);
+
+ RefCountedAdbThread();
+ virtual ~RefCountedAdbThread();
+ base::Thread* thread_;
+ };
+
virtual ~DevToolsAdbBridge();
base::MessageLoop* device_message_loop() {
@@ -243,7 +258,7 @@ class DevToolsAdbBridge
scoped_refptr<AndroidDeviceManager> device_manager_;
typedef std::vector<Listener*> Listeners;
Listeners listeners_;
- DeviceProviders device_providers_;
+ AndroidDeviceManager::DeviceProviders device_providers_;
PrefChangeRegistrar pref_change_registrar_;
DISALLOW_COPY_AND_ASSIGN(DevToolsAdbBridge);
};
diff --git a/chrome/browser/devtools/devtools_adb_bridge_browsertest.cc b/chrome/browser/devtools/devtools_adb_bridge_browsertest.cc
index 52d45d4..d5a8261 100644
--- a/chrome/browser/devtools/devtools_adb_bridge_browsertest.cc
+++ b/chrome/browser/devtools/devtools_adb_bridge_browsertest.cc
@@ -124,11 +124,11 @@ char kSampleWebViewPages[] = "[ {\n"
"44681551-ADFD-2411-076B-3AB14C1C60E2\"\n"
"}]";
-class MockDeviceImpl : public AndroidDevice {
+class MockDeviceImpl : public AndroidDeviceManager::Device {
public:
MockDeviceImpl(const std::string& serial, int index,
bool connected, const char* device_model)
- : AndroidDevice(serial, connected),
+ : Device(serial, connected),
device_model_(device_model)
{}
@@ -235,12 +235,12 @@ class MockDeviceImpl : public AndroidDevice {
const char* device_model_;
};
-class MockDeviceProvider : public AndroidDeviceProvider {
+class MockDeviceProvider : public AndroidDeviceManager::DeviceProvider {
virtual ~MockDeviceProvider()
{}
virtual void QueryDevices(const QueryDevicesCallback& callback) OVERRIDE {
- AndroidDeviceProvider::AndroidDevices devices;
+ AndroidDeviceManager::Devices devices;
devices.push_back(new MockDeviceImpl("FirstDevice", 0, true, "Nexus 6"));
devices.push_back(new MockDeviceImpl("SecondDevice", 1, false, "Nexus 8"));
callback.Run(devices);
@@ -248,8 +248,8 @@ class MockDeviceProvider : public AndroidDeviceProvider {
};
// static
-scoped_refptr<AndroidDeviceProvider>
-AndroidDeviceProvider::GetMockDeviceProviderForTest() {
+scoped_refptr<AndroidDeviceManager::DeviceProvider>
+AndroidDeviceManager::GetMockDeviceProviderForTest() {
return new MockDeviceProvider();
}
@@ -360,10 +360,10 @@ IN_PROC_BROWSER_TEST_F(DevToolsAdbBridgeTest, DiscoverAndroidBrowsers) {
scoped_refptr<DevToolsAdbBridge> adb_bridge =
DevToolsAdbBridge::Factory::GetForProfile(browser()->profile());
- DevToolsAdbBridge::DeviceProviders providers;
- providers.push_back(AndroidDeviceProvider::GetMockDeviceProviderForTest());
+ AndroidDeviceManager::DeviceProviders providers;
+ providers.push_back(AndroidDeviceManager::GetMockDeviceProviderForTest());
- adb_bridge->set_device_providers(providers);
+ adb_bridge->set_device_providers_for_test(providers);
if (!adb_bridge) {
FAIL() << "Failed to get DevToolsAdbBridge.";
diff --git a/chrome/browser/devtools/refcounted_adb_thread.cc b/chrome/browser/devtools/refcounted_adb_thread.cc
deleted file mode 100644
index 4a202ae..0000000
--- a/chrome/browser/devtools/refcounted_adb_thread.cc
+++ /dev/null
@@ -1,52 +0,0 @@
-// Copyright 2013 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/browser/devtools/refcounted_adb_thread.h"
-
-#include "content/public/browser/browser_thread.h"
-
-using content::BrowserThread;
-
-const char kDevToolsAdbBridgeThreadName[] = "Chrome_DevToolsADBThread";
-
-RefCountedAdbThread* RefCountedAdbThread::instance_ = NULL;
-
-// static
-scoped_refptr<RefCountedAdbThread> RefCountedAdbThread::GetInstance() {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- if (!instance_)
- new RefCountedAdbThread();
- return instance_;
-}
-
-RefCountedAdbThread::RefCountedAdbThread() {
- instance_ = this;
- thread_ = new base::Thread(kDevToolsAdbBridgeThreadName);
- base::Thread::Options options;
- options.message_loop_type = base::MessageLoop::TYPE_IO;
- if (!thread_->StartWithOptions(options)) {
- delete thread_;
- thread_ = NULL;
- }
-}
-
-base::MessageLoop* RefCountedAdbThread::message_loop() {
- return thread_ ? thread_->message_loop() : NULL;
-}
-
-// static
-void RefCountedAdbThread::StopThread(base::Thread* thread) {
- thread->Stop();
-}
-
-RefCountedAdbThread::~RefCountedAdbThread() {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- instance_ = NULL;
- if (!thread_)
- return;
- // Shut down thread on FILE thread to join into IO.
- BrowserThread::PostTask(
- BrowserThread::FILE, FROM_HERE,
- base::Bind(&RefCountedAdbThread::StopThread, thread_));
-}
diff --git a/chrome/browser/devtools/refcounted_adb_thread.h b/chrome/browser/devtools/refcounted_adb_thread.h
deleted file mode 100644
index 619a2d4..0000000
--- a/chrome/browser/devtools/refcounted_adb_thread.h
+++ /dev/null
@@ -1,28 +0,0 @@
-// Copyright 2013 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef CHROME_BROWSER_DEVTOOLS_REFCOUNTED_ADB_THREAD_H_
-#define CHROME_BROWSER_DEVTOOLS_REFCOUNTED_ADB_THREAD_H_
-
-#include "base/memory/ref_counted.h"
-#include "base/message_loop/message_loop.h"
-#include "base/threading/thread.h"
-
-class RefCountedAdbThread
- : public base::RefCountedThreadSafe<RefCountedAdbThread> {
- public:
- static scoped_refptr<RefCountedAdbThread> GetInstance();
- base::MessageLoop* message_loop();
-
- private:
- friend class base::RefCountedThreadSafe<RefCountedAdbThread>;
- static RefCountedAdbThread* instance_;
- static void StopThread(base::Thread* thread);
-
- RefCountedAdbThread();
- virtual ~RefCountedAdbThread();
- base::Thread* thread_;
-};
-
-#endif // CHROME_BROWSER_DEVTOOLS_REFCOUNTED_ADB_THREAD_H_
diff --git a/chrome/browser/ui/webui/inspect_ui_browsertest.cc b/chrome/browser/ui/webui/inspect_ui_browsertest.cc
index 5c3ceb0..eec7d2e 100644
--- a/chrome/browser/ui/webui/inspect_ui_browsertest.cc
+++ b/chrome/browser/ui/webui/inspect_ui_browsertest.cc
@@ -70,9 +70,9 @@ IN_PROC_BROWSER_TEST_F(InspectUITest, SharedWorker) {
IN_PROC_BROWSER_TEST_F(InspectUITest, AdbTargets) {
scoped_refptr<DevToolsAdbBridge> adb_bridge =
DevToolsAdbBridge::Factory::GetForProfile(browser()->profile());
- DevToolsAdbBridge::DeviceProviders providers;
- providers.push_back(AndroidDeviceProvider::GetMockDeviceProviderForTest());
- adb_bridge->set_device_providers(providers);
+ AndroidDeviceManager::DeviceProviders providers;
+ providers.push_back(AndroidDeviceManager::GetMockDeviceProviderForTest());
+ adb_bridge->set_device_providers_for_test(providers);
ui_test_utils::NavigateToURL(browser(), GURL(chrome::kChromeUIInspectURL));
diff --git a/chrome/chrome.gyp b/chrome/chrome.gyp
index fad56ee..f1f2524 100644
--- a/chrome/chrome.gyp
+++ b/chrome/chrome.gyp
@@ -186,8 +186,6 @@
'browser/devtools/devtools_window.h',
'browser/devtools/port_forwarding_controller.cc',
'browser/devtools/port_forwarding_controller.h',
- 'browser/devtools/refcounted_adb_thread.cc',
- 'browser/devtools/refcounted_adb_thread.h',
'browser/devtools/remote_debugging_server.cc',
'browser/devtools/remote_debugging_server.h',
],