| 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/logging.h" | 7 #include "base/logging.h" |
| 8 #include "base/string_number_conversions.h" | 8 #include "base/string_number_conversions.h" |
| 9 #include "base/stringprintf.h" | 9 #include "base/stringprintf.h" |
| 10 #include "chrome/browser/download/download_shelf.h" | 10 #include "chrome/browser/download/download_shelf.h" |
| (...skipping 15 matching lines...) Expand all Loading... |
| 26 namespace chrome { | 26 namespace chrome { |
| 27 namespace { | 27 namespace { |
| 28 | 28 |
| 29 const char kHashMark[] = "#"; | 29 const char kHashMark[] = "#"; |
| 30 | 30 |
| 31 void OpenBookmarkManagerWithHash(Browser* browser, | 31 void OpenBookmarkManagerWithHash(Browser* browser, |
| 32 const std::string& action, | 32 const std::string& action, |
| 33 int64 node_id) { | 33 int64 node_id) { |
| 34 content::RecordAction(UserMetricsAction("ShowBookmarkManager")); | 34 content::RecordAction(UserMetricsAction("ShowBookmarkManager")); |
| 35 content::RecordAction(UserMetricsAction("ShowBookmarks")); | 35 content::RecordAction(UserMetricsAction("ShowBookmarks")); |
| 36 browser::NavigateParams params(GetSingletonTabNavigateParams( | 36 NavigateParams params(GetSingletonTabNavigateParams( |
| 37 browser, | 37 browser, |
| 38 GURL(kChromeUIBookmarksURL).Resolve( | 38 GURL(kChromeUIBookmarksURL).Resolve( |
| 39 StringPrintf("/#%s%s", action.c_str(), | 39 StringPrintf("/#%s%s", action.c_str(), |
| 40 base::Int64ToString(node_id).c_str())))); | 40 base::Int64ToString(node_id).c_str())))); |
| 41 params.path_behavior = browser::NavigateParams::IGNORE_AND_NAVIGATE; | 41 params.path_behavior = NavigateParams::IGNORE_AND_NAVIGATE; |
| 42 ShowSingletonTabOverwritingNTP(browser, params); | 42 ShowSingletonTabOverwritingNTP(browser, params); |
| 43 } | 43 } |
| 44 | 44 |
| 45 } // namespace | 45 } // namespace |
| 46 | 46 |
| 47 void ShowBookmarkManager(Browser* browser) { | 47 void ShowBookmarkManager(Browser* browser) { |
| 48 content::RecordAction(UserMetricsAction("ShowBookmarkManager")); | 48 content::RecordAction(UserMetricsAction("ShowBookmarkManager")); |
| 49 content::RecordAction(UserMetricsAction("ShowBookmarks")); | 49 content::RecordAction(UserMetricsAction("ShowBookmarks")); |
| 50 ShowSingletonTabOverwritingNTP( | 50 ShowSingletonTabOverwritingNTP( |
| 51 browser, | 51 browser, |
| 52 GetSingletonTabNavigateParams(browser, GURL(kChromeUIBookmarksURL))); | 52 GetSingletonTabNavigateParams(browser, GURL(kChromeUIBookmarksURL))); |
| 53 } | 53 } |
| 54 | 54 |
| 55 void ShowBookmarkManagerForNode(Browser* browser, int64 node_id) { | 55 void ShowBookmarkManagerForNode(Browser* browser, int64 node_id) { |
| 56 OpenBookmarkManagerWithHash(browser, "", node_id); | 56 OpenBookmarkManagerWithHash(browser, "", node_id); |
| 57 } | 57 } |
| 58 | 58 |
| 59 void ShowHistory(Browser* browser) { | 59 void ShowHistory(Browser* browser) { |
| 60 content::RecordAction(UserMetricsAction("ShowHistory")); | 60 content::RecordAction(UserMetricsAction("ShowHistory")); |
| 61 browser::NavigateParams params( | 61 NavigateParams params( |
| 62 GetSingletonTabNavigateParams(browser, GURL(kChromeUIHistoryURL))); | 62 GetSingletonTabNavigateParams(browser, GURL(kChromeUIHistoryURL))); |
| 63 params.path_behavior = browser::NavigateParams::IGNORE_AND_NAVIGATE; | 63 params.path_behavior = NavigateParams::IGNORE_AND_NAVIGATE; |
| 64 ShowSingletonTabOverwritingNTP(browser, params); | 64 ShowSingletonTabOverwritingNTP(browser, params); |
| 65 } | 65 } |
| 66 | 66 |
| 67 void ShowDownloads(Browser* browser) { | 67 void ShowDownloads(Browser* browser) { |
| 68 content::RecordAction(UserMetricsAction("ShowDownloads")); | 68 content::RecordAction(UserMetricsAction("ShowDownloads")); |
| 69 if (browser->window()) { | 69 if (browser->window()) { |
| 70 DownloadShelf* shelf = browser->window()->GetDownloadShelf(); | 70 DownloadShelf* shelf = browser->window()->GetDownloadShelf(); |
| 71 if (shelf->IsShowing()) | 71 if (shelf->IsShowing()) |
| 72 shelf->Close(); | 72 shelf->Close(); |
| 73 } | 73 } |
| 74 ShowSingletonTabOverwritingNTP( | 74 ShowSingletonTabOverwritingNTP( |
| 75 browser, | 75 browser, |
| 76 GetSingletonTabNavigateParams(browser, GURL(kChromeUIDownloadsURL))); | 76 GetSingletonTabNavigateParams(browser, GURL(kChromeUIDownloadsURL))); |
| 77 } | 77 } |
| 78 | 78 |
| 79 void ShowExtensions(Browser* browser) { | 79 void ShowExtensions(Browser* browser) { |
| 80 content::RecordAction(UserMetricsAction("ShowExtensions")); | 80 content::RecordAction(UserMetricsAction("ShowExtensions")); |
| 81 browser::NavigateParams params( | 81 NavigateParams params( |
| 82 GetSingletonTabNavigateParams(browser, GURL(kChromeUIExtensionsURL))); | 82 GetSingletonTabNavigateParams(browser, GURL(kChromeUIExtensionsURL))); |
| 83 params.path_behavior = browser::NavigateParams::IGNORE_AND_NAVIGATE; | 83 params.path_behavior = NavigateParams::IGNORE_AND_NAVIGATE; |
| 84 ShowSingletonTabOverwritingNTP(browser, params); | 84 ShowSingletonTabOverwritingNTP(browser, params); |
| 85 } | 85 } |
| 86 | 86 |
| 87 void ShowConflicts(Browser* browser) { | 87 void ShowConflicts(Browser* browser) { |
| 88 content::RecordAction(UserMetricsAction("AboutConflicts")); | 88 content::RecordAction(UserMetricsAction("AboutConflicts")); |
| 89 ShowSingletonTab(browser, GURL(kChromeUIConflictsURL)); | 89 ShowSingletonTab(browser, GURL(kChromeUIConflictsURL)); |
| 90 } | 90 } |
| 91 | 91 |
| 92 void ShowHelp(Browser* browser, HelpSource source) { | 92 void ShowHelp(Browser* browser, HelpSource source) { |
| 93 content::RecordAction(UserMetricsAction("ShowHelpTab")); | 93 content::RecordAction(UserMetricsAction("ShowHelpTab")); |
| (...skipping 22 matching lines...) Expand all Loading... |
| 116 void ShowSettingsSubPage(Browser* browser, const std::string& sub_page) { | 116 void ShowSettingsSubPage(Browser* browser, const std::string& sub_page) { |
| 117 std::string url = std::string(kChromeUISettingsURL) + sub_page; | 117 std::string url = std::string(kChromeUISettingsURL) + sub_page; |
| 118 #if defined(OS_CHROMEOS) | 118 #if defined(OS_CHROMEOS) |
| 119 if (sub_page.find(kInternetOptionsSubPage, 0) != std::string::npos) { | 119 if (sub_page.find(kInternetOptionsSubPage, 0) != std::string::npos) { |
| 120 std::string::size_type loc = sub_page.find("?", 0); | 120 std::string::size_type loc = sub_page.find("?", 0); |
| 121 std::string network_page = loc != std::string::npos ? | 121 std::string network_page = loc != std::string::npos ? |
| 122 sub_page.substr(loc) : std::string(); | 122 sub_page.substr(loc) : std::string(); |
| 123 url = std::string(kChromeUISettingsURL) + network_page; | 123 url = std::string(kChromeUISettingsURL) + network_page; |
| 124 } | 124 } |
| 125 #endif | 125 #endif |
| 126 browser::NavigateParams params( | 126 NavigateParams params(GetSingletonTabNavigateParams(browser, GURL(url))); |
| 127 GetSingletonTabNavigateParams(browser, GURL(url))); | 127 params.path_behavior = NavigateParams::IGNORE_AND_NAVIGATE; |
| 128 params.path_behavior = browser::NavigateParams::IGNORE_AND_NAVIGATE; | |
| 129 ShowSingletonTabOverwritingNTP(browser, params); | 128 ShowSingletonTabOverwritingNTP(browser, params); |
| 130 } | 129 } |
| 131 | 130 |
| 132 void ShowContentSettings(Browser* browser, | 131 void ShowContentSettings(Browser* browser, |
| 133 ContentSettingsType content_settings_type) { | 132 ContentSettingsType content_settings_type) { |
| 134 ShowSettingsSubPage( | 133 ShowSettingsSubPage( |
| 135 browser, | 134 browser, |
| 136 kContentSettingsExceptionsSubPage + std::string(kHashMark) + | 135 kContentSettingsExceptionsSubPage + std::string(kHashMark) + |
| 137 options2::ContentSettingsHandler::ContentSettingsTypeToGroupName( | 136 options2::ContentSettingsHandler::ContentSettingsTypeToGroupName( |
| 138 content_settings_type)); | 137 content_settings_type)); |
| (...skipping 14 matching lines...) Expand all Loading... |
| 153 ShowSettingsSubPage(browser, kImportDataSubPage); | 152 ShowSettingsSubPage(browser, kImportDataSubPage); |
| 154 } | 153 } |
| 155 | 154 |
| 156 void ShowInstantConfirmDialog(Browser* browser) { | 155 void ShowInstantConfirmDialog(Browser* browser) { |
| 157 ShowSettingsSubPage(browser, kInstantConfirmPage); | 156 ShowSettingsSubPage(browser, kInstantConfirmPage); |
| 158 } | 157 } |
| 159 | 158 |
| 160 void ShowAboutChrome(Browser* browser) { | 159 void ShowAboutChrome(Browser* browser) { |
| 161 content::RecordAction(UserMetricsAction("AboutChrome")); | 160 content::RecordAction(UserMetricsAction("AboutChrome")); |
| 162 #if !defined(OS_WIN) | 161 #if !defined(OS_WIN) |
| 163 browser::NavigateParams params( | 162 NavigateParams params( |
| 164 GetSingletonTabNavigateParams(browser, GURL(kChromeUIUberURL))); | 163 GetSingletonTabNavigateParams(browser, GURL(kChromeUIUberURL))); |
| 165 params.path_behavior = browser::NavigateParams::IGNORE_AND_NAVIGATE; | 164 params.path_behavior = NavigateParams::IGNORE_AND_NAVIGATE; |
| 166 ShowSingletonTabOverwritingNTP(browser, params); | 165 ShowSingletonTabOverwritingNTP(browser, params); |
| 167 #else | 166 #else |
| 168 // crbug.com/115123. | 167 // crbug.com/115123. |
| 169 browser->window()->ShowAboutChromeDialog(); | 168 browser->window()->ShowAboutChromeDialog(); |
| 170 #endif | 169 #endif |
| 171 } | 170 } |
| 172 | 171 |
| 173 void ShowSearchEngineSettings(Browser* browser) { | 172 void ShowSearchEngineSettings(Browser* browser) { |
| 174 content::RecordAction(UserMetricsAction("EditSearchEngines")); | 173 content::RecordAction(UserMetricsAction("EditSearchEngines")); |
| 175 ShowSettingsSubPage(browser, kSearchEnginesSubPage); | 174 ShowSettingsSubPage(browser, kSearchEnginesSubPage); |
| 176 } | 175 } |
| 177 | 176 |
| 178 void ShowSyncSetup(Browser* browser, SyncPromoUI::Source source) { | 177 void ShowSyncSetup(Browser* browser, SyncPromoUI::Source source) { |
| 179 ProfileSyncService* service = | 178 ProfileSyncService* service = |
| 180 ProfileSyncServiceFactory::GetInstance()->GetForProfile( | 179 ProfileSyncServiceFactory::GetInstance()->GetForProfile( |
| 181 browser->profile()->GetOriginalProfile()); | 180 browser->profile()->GetOriginalProfile()); |
| 182 LoginUIService* login_service = LoginUIServiceFactory::GetForProfile( | 181 LoginUIService* login_service = LoginUIServiceFactory::GetForProfile( |
| 183 browser->profile()->GetOriginalProfile()); | 182 browser->profile()->GetOriginalProfile()); |
| 184 if (service->HasSyncSetupCompleted()) { | 183 if (service->HasSyncSetupCompleted()) { |
| 185 ShowSettings(browser); | 184 ShowSettings(browser); |
| 186 } else if (SyncPromoUI::ShouldShowSyncPromo(browser->profile()) && | 185 } else if (SyncPromoUI::ShouldShowSyncPromo(browser->profile()) && |
| 187 login_service->current_login_ui() == NULL) { | 186 login_service->current_login_ui() == NULL) { |
| 188 // There is no currently active login UI, so display a new promo page. | 187 // There is no currently active login UI, so display a new promo page. |
| 189 GURL url(SyncPromoUI::GetSyncPromoURL(GURL(), source)); | 188 GURL url(SyncPromoUI::GetSyncPromoURL(GURL(), source)); |
| 190 browser::NavigateParams params( | 189 NavigateParams params(GetSingletonTabNavigateParams(browser, GURL(url))); |
| 191 GetSingletonTabNavigateParams(browser, GURL(url))); | 190 params.path_behavior = NavigateParams::IGNORE_AND_NAVIGATE; |
| 192 params.path_behavior = browser::NavigateParams::IGNORE_AND_NAVIGATE; | |
| 193 ShowSingletonTabOverwritingNTP(browser, params); | 191 ShowSingletonTabOverwritingNTP(browser, params); |
| 194 } else { | 192 } else { |
| 195 LoginUIServiceFactory::GetForProfile( | 193 LoginUIServiceFactory::GetForProfile( |
| 196 browser->profile()->GetOriginalProfile())->ShowLoginUI(browser); | 194 browser->profile()->GetOriginalProfile())->ShowLoginUI(browser); |
| 197 } | 195 } |
| 198 } | 196 } |
| 199 | 197 |
| 200 } // namespace chrome | 198 } // namespace chrome |
| OLD | NEW |