| 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() { | |
| 112 return CommandLine::ForCurrentProcess()->HasSwitch( | |
| 113 ::switches::kEnableSettingsWindow); | |
| 114 } | |
| 115 | |
| 116 } // namespace | 111 } // namespace |
| 117 | 112 |
| 118 void ShowBookmarkManager(Browser* browser) { | 113 void ShowBookmarkManager(Browser* browser) { |
| 119 content::RecordAction(UserMetricsAction("ShowBookmarkManager")); | 114 content::RecordAction(UserMetricsAction("ShowBookmarkManager")); |
| 120 content::RecordAction(UserMetricsAction("ShowBookmarks")); | 115 content::RecordAction(UserMetricsAction("ShowBookmarks")); |
| 121 ShowSingletonTabOverwritingNTP( | 116 ShowSingletonTabOverwritingNTP( |
| 122 browser, | 117 browser, |
| 123 GetSingletonTabNavigateParams(browser, GURL(kChromeUIBookmarksURL))); | 118 GetSingletonTabNavigateParams(browser, GURL(kChromeUIBookmarksURL))); |
| 124 } | 119 } |
| 125 | 120 |
| 126 void ShowBookmarkManagerForNode(Browser* browser, int64 node_id) { | 121 void ShowBookmarkManagerForNode(Browser* browser, int64 node_id) { |
| 127 OpenBookmarkManagerWithHash(browser, std::string(), node_id); | 122 OpenBookmarkManagerWithHash(browser, std::string(), node_id); |
| 128 } | 123 } |
| 129 | 124 |
| 130 void ShowHistory(Browser* browser) { | 125 void ShowHistory(Browser* browser) { |
| 131 content::RecordAction(UserMetricsAction("ShowHistory")); | 126 content::RecordAction(UserMetricsAction("ShowHistory")); |
| 132 if (SettingsWindowEnabled()) { | |
| 133 SettingsWindowManager::GetInstance()->ShowChromePageForProfile( | |
| 134 browser->profile(), GURL(kChromeUIHistoryURL)); | |
| 135 return; | |
| 136 } | |
| 137 NavigateParams params( | 127 NavigateParams params( |
| 138 GetSingletonTabNavigateParams(browser, GURL(kChromeUIHistoryURL))); | 128 GetSingletonTabNavigateParams(browser, GURL(kChromeUIHistoryURL))); |
| 139 params.path_behavior = NavigateParams::IGNORE_AND_NAVIGATE; | 129 params.path_behavior = NavigateParams::IGNORE_AND_NAVIGATE; |
| 140 ShowSingletonTabOverwritingNTP(browser, params); | 130 ShowSingletonTabOverwritingNTP(browser, params); |
| 141 } | 131 } |
| 142 | 132 |
| 143 void ShowDownloads(Browser* browser) { | 133 void ShowDownloads(Browser* browser) { |
| 144 content::RecordAction(UserMetricsAction("ShowDownloads")); | 134 content::RecordAction(UserMetricsAction("ShowDownloads")); |
| 145 if (browser->window()) { | 135 if (browser->window()) { |
| 146 DownloadShelf* shelf = browser->window()->GetDownloadShelf(); | 136 DownloadShelf* shelf = browser->window()->GetDownloadShelf(); |
| 147 // The downloads page is always shown in response to a user action. | 137 // The downloads page is always shown in response to a user action. |
| 148 if (shelf->IsShowing()) | 138 if (shelf->IsShowing()) |
| 149 shelf->Close(DownloadShelf::USER_ACTION); | 139 shelf->Close(DownloadShelf::USER_ACTION); |
| 150 } | 140 } |
| 151 ShowSingletonTabOverwritingNTP( | 141 ShowSingletonTabOverwritingNTP( |
| 152 browser, | 142 browser, |
| 153 GetSingletonTabNavigateParams(browser, GURL(kChromeUIDownloadsURL))); | 143 GetSingletonTabNavigateParams(browser, GURL(kChromeUIDownloadsURL))); |
| 154 } | 144 } |
| 155 | 145 |
| 156 void ShowExtensions(Browser* browser, | 146 void ShowExtensions(Browser* browser, |
| 157 const std::string& extension_to_highlight) { | 147 const std::string& extension_to_highlight) { |
| 158 content::RecordAction(UserMetricsAction("ShowExtensions")); | 148 content::RecordAction(UserMetricsAction("ShowExtensions")); |
| 159 if (SettingsWindowEnabled()) { | |
| 160 SettingsWindowManager::GetInstance()->ShowChromePageForProfile( | |
| 161 browser->profile(), GURL(kChromeUIExtensionsURL)); | |
| 162 return; | |
| 163 } | |
| 164 NavigateParams params( | 149 NavigateParams params( |
| 165 GetSingletonTabNavigateParams(browser, GURL(kChromeUIExtensionsURL))); | 150 GetSingletonTabNavigateParams(browser, GURL(kChromeUIExtensionsURL))); |
| 166 params.path_behavior = NavigateParams::IGNORE_AND_NAVIGATE; | 151 params.path_behavior = NavigateParams::IGNORE_AND_NAVIGATE; |
| 167 if (!extension_to_highlight.empty()) { | 152 if (!extension_to_highlight.empty()) { |
| 168 GURL::Replacements replacements; | 153 GURL::Replacements replacements; |
| 169 std::string query("id="); | 154 std::string query("id="); |
| 170 query += extension_to_highlight; | 155 query += extension_to_highlight; |
| 171 replacements.SetQueryStr(query); | 156 replacements.SetQueryStr(query); |
| 172 params.url = params.url.ReplaceComponents(replacements); | 157 params.url = params.url.ReplaceComponents(replacements); |
| 173 } | 158 } |
| (...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 332 original_profile, chrome::HOST_DESKTOP_TYPE_NATIVE)); | 317 original_profile, chrome::HOST_DESKTOP_TYPE_NATIVE)); |
| 333 browser = displayer->browser(); | 318 browser = displayer->browser(); |
| 334 } | 319 } |
| 335 | 320 |
| 336 NavigateToSingletonTab(browser, GURL(signin::GetPromoURL(source, false))); | 321 NavigateToSingletonTab(browser, GURL(signin::GetPromoURL(source, false))); |
| 337 DCHECK_GT(browser->tab_strip_model()->count(), 0); | 322 DCHECK_GT(browser->tab_strip_model()->count(), 0); |
| 338 } | 323 } |
| 339 } | 324 } |
| 340 | 325 |
| 341 } // namespace chrome | 326 } // namespace chrome |
| OLD | NEW |