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 |