summaryrefslogtreecommitdiffstats
path: root/chrome/browser/browser_about_handler.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/browser_about_handler.cc')
-rw-r--r--chrome/browser/browser_about_handler.cc19
1 files changed, 15 insertions, 4 deletions
diff --git a/chrome/browser/browser_about_handler.cc b/chrome/browser/browser_about_handler.cc
index 7878b25..c747986 100644
--- a/chrome/browser/browser_about_handler.cc
+++ b/chrome/browser/browser_about_handler.cc
@@ -10,6 +10,7 @@
#include "base/strings/string_util.h"
#include "chrome/browser/lifetime/application_lifetime.h"
#include "chrome/browser/ui/browser_dialogs.h"
+#include "chrome/common/chrome_switches.h"
#include "chrome/common/url_constants.h"
#include "components/url_fixer/url_fixer.h"
@@ -59,12 +60,22 @@ bool WillHandleBrowserAboutURL(GURL* url,
#endif
// Redirect chrome://settings
} else if (host == chrome::kChromeUISettingsHost) {
- host = chrome::kChromeUIUberHost;
- path = chrome::kChromeUISettingsHost + url->path();
+ if (::switches::AboutInSettingsEnabled()) {
+ host = chrome::kChromeUISettingsFrameHost;
+ } else {
+ host = chrome::kChromeUIUberHost;
+ path = chrome::kChromeUISettingsHost + url->path();
+ }
// Redirect chrome://help
} else if (host == chrome::kChromeUIHelpHost) {
- host = chrome::kChromeUIUberHost;
- path = chrome::kChromeUIHelpHost + url->path();
+ if (::switches::AboutInSettingsEnabled()) {
+ host = chrome::kChromeUISettingsFrameHost;
+ if (url->path().empty() || url->path() == "/")
+ path = chrome::kChromeUIHelpHost;
+ } else {
+ host = chrome::kChromeUIUberHost;
+ path = chrome::kChromeUIHelpHost + url->path();
+ }
}
GURL::Replacements replacements;