OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/device/devtools_android_bridge.h" | 5 #include "chrome/browser/devtools/device/devtools_android_bridge.h" |
6 | 6 |
7 #include <map> | 7 #include <map> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/base64.h" | 10 #include "base/base64.h" |
(...skipping 1241 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1252 // static | 1252 // static |
1253 bool DevToolsAndroidBridge::HasDevToolsWindow(const std::string& agent_id) { | 1253 bool DevToolsAndroidBridge::HasDevToolsWindow(const std::string& agent_id) { |
1254 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 1254 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
1255 return g_host_delegates.Get().find(agent_id) != g_host_delegates.Get().end(); | 1255 return g_host_delegates.Get().find(agent_id) != g_host_delegates.Get().end(); |
1256 } | 1256 } |
1257 | 1257 |
1258 DevToolsAndroidBridge::~DevToolsAndroidBridge() { | 1258 DevToolsAndroidBridge::~DevToolsAndroidBridge() { |
1259 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 1259 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
1260 DCHECK(device_list_listeners_.empty()); | 1260 DCHECK(device_list_listeners_.empty()); |
1261 DCHECK(device_count_listeners_.empty()); | 1261 DCHECK(device_count_listeners_.empty()); |
1262 if (device_manager_) | 1262 if (device_manager_) { |
1263 device_message_loop()->PostTask(FROM_HERE, | 1263 AndroidDeviceManager* raw_ptr = device_manager_.get(); |
1264 base::Bind(&AndroidDeviceManager::Stop, device_manager_)); | 1264 device_manager_->AddRef(); |
| 1265 device_manager_ = NULL; |
| 1266 device_message_loop()->ReleaseSoon(FROM_HERE, raw_ptr); |
| 1267 } |
1265 } | 1268 } |
1266 | 1269 |
1267 void DevToolsAndroidBridge::RequestDeviceList() { | 1270 void DevToolsAndroidBridge::RequestDeviceList() { |
1268 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 1271 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
1269 DCHECK(device_manager_); | 1272 DCHECK(device_manager_); |
1270 | 1273 |
1271 if (device_list_listeners_.empty()) | 1274 if (device_list_listeners_.empty()) |
1272 return; | 1275 return; |
1273 | 1276 |
1274 new DiscoveryRequest( | 1277 new DiscoveryRequest( |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1350 PrefService* service = profile_->GetPrefs(); | 1353 PrefService* service = profile_->GetPrefs(); |
1351 const PrefService::Preference* pref = | 1354 const PrefService::Preference* pref = |
1352 service->FindPreference(prefs::kDevToolsDiscoverUsbDevicesEnabled); | 1355 service->FindPreference(prefs::kDevToolsDiscoverUsbDevicesEnabled); |
1353 const base::Value* pref_value = pref->GetValue(); | 1356 const base::Value* pref_value = pref->GetValue(); |
1354 | 1357 |
1355 bool enabled; | 1358 bool enabled; |
1356 if (pref_value->GetAsBoolean(&enabled) && enabled) { | 1359 if (pref_value->GetAsBoolean(&enabled) && enabled) { |
1357 device_providers_.push_back(new UsbDeviceProvider(profile_)); | 1360 device_providers_.push_back(new UsbDeviceProvider(profile_)); |
1358 } | 1361 } |
1359 } | 1362 } |
OLD | NEW |