summaryrefslogtreecommitdiffstats
path: root/chrome/browser/devtools/devtools_window.cc
diff options
context:
space:
mode:
authorzvorygin@chromium.org <zvorygin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-04-23 01:23:49 +0000
committerzvorygin@chromium.org <zvorygin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-04-23 01:23:49 +0000
commitba8a9357acad351c0037206602e7872bc9bfec12 (patch)
tree356889049394303b77314a4b0374b8f213bb3d63 /chrome/browser/devtools/devtools_window.cc
parent4514d9613c95617f344b2d0581acbb7e369a6f5a (diff)
downloadchromium_src-ba8a9357acad351c0037206602e7872bc9bfec12.zip
chromium_src-ba8a9357acad351c0037206602e7872bc9bfec12.tar.gz
chromium_src-ba8a9357acad351c0037206602e7872bc9bfec12.tar.bz2
[DevTools] Added device count listener to devtools window.
BUG=309879 Review URL: https://codereview.chromium.org/243063002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@265465 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/devtools/devtools_window.cc')
-rw-r--r--chrome/browser/devtools/devtools_window.cc23
1 files changed, 23 insertions, 0 deletions
diff --git a/chrome/browser/devtools/devtools_window.cc b/chrome/browser/devtools/devtools_window.cc
index 16e79ff..8b12c80 100644
--- a/chrome/browser/devtools/devtools_window.cc
+++ b/chrome/browser/devtools/devtools_window.cc
@@ -398,6 +398,8 @@ DevToolsWindow::~DevToolsWindow() {
jobs_it->second->Stop();
}
indexing_jobs_.clear();
+ if (device_listener_enabled_)
+ EnableRemoteDeviceCounter(false);
}
// static
@@ -785,6 +787,7 @@ DevToolsWindow::DevToolsWindow(Profile* profile,
browser_(NULL),
is_docked_(true),
can_dock_(can_dock),
+ device_listener_enabled_(false),
// This initialization allows external front-end to work without changes.
// We don't wait for docking call, but instead immediately show undocked.
// Passing "dockSide=undocked" parameter ensures proper UI.
@@ -1392,6 +1395,26 @@ void DevToolsWindow::StopRemoteDevicesListener() {
remote_targets_handler_.reset();
}
+void DevToolsWindow::EnableRemoteDeviceCounter(bool enable) {
+ DevToolsAndroidBridge* adb_bridge =
+ DevToolsAndroidBridge::Factory::GetForProfile(profile_);
+ if (!adb_bridge)
+ return;
+
+ DCHECK(device_listener_enabled_ != enable);
+ device_listener_enabled_ = enable;
+ if (enable)
+ adb_bridge->AddDeviceCountListener(this);
+ else
+ adb_bridge->RemoveDeviceCountListener(this);
+}
+
+void DevToolsWindow::DeviceCountChanged(int count) {
+ base::FundamentalValue value(count);
+ CallClientFunction(
+ "InspectorFrontendAPI.setRemoteDeviceCount", &value, NULL, NULL);
+}
+
void DevToolsWindow::PopulateRemoteDevices(
const std::string& source,
scoped_ptr<base::ListValue> targets) {