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

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

Issue 2263843002: DevTools: merge devtools target with devtools host, part 1 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: for landing 3 Created 4 years, 3 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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_discovery_provider.h" 5 #include "chrome/browser/devtools/chrome_devtools_discovery_provider.h"
6 6
7 #include "base/memory/ptr_util.h" 7 #include "base/memory/ptr_util.h"
8 #include "chrome/browser/devtools/devtools_target_impl.h" 8 #include "chrome/browser/devtools/devtools_target_impl.h"
9 #include "chrome/browser/profiles/profile_manager.h" 9 #include "chrome/browser/profiles/profile_manager.h"
10 #include "chrome/browser/ui/browser_navigator.h" 10 #include "chrome/browser/ui/browser_navigator.h"
11 #include "chrome/browser/ui/browser_navigator_params.h" 11 #include "chrome/browser/ui/browser_navigator_params.h"
12 #include "content/public/browser/devtools_agent_host.h"
12 13
13 namespace { 14 namespace {
14 15
15 std::unique_ptr<devtools_discovery::DevToolsTargetDescriptor> 16 std::unique_ptr<devtools_discovery::DevToolsTargetDescriptor>
16 CreateNewChromeTab(const GURL& url) { 17 CreateNewChromeTab(const GURL& url) {
17 chrome::NavigateParams params(ProfileManager::GetLastUsedProfile(), 18 chrome::NavigateParams params(ProfileManager::GetLastUsedProfile(),
18 url, ui::PAGE_TRANSITION_AUTO_TOPLEVEL); 19 url, ui::PAGE_TRANSITION_AUTO_TOPLEVEL);
19 params.disposition = NEW_FOREGROUND_TAB; 20 params.disposition = NEW_FOREGROUND_TAB;
20 chrome::Navigate(&params); 21 chrome::Navigate(&params);
21 if (!params.target_contents) 22 if (!params.target_contents)
22 return std::unique_ptr<devtools_discovery::DevToolsTargetDescriptor>(); 23 return std::unique_ptr<devtools_discovery::DevToolsTargetDescriptor>();
23 return DevToolsTargetImpl::CreateForTab(params.target_contents); 24
25 if (!params.target_contents)
26 return nullptr;
27 scoped_refptr<content::DevToolsAgentHost> host =
28 content::DevToolsAgentHost::GetOrCreateFor(params.target_contents);
29 return std::unique_ptr<DevToolsTargetImpl>(new DevToolsTargetImpl(host));
24 } 30 }
25 31
26 } // namespace 32 } // namespace
27 33
28 ChromeDevToolsDiscoveryProvider::ChromeDevToolsDiscoveryProvider() { 34 ChromeDevToolsDiscoveryProvider::ChromeDevToolsDiscoveryProvider() {
29 } 35 }
30 36
31 ChromeDevToolsDiscoveryProvider::~ChromeDevToolsDiscoveryProvider() { 37 ChromeDevToolsDiscoveryProvider::~ChromeDevToolsDiscoveryProvider() {
32 } 38 }
33 39
34 devtools_discovery::DevToolsTargetDescriptor::List 40 devtools_discovery::DevToolsTargetDescriptor::List
35 ChromeDevToolsDiscoveryProvider::GetDescriptors() { 41 ChromeDevToolsDiscoveryProvider::GetDescriptors() {
36 std::vector<DevToolsTargetImpl*> list = DevToolsTargetImpl::EnumerateAll(); 42 std::vector<DevToolsTargetImpl*> list = DevToolsTargetImpl::EnumerateAll();
37 devtools_discovery::DevToolsTargetDescriptor::List result; 43 devtools_discovery::DevToolsTargetDescriptor::List result;
38 result.reserve(list.size()); 44 result.reserve(list.size());
39 for (auto* descriptor : list) 45 for (auto* descriptor : list)
40 result.push_back(descriptor); 46 result.push_back(descriptor);
41 return result; 47 return result;
42 } 48 }
43 49
44 // static 50 // static
45 void ChromeDevToolsDiscoveryProvider::Install() { 51 void ChromeDevToolsDiscoveryProvider::Install() {
46 devtools_discovery::DevToolsDiscoveryManager* discovery_manager = 52 devtools_discovery::DevToolsDiscoveryManager* discovery_manager =
47 devtools_discovery::DevToolsDiscoveryManager::GetInstance(); 53 devtools_discovery::DevToolsDiscoveryManager::GetInstance();
48 discovery_manager->AddProvider( 54 discovery_manager->AddProvider(
49 base::WrapUnique(new ChromeDevToolsDiscoveryProvider())); 55 base::WrapUnique(new ChromeDevToolsDiscoveryProvider()));
50 discovery_manager->SetCreateCallback(base::Bind(&CreateNewChromeTab)); 56 discovery_manager->SetCreateCallback(base::Bind(&CreateNewChromeTab));
51 } 57 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698