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

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

Issue 8623001: Move remaining about: handlers to webUI. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 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/webui/about_ui.cc ('k') | chrome/browser/ui/webui/chromeos/login/oobe_ui.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/webui/chrome_web_ui_factory.cc
===================================================================
--- chrome/browser/ui/webui/chrome_web_ui_factory.cc (revision 110966)
+++ chrome/browser/ui/webui/chrome_web_ui_factory.cc (working copy)
@@ -11,6 +11,7 @@
#include "chrome/browser/history/history_types.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/profiles/profile_manager.h"
+#include "chrome/browser/ui/webui/about_ui.h"
#include "chrome/browser/ui/webui/bookmarks_ui.h"
#include "chrome/browser/ui/webui/bug_report_ui.h"
#include "chrome/browser/ui/webui/constrained_html_ui.h"
@@ -103,12 +104,18 @@
return NULL;
}
+// Special case for older about: handlers.
+template<>
+ChromeWebUI* NewWebUI<AboutUI>(TabContents* contents, const GURL& url) {
+ return new AboutUI(contents, url.host());
+}
+
// Returns a function that can be used to create the right type of WebUI for a
// tab, based on its URL. Returns NULL if the URL doesn't have WebUI associated
// with it. Even if the factory function is valid, it may yield a NULL WebUI
// when invoked for a particular tab - see NewWebUI<ExtensionWebUI>.
-static WebUIFactoryFunction GetWebUIFactoryFunction(Profile* profile,
- const GURL& url) {
+WebUIFactoryFunction GetWebUIFactoryFunction(Profile* profile,
+ const GURL& url) {
if (url.host() == chrome::kChromeUIDialogHost)
return &NewWebUI<ConstrainedHtmlUI>;
@@ -141,11 +148,6 @@
url.SchemeIs(chrome::kChromeInternalScheme))
return &NewWebUI<NewTabUI>;
- // Return a generic Web UI so chrome:chrome-urls can navigate to Web UI pages.
- if (url.host() == chrome::kChromeUIAboutHost ||
- url.host() == chrome::kChromeUIChromeURLsHost)
- return &NewWebUI<ChromeWebUI>;
-
// We must compare hosts only since some of the Web UIs append extra stuff
// after the host name.
if (url.host() == chrome::kChromeUIBookmarksHost)
@@ -269,6 +271,41 @@
return &NewWebUI<NewTabUI>;
}
#endif
+
+ if (url.host() == chrome::kChromeUIChromeURLsHost ||
+ url.host() == chrome::kChromeUICreditsHost ||
+ url.host() == chrome::kChromeUIDNSHost ||
+ url.host() == chrome::kChromeUIHistogramsHost ||
+ url.host() == chrome::kChromeUIMemoryHost ||
+ url.host() == chrome::kChromeUIMemoryRedirectHost ||
+ url.host() == chrome::kChromeUIStatsHost ||
+ url.host() == chrome::kChromeUITaskManagerHost ||
+ url.host() == chrome::kChromeUITermsHost ||
+ url.host() == chrome::kChromeUIVersionHost) {
+ return &NewWebUI<AboutUI>;
+ }
+
+#if defined(USE_TCMALLOC)
+ if (url.host() == chrome::kChromeUITCMallocHost)
Evan Stade 2011/11/22 02:27:44 nit: I would place these macro-guarded checks in t
Tom Sepez 2011/11/22 18:34:01 Will do. My personal preference has always been t
+ return &NewWebUI<AboutUI>;
+#endif
+
+#if defined(OS_LINUX) || defined(OS_OPENBSD)
+ if (url.host() == chrome::kChromeUILinuxProxyConfigHost ||
+ url.host() == chrome::kChromeUISandboxHost) {
+ return &NewWebUI<AboutUI>;
+ }
+#endif
+
+#if defined(OS_CHROMEOS)
+ if (url.host() == chrome::kChromeUICryptohomeHost ||
+ url.host() == chrome::kChromeUIDiscardsHost ||
+ url.host() == chrome::kChromeUINetworkHost ||
+ url.host() == chrome::kChromeUIOSCreditsHost) {
+ return &NewWebUI<AboutUI>;
+ }
+#endif
+
DLOG(WARNING) << "Unknown WebUI:" << url;
return NULL;
}
« no previous file with comments | « chrome/browser/ui/webui/about_ui.cc ('k') | chrome/browser/ui/webui/chromeos/login/oobe_ui.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698