| 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 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 70 | 70 |
| 71 class CancelableTimer { | 71 class CancelableTimer { |
| 72 public: | 72 public: |
| 73 CancelableTimer(base::Closure callback, base::TimeDelta delay) | 73 CancelableTimer(base::Closure callback, base::TimeDelta delay) |
| 74 : callback_(callback), | 74 : callback_(callback), |
| 75 weak_factory_(this) { | 75 weak_factory_(this) { |
| 76 base::MessageLoop::current()->PostDelayedTask( | 76 base::MessageLoop::current()->PostDelayedTask( |
| 77 FROM_HERE, | 77 FROM_HERE, |
| 78 base::Bind(&CancelableTimer::Fire, weak_factory_.GetWeakPtr()), | 78 base::Bind(&CancelableTimer::Fire, weak_factory_.GetWeakPtr()), |
| 79 delay); | 79 delay); |
| 80 }; | 80 } |
| 81 | 81 |
| 82 private: | 82 private: |
| 83 void Fire() { callback_.Run(); } | 83 void Fire() { callback_.Run(); } |
| 84 | 84 |
| 85 base::Closure callback_; | 85 base::Closure callback_; |
| 86 base::WeakPtrFactory<CancelableTimer> weak_factory_; | 86 base::WeakPtrFactory<CancelableTimer> weak_factory_; |
| 87 }; | 87 }; |
| 88 | 88 |
| 89 // RenderViewHostTargetsUIHandler --------------------------------------------- | 89 // RenderViewHostTargetsUIHandler --------------------------------------------- |
| 90 | 90 |
| (...skipping 246 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 337 : public DevToolsTargetsUIHandler, | 337 : public DevToolsTargetsUIHandler, |
| 338 public DevToolsAndroidBridge::DeviceListListener { | 338 public DevToolsAndroidBridge::DeviceListListener { |
| 339 public: | 339 public: |
| 340 AdbTargetsUIHandler(Callback callback, Profile* profile); | 340 AdbTargetsUIHandler(Callback callback, Profile* profile); |
| 341 virtual ~AdbTargetsUIHandler(); | 341 virtual ~AdbTargetsUIHandler(); |
| 342 | 342 |
| 343 virtual void Open(const std::string& browser_id, | 343 virtual void Open(const std::string& browser_id, |
| 344 const std::string& url, | 344 const std::string& url, |
| 345 const DevToolsTargetsUIHandler::TargetCallback&) OVERRIDE; | 345 const DevToolsTargetsUIHandler::TargetCallback&) OVERRIDE; |
| 346 | 346 |
| 347 virtual scoped_refptr<content::DevToolsAgentHost> GetBrowserAgentHost( |
| 348 const std::string& browser_id) OVERRIDE; |
| 349 |
| 347 private: | 350 private: |
| 348 // DevToolsAndroidBridge::Listener overrides. | 351 // DevToolsAndroidBridge::Listener overrides. |
| 349 virtual void DeviceListChanged( | 352 virtual void DeviceListChanged( |
| 350 const DevToolsAndroidBridge::RemoteDevices& devices) OVERRIDE; | 353 const DevToolsAndroidBridge::RemoteDevices& devices) OVERRIDE; |
| 351 | 354 |
| 352 Profile* profile_; | 355 Profile* profile_; |
| 353 | 356 |
| 354 typedef std::map<std::string, | 357 typedef std::map<std::string, |
| 355 scoped_refptr<DevToolsAndroidBridge::RemoteBrowser> > RemoteBrowsers; | 358 scoped_refptr<DevToolsAndroidBridge::RemoteBrowser> > RemoteBrowsers; |
| 356 RemoteBrowsers remote_browsers_; | 359 RemoteBrowsers remote_browsers_; |
| (...skipping 24 matching lines...) Expand all Loading... |
| 381 | 384 |
| 382 void AdbTargetsUIHandler::Open( | 385 void AdbTargetsUIHandler::Open( |
| 383 const std::string& browser_id, | 386 const std::string& browser_id, |
| 384 const std::string& url, | 387 const std::string& url, |
| 385 const DevToolsTargetsUIHandler::TargetCallback& callback) { | 388 const DevToolsTargetsUIHandler::TargetCallback& callback) { |
| 386 RemoteBrowsers::iterator it = remote_browsers_.find(browser_id); | 389 RemoteBrowsers::iterator it = remote_browsers_.find(browser_id); |
| 387 if (it != remote_browsers_.end()) | 390 if (it != remote_browsers_.end()) |
| 388 it->second->Open(url, base::Bind(&CallOnTarget, callback)); | 391 it->second->Open(url, base::Bind(&CallOnTarget, callback)); |
| 389 } | 392 } |
| 390 | 393 |
| 394 scoped_refptr<content::DevToolsAgentHost> |
| 395 AdbTargetsUIHandler::GetBrowserAgentHost( |
| 396 const std::string& browser_id) { |
| 397 RemoteBrowsers::iterator it = remote_browsers_.find(browser_id); |
| 398 return it != remote_browsers_.end() ? it->second->GetAgentHost() : NULL; |
| 399 } |
| 400 |
| 391 void AdbTargetsUIHandler::DeviceListChanged( | 401 void AdbTargetsUIHandler::DeviceListChanged( |
| 392 const DevToolsAndroidBridge::RemoteDevices& devices) { | 402 const DevToolsAndroidBridge::RemoteDevices& devices) { |
| 393 remote_browsers_.clear(); | 403 remote_browsers_.clear(); |
| 394 STLDeleteValues(&targets_); | 404 STLDeleteValues(&targets_); |
| 395 | 405 |
| 396 scoped_ptr<base::ListValue> device_list(new base::ListValue()); | 406 scoped_ptr<base::ListValue> device_list(new base::ListValue()); |
| 397 for (DevToolsAndroidBridge::RemoteDevices::const_iterator dit = | 407 for (DevToolsAndroidBridge::RemoteDevices::const_iterator dit = |
| 398 devices.begin(); dit != devices.end(); ++dit) { | 408 devices.begin(); dit != devices.end(); ++dit) { |
| 399 DevToolsAndroidBridge::RemoteDevice* device = dit->get(); | 409 DevToolsAndroidBridge::RemoteDevice* device = dit->get(); |
| 400 base::DictionaryValue* device_data = new base::DictionaryValue(); | 410 base::DictionaryValue* device_data = new base::DictionaryValue(); |
| (...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 524 return it->second; | 534 return it->second; |
| 525 return NULL; | 535 return NULL; |
| 526 } | 536 } |
| 527 | 537 |
| 528 void DevToolsTargetsUIHandler::Open(const std::string& browser_id, | 538 void DevToolsTargetsUIHandler::Open(const std::string& browser_id, |
| 529 const std::string& url, | 539 const std::string& url, |
| 530 const TargetCallback& callback) { | 540 const TargetCallback& callback) { |
| 531 callback.Run(NULL); | 541 callback.Run(NULL); |
| 532 } | 542 } |
| 533 | 543 |
| 544 scoped_refptr<content::DevToolsAgentHost> |
| 545 DevToolsTargetsUIHandler::GetBrowserAgentHost(const std::string& browser_id) { |
| 546 return NULL; |
| 547 } |
| 548 |
| 534 base::DictionaryValue* DevToolsTargetsUIHandler::Serialize( | 549 base::DictionaryValue* DevToolsTargetsUIHandler::Serialize( |
| 535 const DevToolsTargetImpl& target) { | 550 const DevToolsTargetImpl& target) { |
| 536 base::DictionaryValue* target_data = new base::DictionaryValue(); | 551 base::DictionaryValue* target_data = new base::DictionaryValue(); |
| 537 target_data->SetString(kTargetSourceField, source_id_); | 552 target_data->SetString(kTargetSourceField, source_id_); |
| 538 target_data->SetString(kTargetIdField, target.GetId()); | 553 target_data->SetString(kTargetIdField, target.GetId()); |
| 539 target_data->SetString(kTargetTypeField, target.GetType()); | 554 target_data->SetString(kTargetTypeField, target.GetType()); |
| 540 target_data->SetBoolean(kAttachedField, target.IsAttached()); | 555 target_data->SetBoolean(kAttachedField, target.IsAttached()); |
| 541 target_data->SetString(kUrlField, target.GetURL().spec()); | 556 target_data->SetString(kUrlField, target.GetURL().spec()); |
| 542 target_data->SetString(kNameField, net::EscapeForHTML(target.GetTitle())); | 557 target_data->SetString(kNameField, net::EscapeForHTML(target.GetTitle())); |
| 543 target_data->SetString(kFaviconUrlField, target.GetFaviconURL().spec()); | 558 target_data->SetString(kFaviconUrlField, target.GetFaviconURL().spec()); |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 582 base::StringPrintf("%d", it->first), it->second); | 597 base::StringPrintf("%d", it->first), it->second); |
| 583 } | 598 } |
| 584 | 599 |
| 585 std::string device_id = base::StringPrintf( | 600 std::string device_id = base::StringPrintf( |
| 586 kAdbDeviceIdFormat, | 601 kAdbDeviceIdFormat, |
| 587 sit->first.c_str()); | 602 sit->first.c_str()); |
| 588 result.Set(device_id, device_status_dict); | 603 result.Set(device_id, device_status_dict); |
| 589 } | 604 } |
| 590 callback_.Run(result); | 605 callback_.Run(result); |
| 591 } | 606 } |
| OLD | NEW |