| 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 |