Index: chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc |
diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc |
index 2c8ec46a6271fc15bdb5b4eda2bbab7e9a2f7524..b4acde4a309c4fe289404975b988658dac5d0de6 100644 |
--- a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc |
+++ b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc |
@@ -390,8 +390,13 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui, |
if (url.host() == chrome::kChromeUIQuotaInternalsHost) |
return &NewWebUI<QuotaInternalsUI>; |
// Settings are implemented with native UI elements on Android. |
- if (url.host() == chrome::kChromeUISettingsFrameHost) |
+ // Handle chrome://settings if settings in a window and about in settings |
+ // are enabled. |
+ if (url.host() == chrome::kChromeUISettingsFrameHost || |
+ (url.host() == chrome::kChromeUISettingsHost && |
+ ::switches::AboutInSettingsEnabled())) { |
return &NewWebUI<options::OptionsUI>; |
+ } |
if (url.host() == chrome::kChromeUISuggestionsInternalsHost) |
return &NewWebUI<SuggestionsInternalsUI>; |
if (url.host() == chrome::kChromeUISyncFileSystemInternalsHost) |