OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |