Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(238)

Side by Side Diff: chrome/browser/devtools/devtools_targets_ui.cc

Issue 278953002: DevTools: allow inspecting browsers using custom front-ends. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Manually tested end-to-end. Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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
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
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
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
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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698