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

Side by Side Diff: chrome/browser/ui/chrome_pages.cc

Issue 313363004: Separate Settings and Help from History and Extensions when settings-in- (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: JS edits Created 6 years, 6 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/ui/chrome_pages.h" 5 #include "chrome/browser/ui/chrome_pages.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "base/strings/string_number_conversions.h" 9 #include "base/strings/string_number_conversions.h"
10 #include "base/strings/stringprintf.h" 10 #include "base/strings/stringprintf.h"
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
101 } 101 }
102 scoped_ptr<ScopedTabbedBrowserDisplayer> displayer; 102 scoped_ptr<ScopedTabbedBrowserDisplayer> displayer;
103 if (!browser) { 103 if (!browser) {
104 displayer.reset( 104 displayer.reset(
105 new ScopedTabbedBrowserDisplayer(profile, host_desktop_type)); 105 new ScopedTabbedBrowserDisplayer(profile, host_desktop_type));
106 browser = displayer->browser(); 106 browser = displayer->browser();
107 } 107 }
108 ShowSingletonTab(browser, url); 108 ShowSingletonTab(browser, url);
109 } 109 }
110 110
111 bool SettingsWindowEnabled() { 111 bool IsSettingsWindowEnabled() {
112 return CommandLine::ForCurrentProcess()->HasSwitch( 112 return CommandLine::ForCurrentProcess()->HasSwitch(
113 ::switches::kEnableSettingsWindow); 113 ::switches::kEnableSettingsWindow);
114 } 114 }
115 115
116 } // namespace 116 } // namespace
117 117
118 void ShowBookmarkManager(Browser* browser) { 118 void ShowBookmarkManager(Browser* browser) {
119 content::RecordAction(UserMetricsAction("ShowBookmarkManager")); 119 content::RecordAction(UserMetricsAction("ShowBookmarkManager"));
120 content::RecordAction(UserMetricsAction("ShowBookmarks")); 120 content::RecordAction(UserMetricsAction("ShowBookmarks"));
121 ShowSingletonTabOverwritingNTP( 121 ShowSingletonTabOverwritingNTP(
122 browser, 122 browser,
123 GetSingletonTabNavigateParams(browser, GURL(kChromeUIBookmarksURL))); 123 GetSingletonTabNavigateParams(browser, GURL(kChromeUIBookmarksURL)));
124 } 124 }
125 125
126 void ShowBookmarkManagerForNode(Browser* browser, int64 node_id) { 126 void ShowBookmarkManagerForNode(Browser* browser, int64 node_id) {
127 OpenBookmarkManagerWithHash(browser, std::string(), node_id); 127 OpenBookmarkManagerWithHash(browser, std::string(), node_id);
128 } 128 }
129 129
130 void ShowHistory(Browser* browser) { 130 void ShowHistory(Browser* browser) {
131 content::RecordAction(UserMetricsAction("ShowHistory")); 131 content::RecordAction(UserMetricsAction("ShowHistory"));
132 if (SettingsWindowEnabled()) {
133 SettingsWindowManager::GetInstance()->ShowChromePageForProfile(
134 browser->profile(), GURL(kChromeUIHistoryURL));
135 return;
136 }
137 NavigateParams params( 132 NavigateParams params(
138 GetSingletonTabNavigateParams(browser, GURL(kChromeUIHistoryURL))); 133 GetSingletonTabNavigateParams(browser, GURL(kChromeUIHistoryURL)));
139 params.path_behavior = NavigateParams::IGNORE_AND_NAVIGATE; 134 params.path_behavior = NavigateParams::IGNORE_AND_NAVIGATE;
140 ShowSingletonTabOverwritingNTP(browser, params); 135 ShowSingletonTabOverwritingNTP(browser, params);
141 } 136 }
142 137
143 void ShowDownloads(Browser* browser) { 138 void ShowDownloads(Browser* browser) {
144 content::RecordAction(UserMetricsAction("ShowDownloads")); 139 content::RecordAction(UserMetricsAction("ShowDownloads"));
145 if (browser->window()) { 140 if (browser->window()) {
146 DownloadShelf* shelf = browser->window()->GetDownloadShelf(); 141 DownloadShelf* shelf = browser->window()->GetDownloadShelf();
147 // The downloads page is always shown in response to a user action. 142 // The downloads page is always shown in response to a user action.
148 if (shelf->IsShowing()) 143 if (shelf->IsShowing())
149 shelf->Close(DownloadShelf::USER_ACTION); 144 shelf->Close(DownloadShelf::USER_ACTION);
150 } 145 }
151 ShowSingletonTabOverwritingNTP( 146 ShowSingletonTabOverwritingNTP(
152 browser, 147 browser,
153 GetSingletonTabNavigateParams(browser, GURL(kChromeUIDownloadsURL))); 148 GetSingletonTabNavigateParams(browser, GURL(kChromeUIDownloadsURL)));
154 } 149 }
155 150
156 void ShowExtensions(Browser* browser, 151 void ShowExtensions(Browser* browser,
157 const std::string& extension_to_highlight) { 152 const std::string& extension_to_highlight) {
158 content::RecordAction(UserMetricsAction("ShowExtensions")); 153 content::RecordAction(UserMetricsAction("ShowExtensions"));
159 if (SettingsWindowEnabled()) {
160 SettingsWindowManager::GetInstance()->ShowChromePageForProfile(
161 browser->profile(), GURL(kChromeUIExtensionsURL));
162 return;
163 }
164 NavigateParams params( 154 NavigateParams params(
165 GetSingletonTabNavigateParams(browser, GURL(kChromeUIExtensionsURL))); 155 GetSingletonTabNavigateParams(browser, GURL(kChromeUIExtensionsURL)));
166 params.path_behavior = NavigateParams::IGNORE_AND_NAVIGATE; 156 params.path_behavior = NavigateParams::IGNORE_AND_NAVIGATE;
167 if (!extension_to_highlight.empty()) { 157 if (!extension_to_highlight.empty()) {
168 GURL::Replacements replacements; 158 GURL::Replacements replacements;
169 std::string query("id="); 159 std::string query("id=");
170 query += extension_to_highlight; 160 query += extension_to_highlight;
171 replacements.SetQueryStr(query); 161 replacements.SetQueryStr(query);
172 params.url = params.url.ReplaceComponents(replacements); 162 params.url = params.url.ReplaceComponents(replacements);
173 } 163 }
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
237 return false; 227 return false;
238 GURL url(web_contents->GetURL()); 228 GURL url(web_contents->GetURL());
239 return url.SchemeIs(scheme.c_str()); 229 return url.SchemeIs(scheme.c_str());
240 } 230 }
241 231
242 void ShowSettings(Browser* browser) { 232 void ShowSettings(Browser* browser) {
243 ShowSettingsSubPage(browser, std::string()); 233 ShowSettingsSubPage(browser, std::string());
244 } 234 }
245 235
246 void ShowSettingsSubPage(Browser* browser, const std::string& sub_page) { 236 void ShowSettingsSubPage(Browser* browser, const std::string& sub_page) {
247 if (SettingsWindowEnabled()) { 237 if (IsSettingsWindowEnabled()) {
248 ShowSettingsSubPageForProfile(browser->profile(), sub_page); 238 ShowSettingsSubPageForProfile(browser->profile(), sub_page);
249 return; 239 return;
250 } 240 }
251 ShowSettingsSubPageInTabbedBrowser(browser, sub_page); 241 ShowSettingsSubPageInTabbedBrowser(browser, sub_page);
252 } 242 }
253 243
254 void ShowSettingsSubPageForProfile(Profile* profile, 244 void ShowSettingsSubPageForProfile(Profile* profile,
255 const std::string& sub_page) { 245 const std::string& sub_page) {
256 if (SettingsWindowEnabled()) { 246 if (IsSettingsWindowEnabled()) {
257 content::RecordAction(base::UserMetricsAction("ShowOptions")); 247 content::RecordAction(base::UserMetricsAction("ShowOptions"));
258 SettingsWindowManager::GetInstance()->ShowChromePageForProfile( 248 SettingsWindowManager::GetInstance()->ShowChromePageForProfile(
259 profile, GetSettingsUrl(sub_page)); 249 profile, GetSettingsUrl(sub_page));
260 return; 250 return;
261 } 251 }
262 Browser* browser = 252 Browser* browser =
263 chrome::FindTabbedBrowser(profile, false, HOST_DESKTOP_TYPE_NATIVE); 253 chrome::FindTabbedBrowser(profile, false, HOST_DESKTOP_TYPE_NATIVE);
264 if (!browser) { 254 if (!browser) {
265 browser = new Browser( 255 browser = new Browser(
266 Browser::CreateParams(profile, chrome::HOST_DESKTOP_TYPE_NATIVE)); 256 Browser::CreateParams(profile, chrome::HOST_DESKTOP_TYPE_NATIVE));
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
332 original_profile, chrome::HOST_DESKTOP_TYPE_NATIVE)); 322 original_profile, chrome::HOST_DESKTOP_TYPE_NATIVE));
333 browser = displayer->browser(); 323 browser = displayer->browser();
334 } 324 }
335 325
336 NavigateToSingletonTab(browser, GURL(signin::GetPromoURL(source, false))); 326 NavigateToSingletonTab(browser, GURL(signin::GetPromoURL(source, false)));
337 DCHECK_GT(browser->tab_strip_model()->count(), 0); 327 DCHECK_GT(browser->tab_strip_model()->count(), 0);
338 } 328 }
339 } 329 }
340 330
341 } // namespace chrome 331 } // namespace chrome
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698