Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3619)

Unified Diff: chrome/browser/ui/browser.cc

Issue 4145013: DOMUI: Use ShowSingletonTab to open the settings tab. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: csilv review fixes. Created 10 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/ui/browser.h ('k') | chrome/browser/ui/browser_navigator.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/browser.cc
diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc
index f175ecbd8fa1a5229fd7ee4bffead0259d53a244..8b3458d6ee0b09e2cc5aae8e3652031c957ca50f 100644
--- a/chrome/browser/ui/browser.cc
+++ b/chrome/browser/ui/browser.cc
@@ -1037,10 +1037,11 @@ bool Browser::NavigateToIndexWithDisposition(int index,
return true;
}
-void Browser::ShowSingletonTab(const GURL& url) {
+void Browser::ShowSingletonTab(const GURL& url, bool ignore_path) {
browser::NavigateParams params(this, url, PageTransition::AUTO_BOOKMARK);
params.disposition = SINGLETON_TAB;
params.show_window = true;
+ params.ignore_path = ignore_path;
browser::Navigate(&params);
}
@@ -1721,27 +1722,27 @@ void Browser::ShowAppMenu() {
void Browser::ShowBookmarkManagerTab() {
UserMetrics::RecordAction(UserMetricsAction("ShowBookmarks"), profile_);
- ShowSingletonTab(GURL(chrome::kChromeUIBookmarksURL));
+ ShowSingletonTab(GURL(chrome::kChromeUIBookmarksURL), false);
}
void Browser::ShowHistoryTab() {
UserMetrics::RecordAction(UserMetricsAction("ShowHistory"), profile_);
- ShowSingletonTab(GURL(chrome::kChromeUIHistoryURL));
+ ShowSingletonTab(GURL(chrome::kChromeUIHistoryURL), false);
}
void Browser::ShowDownloadsTab() {
UserMetrics::RecordAction(UserMetricsAction("ShowDownloads"), profile_);
- ShowSingletonTab(GURL(chrome::kChromeUIDownloadsURL));
+ ShowSingletonTab(GURL(chrome::kChromeUIDownloadsURL), false);
}
void Browser::ShowExtensionsTab() {
UserMetrics::RecordAction(UserMetricsAction("ShowExtensions"), profile_);
- ShowSingletonTab(GURL(chrome::kChromeUIExtensionsURL));
+ ShowSingletonTab(GURL(chrome::kChromeUIExtensionsURL), false);
}
void Browser::ShowAboutConflictsTab() {
UserMetrics::RecordAction(UserMetricsAction("AboutConflicts"), profile_);
- ShowSingletonTab(GURL(chrome::kChromeUIConflictsURL));
+ ShowSingletonTab(GURL(chrome::kChromeUIConflictsURL), false);
}
void Browser::ShowBrokenPageTab(TabContents* contents) {
@@ -1756,33 +1757,12 @@ void Browser::ShowBrokenPageTab(TabContents* contents) {
subst.push_back(page_url);
std::string report_page_url =
ReplaceStringPlaceholders(kBrokenPageUrl, subst, NULL);
- ShowSingletonTab(GURL(report_page_url));
+ ShowSingletonTab(GURL(report_page_url), false);
}
void Browser::ShowOptionsTab(const std::string& sub_page) {
GURL url(chrome::kChromeUISettingsURL + sub_page);
-
- // See if there is already an options tab open that we can use.
- TabStripModel* model = tab_handler_->GetTabStripModel();
- for (int i = 0; i < model->count(); i++) {
- TabContents* tc = model->GetTabContentsAt(i);
- const GURL& tab_url = tc->GetURL();
-
- if (tab_url.scheme() == url.scheme() && tab_url.host() == url.host()) {
- // We found an existing options tab, load the URL in this tab. (Note:
- // this may cause us to unnecessarily reload the same page. We can't
- // really detect that unless the options page is permitted to change the
- // URL in the address bar, but security policy doesn't allow that.
- browser::NavigateParams params(this, url, PageTransition::GENERATED);
- params.source_contents = tc;
- browser::Navigate(&params);
- model->SelectTabContentsAt(i, false);
- return;
- }
- }
-
- // No options tab found, so create a new one.
- AddSelectedTabWithURL(url, PageTransition::AUTO_BOOKMARK);
+ ShowSingletonTab(url, true);
}
void Browser::OpenClearBrowsingDataDialog() {
@@ -1848,7 +1828,7 @@ void Browser::OpenRemotingSetupDialog() {
void Browser::OpenAboutChromeDialog() {
UserMetrics::RecordAction(UserMetricsAction("AboutChrome"), profile_);
#if defined(OS_CHROMEOS)
- ShowSingletonTab(GURL(chrome::kChromeUIAboutURL));
+ ShowSingletonTab(GURL(chrome::kChromeUIAboutURL), false);
#else
window_->ShowAboutChromeDialog();
#endif
« no previous file with comments | « chrome/browser/ui/browser.h ('k') | chrome/browser/ui/browser_navigator.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698