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 |