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

Unified Diff: chrome/browser/chrome_content_browser_client.cc

Issue 2949053004: MD Settings: fix help/ redirection to only happen on chrome://help (Closed)
Patch Set: whoops Created 3 years, 6 months 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
Index: chrome/browser/chrome_content_browser_client.cc
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
index 91a86f06cb0f26a9b5ee9bbb85739bfc9968cda6..4282bfe0c9fa8fd758aeba991b95e2913935e109 100644
--- a/chrome/browser/chrome_content_browser_client.cc
+++ b/chrome/browser/chrome_content_browser_client.cc
@@ -611,47 +611,6 @@ bool HandleNewTabPageLocationOverride(
return true;
}
-// Handles rewriting Web UI URLs.
-bool HandleWebUI(GURL* url, content::BrowserContext* browser_context) {
- // Rewrite chrome://help and chrome://chrome to chrome://settings/help.
- if (url->host() == chrome::kChromeUIHelpHost ||
- (url->host() == chrome::kChromeUIUberHost &&
- (url->path().empty() || url->path() == "/"))) {
- *url = ReplaceURLHostAndPath(*url, chrome::kChromeUISettingsHost,
- chrome::kChromeUIHelpHost);
- return true; // Return true to update the displayed URL.
- }
-
- if (!ChromeWebUIControllerFactory::GetInstance()->UseWebUIForURL(
- browser_context, *url)) {
- return false;
- }
-
-#if defined(OS_CHROMEOS)
- // Special case : in ChromeOS in Guest mode bookmarks and history are
- // disabled for security reasons. New tab page explains the reasons, so
- // we redirect user to new tab page.
- if (user_manager::UserManager::Get()->IsLoggedInAsGuest()) {
- if (url->SchemeIs(content::kChromeUIScheme) &&
- (url->DomainIs(chrome::kChromeUIBookmarksHost) ||
- url->DomainIs(chrome::kChromeUIHistoryHost))) {
- // Rewrite with new tab URL
- *url = GURL(chrome::kChromeUINewTabURL);
- }
- }
-#endif
-
- return true;
-}
-
-// Reverse URL handler for Web UI. Maps "chrome://chrome/foo/" to
-// "chrome://foo/".
-bool HandleWebUIReverse(GURL* url, content::BrowserContext* browser_context) {
- // No need to actually reverse-rewrite the URL, but return true to update the
- // displayed URL when rewriting chrome://help to chrome://settings/help.
- return url->host() == chrome::kChromeUISettingsHost;
-}
-
bool CertMatchesFilter(const net::X509Certificate& cert,
const base::DictionaryValue& filter) {
// TODO(markusheintz): This is the minimal required filter implementation.
@@ -2670,7 +2629,8 @@ void ChromeContentBrowserClient::BrowserURLHandlerCreated(
#endif
// chrome: & friends.
- handler->AddHandlerPair(&HandleWebUI, &HandleWebUIReverse);
+ handler->AddHandlerPair(&ChromeContentBrowserClient::HandleWebUI,
+ &ChromeContentBrowserClient::HandleWebUIReverse);
}
base::FilePath ChromeContentBrowserClient::GetDefaultDownloadDirectory() {
@@ -3466,6 +3426,53 @@ ChromeContentBrowserClient::CreateURLLoaderThrottles(
return result;
}
+// Static; handles rewriting Web UI URLs.
+bool ChromeContentBrowserClient::HandleWebUI(
+ GURL* url,
+ content::BrowserContext* browser_context) {
+ // Rewrite chrome://help and chrome://chrome to chrome://settings/help.
+ if (url->SchemeIs(content::kChromeUIScheme) &&
+ (url->host() == chrome::kChromeUIHelpHost ||
+ (url->host() == chrome::kChromeUIUberHost &&
+ (url->path().empty() || url->path() == "/")))) {
+ *url = ReplaceURLHostAndPath(*url, chrome::kChromeUISettingsHost,
+ chrome::kChromeUIHelpHost);
+ return true; // Return true to update the displayed URL.
+ }
+
+ if (!ChromeWebUIControllerFactory::GetInstance()->UseWebUIForURL(
+ browser_context, *url)) {
+ return false;
+ }
+
+#if defined(OS_CHROMEOS)
+ // Special case : in ChromeOS in Guest mode bookmarks and history are
+ // disabled for security reasons. New tab page explains the reasons, so
+ // we redirect user to new tab page.
+ if (user_manager::UserManager::Get()->IsLoggedInAsGuest()) {
+ if (url->SchemeIs(content::kChromeUIScheme) &&
+ (url->DomainIs(chrome::kChromeUIBookmarksHost) ||
+ url->DomainIs(chrome::kChromeUIHistoryHost))) {
+ // Rewrite with new tab URL
+ *url = GURL(chrome::kChromeUINewTabURL);
+ }
+ }
+#endif
+
+ return true;
+}
+
+// Static; reverse URL handler for Web UI. Maps "chrome://chrome/foo/" to
+// "chrome://foo/".
+bool ChromeContentBrowserClient::HandleWebUIReverse(
+ GURL* url,
+ content::BrowserContext* browser_context) {
+ // No need to actually reverse-rewrite the URL, but return true to update the
+ // displayed URL when rewriting chrome://help to chrome://settings/help.
+ return url->SchemeIs(content::kChromeUIScheme) &&
+ url->host() == chrome::kChromeUISettingsHost;
+}
+
// static
void ChromeContentBrowserClient::SetDefaultQuotaSettingsForTesting(
const storage::QuotaSettings* settings) {
« no previous file with comments | « chrome/browser/chrome_content_browser_client.h ('k') | chrome/browser/chrome_content_browser_client_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698