| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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/devtools_adb_bridge.h" | 5 #include "chrome/browser/devtools/devtools_adb_bridge.h" |
| 6 | 6 |
| 7 #include <map> | 7 #include <map> |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "base/base64.h" | 10 #include "base/base64.h" |
| (...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 269 void ReceivedVersion(int result, | 269 void ReceivedVersion(int result, |
| 270 const std::string& response) { | 270 const std::string& response) { |
| 271 DCHECK_EQ(bridge_->GetAdbMessageLoop(), base::MessageLoop::current()); | 271 DCHECK_EQ(bridge_->GetAdbMessageLoop(), base::MessageLoop::current()); |
| 272 if (result < 0) { | 272 if (result < 0) { |
| 273 sockets_.pop_back(); | 273 sockets_.pop_back(); |
| 274 ProcessSockets(); | 274 ProcessSockets(); |
| 275 return; | 275 return; |
| 276 } | 276 } |
| 277 | 277 |
| 278 // Parse version, append to package name if available, | 278 // Parse version, append to package name if available, |
| 279 std::string body = response.substr(result); | 279 scoped_ptr<base::Value> value(base::JSONReader::Read(response)); |
| 280 scoped_ptr<base::Value> value(base::JSONReader::Read(body)); | |
| 281 base::DictionaryValue* dict; | 280 base::DictionaryValue* dict; |
| 282 if (value && value->GetAsDictionary(&dict)) { | 281 if (value && value->GetAsDictionary(&dict)) { |
| 283 std::string browser; | 282 std::string browser; |
| 284 if (dict->GetString("Browser", &browser)) { | 283 if (dict->GetString("Browser", &browser)) { |
| 285 socket_to_package_[sockets_.back()] = base::StringPrintf( | 284 socket_to_package_[sockets_.back()] = base::StringPrintf( |
| 286 "%s (%s)", socket_to_package_[sockets_.back()].c_str(), | 285 "%s (%s)", socket_to_package_[sockets_.back()].c_str(), |
| 287 browser.c_str()); | 286 browser.c_str()); |
| 288 } | 287 } |
| 289 } | 288 } |
| 290 | 289 |
| 291 scoped_refptr<DevToolsAdbBridge::AndroidDevice> device = devices_.back(); | 290 scoped_refptr<DevToolsAdbBridge::AndroidDevice> device = devices_.back(); |
| 292 device->HttpQuery(sockets_.back(), kPageListRequest, | 291 device->HttpQuery(sockets_.back(), kPageListRequest, |
| 293 base::Bind(&AdbPagesCommand::ReceivedPages, this)); | 292 base::Bind(&AdbPagesCommand::ReceivedPages, this)); |
| 294 } | 293 } |
| 295 | 294 |
| 296 void ReceivedPages(int result, | 295 void ReceivedPages(int result, |
| 297 const std::string& response) { | 296 const std::string& response) { |
| 298 DCHECK_EQ(bridge_->GetAdbMessageLoop(), base::MessageLoop::current()); | 297 DCHECK_EQ(bridge_->GetAdbMessageLoop(), base::MessageLoop::current()); |
| 299 std::string socket = sockets_.back(); | 298 std::string socket = sockets_.back(); |
| 300 sockets_.pop_back(); | 299 sockets_.pop_back(); |
| 301 if (result < 0) { | 300 if (result < 0) { |
| 302 ProcessSockets(); | 301 ProcessSockets(); |
| 303 return; | 302 return; |
| 304 } | 303 } |
| 305 | 304 |
| 306 std::string body = response.substr(result); | 305 scoped_ptr<base::Value> value(base::JSONReader::Read(response)); |
| 307 scoped_ptr<base::Value> value(base::JSONReader::Read(body)); | |
| 308 base::ListValue* list_value; | 306 base::ListValue* list_value; |
| 309 if (!value || !value->GetAsList(&list_value)) { | 307 if (!value || !value->GetAsList(&list_value)) { |
| 310 ProcessSockets(); | 308 ProcessSockets(); |
| 311 return; | 309 return; |
| 312 } | 310 } |
| 313 | 311 |
| 314 scoped_refptr<DevToolsAdbBridge::AndroidDevice> device = devices_.back(); | 312 scoped_refptr<DevToolsAdbBridge::AndroidDevice> device = devices_.back(); |
| 315 base::Value* item; | 313 base::Value* item; |
| 316 | 314 |
| 317 scoped_refptr<DevToolsAdbBridge::RemoteBrowser> remote_browser = | 315 scoped_refptr<DevToolsAdbBridge::RemoteBrowser> remote_browser = |
| (...skipping 465 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 783 | 781 |
| 784 if (listeners_.empty()) | 782 if (listeners_.empty()) |
| 785 return; | 783 return; |
| 786 | 784 |
| 787 BrowserThread::PostDelayedTask( | 785 BrowserThread::PostDelayedTask( |
| 788 BrowserThread::UI, | 786 BrowserThread::UI, |
| 789 FROM_HERE, | 787 FROM_HERE, |
| 790 base::Bind(&DevToolsAdbBridge::RequestRemoteDevices, this), | 788 base::Bind(&DevToolsAdbBridge::RequestRemoteDevices, this), |
| 791 base::TimeDelta::FromMilliseconds(kAdbPollingIntervalMs)); | 789 base::TimeDelta::FromMilliseconds(kAdbPollingIntervalMs)); |
| 792 } | 790 } |
| OLD | NEW |