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

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

Issue 2431483003: [DevTools] Split device discovery off DevToolsAnrdoidBridge. (Closed)
Patch Set: the bug with invalid weak pointer Created 4 years, 2 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
OLDNEW
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/chrome_devtools_manager_delegate.h" 5 #include "chrome/browser/devtools/chrome_devtools_manager_delegate.h"
6 6
7 #include "base/memory/ptr_util.h" 7 #include "base/memory/ptr_util.h"
8 #include "base/strings/utf_string_conversions.h" 8 #include "base/strings/utf_string_conversions.h"
9 #include "build/build_config.h" 9 #include "build/build_config.h"
10 #include "chrome/browser/devtools/device/android_device_manager.h" 10 #include "chrome/browser/devtools/device/android_device_manager.h"
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
46 ChromeDevToolsManagerDelegate::~ChromeDevToolsManagerDelegate() { 46 ChromeDevToolsManagerDelegate::~ChromeDevToolsManagerDelegate() {
47 } 47 }
48 48
49 void ChromeDevToolsManagerDelegate::Inspect( 49 void ChromeDevToolsManagerDelegate::Inspect(
50 content::DevToolsAgentHost* agent_host) { 50 content::DevToolsAgentHost* agent_host) {
51 DevToolsWindow::OpenDevToolsWindow(agent_host, nullptr); 51 DevToolsWindow::OpenDevToolsWindow(agent_host, nullptr);
52 } 52 }
53 53
54 void ChromeDevToolsManagerDelegate::DevicesAvailable( 54 void ChromeDevToolsManagerDelegate::DevicesAvailable(
55 const DevToolsAgentHost::DiscoveryCallback& callback, 55 const DevToolsAgentHost::DiscoveryCallback& callback,
56 const DevToolsAndroidBridge::CompleteDevices& devices) { 56 const DevToolsDeviceDiscovery::CompleteDevices& devices) {
57 DevToolsAgentHost::List result = DevToolsAgentHost::GetOrCreateAll(); 57 DevToolsAgentHost::List result = DevToolsAgentHost::GetOrCreateAll();
58 for (const auto& complete : devices) { 58 for (const auto& complete : devices) {
59 for (const auto& browser : complete.second->browsers()) { 59 for (const auto& browser : complete.second->browsers()) {
60 for (const auto& page : browser->pages()) 60 for (const auto& page : browser->pages())
61 result.push_back(page->CreateTarget()); 61 result.push_back(page->CreateTarget());
62 } 62 }
63 } 63 }
64 callback.Run(std::move(result)); 64 callback.Run(std::move(result));
65 } 65 }
66 66
67 bool ChromeDevToolsManagerDelegate::DiscoverTargets( 67 bool ChromeDevToolsManagerDelegate::DiscoverTargets(
68 const DevToolsAgentHost::DiscoveryCallback& callback) { 68 const DevToolsAgentHost::DiscoveryCallback& callback) {
69 if (!tcp_locations_.size()) 69 if (!tcp_locations_.size())
70 return false; 70 return false;
71 71
72 if (!device_manager_) 72 if (!device_manager_)
73 device_manager_ = AndroidDeviceManager::Create(); 73 device_manager_ = AndroidDeviceManager::Create();
74 74
75 AndroidDeviceManager::DeviceProviders providers; 75 AndroidDeviceManager::DeviceProviders providers;
76 providers.push_back(new TCPDeviceProvider(tcp_locations_)); 76 providers.push_back(new TCPDeviceProvider(tcp_locations_));
77 device_manager_->SetDeviceProviders(providers); 77 device_manager_->SetDeviceProviders(providers);
78 78
79 DevToolsAndroidBridge::QueryCompleteDevices( 79 DevToolsDeviceDiscovery::DiscoverOnce(
80 device_manager_.get(), 80 device_manager_.get(),
81 base::Bind(&ChromeDevToolsManagerDelegate::DevicesAvailable, 81 base::Bind(&ChromeDevToolsManagerDelegate::DevicesAvailable,
82 base::Unretained(this), 82 base::Unretained(this),
83 callback)); 83 callback));
84 return true; 84 return true;
85 } 85 }
86 86
87 base::DictionaryValue* ChromeDevToolsManagerDelegate::HandleCommand( 87 base::DictionaryValue* ChromeDevToolsManagerDelegate::HandleCommand(
88 DevToolsAgentHost* agent_host, 88 DevToolsAgentHost* agent_host,
89 base::DictionaryValue* command_dict) { 89 base::DictionaryValue* command_dict) {
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
221 if (!dictionary->GetIntegerWithoutPathExpansion(kPortParam, &port)) { 221 if (!dictionary->GetIntegerWithoutPathExpansion(kPortParam, &port)) {
222 return DevToolsProtocol::CreateInvalidParamsResponse(command_id, 222 return DevToolsProtocol::CreateInvalidParamsResponse(command_id,
223 kLocationsParam); 223 kLocationsParam);
224 } 224 }
225 tcp_locations_.insert(net::HostPortPair(host, port)); 225 tcp_locations_.insert(net::HostPortPair(host, port));
226 } 226 }
227 std::unique_ptr<base::DictionaryValue> result( 227 std::unique_ptr<base::DictionaryValue> result(
228 base::MakeUnique<base::DictionaryValue>()); 228 base::MakeUnique<base::DictionaryValue>());
229 return DevToolsProtocol::CreateSuccessResponse(command_id, std::move(result)); 229 return DevToolsProtocol::CreateSuccessResponse(command_id, std::move(result));
230 } 230 }
OLDNEW
« no previous file with comments | « chrome/browser/devtools/chrome_devtools_manager_delegate.h ('k') | chrome/browser/devtools/device/devtools_android_bridge.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698