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 |