Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1292)

Unified Diff: chrome/browser/devtools/devtools_adb_bridge.cc

Issue 26436003: DevTools: display 'Pending authentication' message upon raw usb debugging. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Review comment addressed. Created 7 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/devtools/devtools_adb_bridge.cc
diff --git a/chrome/browser/devtools/devtools_adb_bridge.cc b/chrome/browser/devtools/devtools_adb_bridge.cc
index fd96aab9f4bb86d0a98c793291df97cc5350fcb5..40989f4f817577bcd4335e4d926f0b60a6fc6d2c 100644
--- a/chrome/browser/devtools/devtools_adb_bridge.cc
+++ b/chrome/browser/devtools/devtools_adb_bridge.cc
@@ -84,6 +84,8 @@ class AdbDeviceImpl : public DevToolsAdbBridge::AndroidDevice {
const CommandCallback& callback) OVERRIDE;
virtual void OpenSocket(const std::string& name,
const SocketCallback& callback) OVERRIDE;
+ virtual bool IsConnected() OVERRIDE;
+
private:
virtual ~AdbDeviceImpl() {}
};
@@ -106,6 +108,10 @@ void AdbDeviceImpl::OpenSocket(const std::string& name,
AdbClientSocket::TransportQuery(kAdbPort, serial(), socket_name, callback);
}
+bool AdbDeviceImpl::IsConnected() {
+ return true;
+}
+
// UsbDeviceImpl --------------------------------------------------------------
@@ -116,6 +122,7 @@ class UsbDeviceImpl : public DevToolsAdbBridge::AndroidDevice {
const CommandCallback& callback) OVERRIDE;
virtual void OpenSocket(const std::string& name,
const SocketCallback& callback) OVERRIDE;
+ virtual bool IsConnected() OVERRIDE;
private:
void OnOpenSocket(const SocketCallback& callback,
@@ -201,6 +208,10 @@ void UsbDeviceImpl::OnRead(net::StreamSocket* socket,
OnRead(socket, buffer, new_data, callback, result);
}
+bool UsbDeviceImpl::IsConnected() {
+ return device_->is_connected();
+}
+
// AdbCountDevicesCommand -----------------------------------------------------
@@ -398,8 +409,14 @@ void AdbPagesCommand::ProcessSerials() {
#endif // defined(DEBUG_DEVTOOLS)
scoped_refptr<DevToolsAdbBridge::AndroidDevice> device = devices_.back();
- device->RunCommand(kDeviceModelCommand,
- base::Bind(&AdbPagesCommand::ReceivedModel, this));
+ if (device->IsConnected()) {
+ device->RunCommand(kDeviceModelCommand,
+ base::Bind(&AdbPagesCommand::ReceivedModel, this));
+ } else {
+ remote_devices_->push_back(new DevToolsAdbBridge::RemoteDevice(device));
+ devices_.pop_back();
+ ProcessSerials();
+ }
}
void AdbPagesCommand::ReceivedModel(int result, const std::string& response) {
@@ -639,7 +656,7 @@ void AdbPagesCommand::ParseScreenSize(const std::string& str) {
!base::StringToInt(numbers[1], &height))
return;
- remote_devices_->back()->SetScreenSize(gfx::Size(width, height));
+ remote_devices_->back()->set_screen_size(gfx::Size(width, height));
}
@@ -1036,6 +1053,23 @@ DevToolsAdbBridge::RemoteDevice::RemoteDevice(
: device_(device) {
}
+std::string DevToolsAdbBridge::RemoteDevice::GetSerial() {
+ return device_->serial();
+}
+
+std::string DevToolsAdbBridge::RemoteDevice::GetModel() {
+ return device_->model();
+}
+
+bool DevToolsAdbBridge::RemoteDevice::IsConnected() {
+ return device_->IsConnected();
+}
+
+void DevToolsAdbBridge::RemoteDevice::AddBrowser(
+ scoped_refptr<RemoteBrowser> browser) {
+ browsers_.push_back(browser);
+}
+
DevToolsAdbBridge::RemoteDevice::~RemoteDevice() {
}
« no previous file with comments | « chrome/browser/devtools/devtools_adb_bridge.h ('k') | chrome/browser/devtools/port_forwarding_controller.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698