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

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

Issue 1691813003: Add --auto-open-devtools-for-tabs flag. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 10 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/command_line.h"
7 #include "chrome/browser/devtools/devtools_target_impl.h" 8 #include "chrome/browser/devtools/devtools_target_impl.h"
9 #include "chrome/browser/devtools/devtools_window.h"
8 #include "chrome/browser/profiles/profile_manager.h" 10 #include "chrome/browser/profiles/profile_manager.h"
9 #include "chrome/browser/ui/browser_navigator.h" 11 #include "chrome/browser/ui/browser_navigator.h"
10 #include "chrome/browser/ui/browser_navigator_params.h" 12 #include "chrome/browser/ui/browser_navigator_params.h"
13 #include "chrome/common/chrome_switches.h"
11 14
12 namespace { 15 namespace {
13 16
14 scoped_ptr<devtools_discovery::DevToolsTargetDescriptor> 17 scoped_ptr<devtools_discovery::DevToolsTargetDescriptor>
15 CreateNewChromeTab(const GURL& url) { 18 CreateNewChromeTab(const GURL& url) {
16 chrome::NavigateParams params(ProfileManager::GetLastUsedProfile(), 19 chrome::NavigateParams params(ProfileManager::GetLastUsedProfile(),
17 url, ui::PAGE_TRANSITION_AUTO_TOPLEVEL); 20 url, ui::PAGE_TRANSITION_AUTO_TOPLEVEL);
18 params.disposition = NEW_FOREGROUND_TAB; 21 params.disposition = NEW_FOREGROUND_TAB;
19 chrome::Navigate(&params); 22 chrome::Navigate(&params);
20 if (!params.target_contents) 23 if (!params.target_contents)
21 return scoped_ptr<devtools_discovery::DevToolsTargetDescriptor>(); 24 return scoped_ptr<devtools_discovery::DevToolsTargetDescriptor>();
22 return DevToolsTargetImpl::CreateForTab(params.target_contents); 25 return DevToolsTargetImpl::CreateForTab(params.target_contents);
23 } 26 }
24 27
25 } // namespace 28 } // namespace
26 29
27 ChromeDevToolsDiscoveryProvider::ChromeDevToolsDiscoveryProvider() { 30 ChromeDevToolsDiscoveryProvider::ChromeDevToolsDiscoveryProvider()
31 : browser_tab_strip_tracker_(this, nullptr, nullptr) {
32 if (base::CommandLine::ForCurrentProcess()->HasSwitch(
pfeldman 2016/02/12 02:15:08 How does this make sense here?
33 switches::kAutoOpenDevToolsForTabs)) {
34 browser_tab_strip_tracker_.Init(
35 BrowserTabStripTracker::InitWith::ALL_BROWERS);
36 }
28 } 37 }
29 38
30 ChromeDevToolsDiscoveryProvider::~ChromeDevToolsDiscoveryProvider() { 39 ChromeDevToolsDiscoveryProvider::~ChromeDevToolsDiscoveryProvider() {
31 } 40 }
32 41
42 void ChromeDevToolsDiscoveryProvider::TabInsertedAt(
43 content::WebContents* contents,
44 int index,
45 bool foreground) {
46 DevToolsWindow::OpenDevToolsWindow(contents);
47 }
48
33 devtools_discovery::DevToolsTargetDescriptor::List 49 devtools_discovery::DevToolsTargetDescriptor::List
34 ChromeDevToolsDiscoveryProvider::GetDescriptors() { 50 ChromeDevToolsDiscoveryProvider::GetDescriptors() {
35 std::vector<DevToolsTargetImpl*> list = DevToolsTargetImpl::EnumerateAll(); 51 std::vector<DevToolsTargetImpl*> list = DevToolsTargetImpl::EnumerateAll();
36 devtools_discovery::DevToolsTargetDescriptor::List result; 52 devtools_discovery::DevToolsTargetDescriptor::List result;
37 result.reserve(list.size()); 53 result.reserve(list.size());
38 for (const auto& descriptor : list) 54 for (const auto& descriptor : list)
39 result.push_back(descriptor); 55 result.push_back(descriptor);
40 return result; 56 return result;
41 } 57 }
42 58
43 // static 59 // static
44 void ChromeDevToolsDiscoveryProvider::Install() { 60 void ChromeDevToolsDiscoveryProvider::Install() {
45 devtools_discovery::DevToolsDiscoveryManager* discovery_manager = 61 devtools_discovery::DevToolsDiscoveryManager* discovery_manager =
46 devtools_discovery::DevToolsDiscoveryManager::GetInstance(); 62 devtools_discovery::DevToolsDiscoveryManager::GetInstance();
47 discovery_manager->AddProvider( 63 discovery_manager->AddProvider(
48 make_scoped_ptr(new ChromeDevToolsDiscoveryProvider())); 64 make_scoped_ptr(new ChromeDevToolsDiscoveryProvider()));
49 discovery_manager->SetCreateCallback(base::Bind(&CreateNewChromeTab)); 65 discovery_manager->SetCreateCallback(base::Bind(&CreateNewChromeTab));
50 } 66 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698