summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
authormmenke@chromium.org <mmenke@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-16 18:14:11 +0000
committermmenke@chromium.org <mmenke@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-16 18:14:11 +0000
commit1b1a9221491b3c47b33c4380efeab04a36d98112 (patch)
treeed6fe022f1fae5b1533f9dbefff20a9659a3e36a /chrome
parente08d6e5435ecea68d27292606c8b478bf06c2713 (diff)
downloadchromium_src-1b1a9221491b3c47b33c4380efeab04a36d98112.zip
chromium_src-1b1a9221491b3c47b33c4380efeab04a36d98112.tar.gz
chromium_src-1b1a9221491b3c47b33c4380efeab04a36d98112.tar.bz2
Fix the links from about:about to pages with DOM UIs.
Does this by using a generic DOM UI for chrome://about/ pages. BUG=56726 TEST=manual Review URL: http://codereview.chromium.org/3784005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62867 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r--chrome/browser/dom_ui/dom_ui_factory.cc4
-rw-r--r--chrome/common/url_constants.cc1
-rw-r--r--chrome/common/url_constants.h1
3 files changed, 6 insertions, 0 deletions
diff --git a/chrome/browser/dom_ui/dom_ui_factory.cc b/chrome/browser/dom_ui/dom_ui_factory.cc
index 88a3b4f..0b28d44 100644
--- a/chrome/browser/dom_ui/dom_ui_factory.cc
+++ b/chrome/browser/dom_ui/dom_ui_factory.cc
@@ -112,6 +112,10 @@ static DOMUIFactoryFunction GetDOMUIFactoryFunction(Profile* profile,
url.SchemeIs(chrome::kChromeInternalScheme))
return &NewDOMUI<NewTabUI>;
+ // Give about:about a generic DOM UI so it can navigate to pages with DOM UIs.
+ if (url.spec() == chrome::kChromeUIAboutAboutURL)
+ return &NewDOMUI<DOMUI>;
+
// We must compare hosts only since some of the DOM UIs append extra stuff
// after the host name.
if (url.host() == chrome::kChromeUIBookmarksHost)
diff --git a/chrome/common/url_constants.cc b/chrome/common/url_constants.cc
index 55420a7..ba721a1 100644
--- a/chrome/common/url_constants.cc
+++ b/chrome/common/url_constants.cc
@@ -66,6 +66,7 @@ const char kAboutVersionURL[] = "about:version";
// to be used for testing.
const char kAboutBrowserCrash[] = "about:inducebrowsercrashforrealz";
+const char kChromeUIAboutAboutURL[] = "chrome://about/about";
const char kChromeUIAboutURL[] = "chrome://settings/about";
const char kChromeUIAppLauncherURL[] = "chrome://newtab/#mode=app-launcher";
const char kChromeUIBookmarksURL[] = "chrome://bookmarks/";
diff --git a/chrome/common/url_constants.h b/chrome/common/url_constants.h
index 77aa367..ab3853c 100644
--- a/chrome/common/url_constants.h
+++ b/chrome/common/url_constants.h
@@ -59,6 +59,7 @@ extern const char kAboutVersionURL[];
// chrome: URLs (including schemes). Should be kept in sync with the
// components below.
+extern const char kChromeUIAboutAboutURL[];
extern const char kChromeUIAboutURL[];
extern const char kChromeUIAppLauncherURL[];
extern const char kChromeUIBookmarksURL[];