Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 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_targets_ui.h" | 5 #include "chrome/browser/devtools/devtools_targets_ui.h" |
| 6 | 6 |
| 7 #include "base/memory/weak_ptr.h" | 7 #include "base/memory/weak_ptr.h" |
| 8 #include "base/stl_util.h" | 8 #include "base/stl_util.h" |
| 9 #include "base/strings/stringprintf.h" | 9 #include "base/strings/stringprintf.h" |
| 10 #include "base/values.h" | 10 #include "base/values.h" |
| (...skipping 297 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 308 DevToolsAndroidBridge::RemotePage* page) { | 308 DevToolsAndroidBridge::RemotePage* page) { |
| 309 scoped_ptr<DevToolsAndroidBridge::RemotePage> my_page(page); | 309 scoped_ptr<DevToolsAndroidBridge::RemotePage> my_page(page); |
| 310 callback.Run(my_page ? my_page->GetTarget() : NULL); | 310 callback.Run(my_page ? my_page->GetTarget() : NULL); |
| 311 } | 311 } |
| 312 | 312 |
| 313 void AdbTargetsUIHandler::Open( | 313 void AdbTargetsUIHandler::Open( |
| 314 const std::string& browser_id, | 314 const std::string& browser_id, |
| 315 const std::string& url, | 315 const std::string& url, |
| 316 const DevToolsTargetsUIHandler::TargetCallback& callback) { | 316 const DevToolsTargetsUIHandler::TargetCallback& callback) { |
| 317 RemoteBrowsers::iterator it = remote_browsers_.find(browser_id); | 317 RemoteBrowsers::iterator it = remote_browsers_.find(browser_id); |
| 318 if (it != remote_browsers_.end()) | 318 if (it == remote_browsers_.end()) |
| 319 it->second->Open(url, base::Bind(&CallOnTarget, callback)); | 319 return; |
| 320 | |
| 321 DevToolsAndroidBridge* android_bridge = | |
| 322 DevToolsAndroidBridge::Factory::GetForProfile(profile_); | |
| 323 if (android_bridge) | |
|
dgozman
2014/09/25 14:23:17
This class needs a getter android_bridge().
vkuzkokov
2014/09/25 16:48:47
GetAndroidBridge(). android_bridge() implies trivi
| |
| 324 android_bridge->Open(it->second, url, base::Bind(&CallOnTarget, callback)); | |
| 320 } | 325 } |
| 321 | 326 |
| 322 scoped_refptr<content::DevToolsAgentHost> | 327 scoped_refptr<content::DevToolsAgentHost> |
| 323 AdbTargetsUIHandler::GetBrowserAgentHost( | 328 AdbTargetsUIHandler::GetBrowserAgentHost( |
| 324 const std::string& browser_id) { | 329 const std::string& browser_id) { |
| 325 RemoteBrowsers::iterator it = remote_browsers_.find(browser_id); | 330 RemoteBrowsers::iterator it = remote_browsers_.find(browser_id); |
| 326 return it != remote_browsers_.end() ? it->second->GetAgentHost() : NULL; | 331 if (it == remote_browsers_.end()) |
| 332 return NULL; | |
| 333 | |
| 334 DevToolsAndroidBridge* android_bridge = | |
| 335 DevToolsAndroidBridge::Factory::GetForProfile(profile_); | |
| 336 return android_bridge ? android_bridge->GetAgentHost(it->second) : NULL; | |
| 327 } | 337 } |
| 328 | 338 |
| 329 void AdbTargetsUIHandler::DeviceListChanged( | 339 void AdbTargetsUIHandler::DeviceListChanged( |
| 330 const DevToolsAndroidBridge::RemoteDevices& devices) { | 340 const DevToolsAndroidBridge::RemoteDevices& devices) { |
| 331 remote_browsers_.clear(); | 341 remote_browsers_.clear(); |
| 332 STLDeleteValues(&targets_); | 342 STLDeleteValues(&targets_); |
| 333 | 343 |
| 344 DevToolsAndroidBridge* android_bridge = | |
| 345 DevToolsAndroidBridge::Factory::GetForProfile(profile_); | |
| 346 | |
| 334 base::ListValue device_list; | 347 base::ListValue device_list; |
| 335 for (DevToolsAndroidBridge::RemoteDevices::const_iterator dit = | 348 for (DevToolsAndroidBridge::RemoteDevices::const_iterator dit = |
| 336 devices.begin(); dit != devices.end(); ++dit) { | 349 devices.begin(); dit != devices.end(); ++dit) { |
| 337 DevToolsAndroidBridge::RemoteDevice* device = dit->get(); | 350 DevToolsAndroidBridge::RemoteDevice* device = dit->get(); |
| 338 base::DictionaryValue* device_data = new base::DictionaryValue(); | 351 base::DictionaryValue* device_data = new base::DictionaryValue(); |
| 339 device_data->SetString(kAdbModelField, device->model()); | 352 device_data->SetString(kAdbModelField, device->model()); |
| 340 device_data->SetString(kAdbSerialField, device->serial()); | 353 device_data->SetString(kAdbSerialField, device->serial()); |
| 341 device_data->SetBoolean(kAdbConnectedField, device->is_connected()); | 354 device_data->SetBoolean(kAdbConnectedField, device->is_connected()); |
| 342 std::string device_id = base::StringPrintf( | 355 std::string device_id = base::StringPrintf( |
| 343 kAdbDeviceIdFormat, | 356 kAdbDeviceIdFormat, |
| (...skipping 30 matching lines...) Expand all Loading... | |
| 374 base::Version local_version(version_info.Version()); | 387 base::Version local_version(version_info.Version()); |
| 375 | 388 |
| 376 browser_data->SetBoolean(kCompatibleVersion, | 389 browser_data->SetBoolean(kCompatibleVersion, |
| 377 (!remote_version.IsValid()) || (!local_version.IsValid()) || | 390 (!remote_version.IsValid()) || (!local_version.IsValid()) || |
| 378 remote_version.components()[0] <= local_version.components()[0]); | 391 remote_version.components()[0] <= local_version.components()[0]); |
| 379 | 392 |
| 380 base::ListValue* page_list = new base::ListValue(); | 393 base::ListValue* page_list = new base::ListValue(); |
| 381 remote_browsers_[browser_id] = browser; | 394 remote_browsers_[browser_id] = browser; |
| 382 browser_data->Set(kAdbPagesList, page_list); | 395 browser_data->Set(kAdbPagesList, page_list); |
| 383 std::vector<DevToolsAndroidBridge::RemotePage*> pages = | 396 std::vector<DevToolsAndroidBridge::RemotePage*> pages = |
| 384 browser->CreatePages(); | 397 android_bridge->CreatePages(browser); |
| 385 for (std::vector<DevToolsAndroidBridge::RemotePage*>::iterator it = | 398 for (std::vector<DevToolsAndroidBridge::RemotePage*>::iterator it = |
| 386 pages.begin(); it != pages.end(); ++it) { | 399 pages.begin(); it != pages.end(); ++it) { |
| 387 DevToolsAndroidBridge::RemotePage* page = *it; | 400 DevToolsAndroidBridge::RemotePage* page = *it; |
| 388 DevToolsTargetImpl* target = page->GetTarget(); | 401 DevToolsTargetImpl* target = page->GetTarget(); |
| 389 base::DictionaryValue* target_data = Serialize(*target); | 402 base::DictionaryValue* target_data = Serialize(*target); |
| 390 target_data->SetBoolean( | 403 target_data->SetBoolean( |
| 391 kAdbAttachedForeignField, | 404 kAdbAttachedForeignField, |
| 392 target->IsAttached() && | 405 target->IsAttached() && |
| 393 !DevToolsAndroidBridge::HasDevToolsWindow(target->GetId())); | 406 !DevToolsAndroidBridge::HasDevToolsWindow(target->GetId())); |
| 394 // Pass the screen size in the target object to make sure that | 407 // Pass the screen size in the target object to make sure that |
| (...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 512 base::StringPrintf("%d", it->first), it->second); | 525 base::StringPrintf("%d", it->first), it->second); |
| 513 } | 526 } |
| 514 | 527 |
| 515 std::string device_id = base::StringPrintf( | 528 std::string device_id = base::StringPrintf( |
| 516 kAdbDeviceIdFormat, | 529 kAdbDeviceIdFormat, |
| 517 sit->first.c_str()); | 530 sit->first.c_str()); |
| 518 result.Set(device_id, device_status_dict); | 531 result.Set(device_id, device_status_dict); |
| 519 } | 532 } |
| 520 callback_.Run(result); | 533 callback_.Run(result); |
| 521 } | 534 } |
| OLD | NEW |