Revert "WebUI: Migrate FlagsUI to WebUIConfig."

Reason: Broke chrome://flags/deprecated surface.

Bug: 40222519,343505823
Change-Id: Ieb15867f5c64ad797d0aafda9a037627b94987dc
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5594348
Reviewed-by: Teresa Mao <temao@chromium.org>
Commit-Queue: Demetrios Papadopoulos <dpapad@chromium.org>
Code-Coverage: findit-for-me@appspot.gserviceaccount.com <findit-for-me@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#1309489}
diff --git a/chrome/browser/ui/webui/chrome_web_ui_configs.cc b/chrome/browser/ui/webui/chrome_web_ui_configs.cc
index dfcbd2e..e1b65cb 100644
--- a/chrome/browser/ui/webui/chrome_web_ui_configs.cc
+++ b/chrome/browser/ui/webui/chrome_web_ui_configs.cc
@@ -12,7 +12,6 @@
 #include "chrome/browser/ui/webui/browsing_topics/browsing_topics_internals_ui.h"
 #include "chrome/browser/ui/webui/components/components_ui.h"
 #include "chrome/browser/ui/webui/data_sharing_internals/data_sharing_internals_ui.h"
-#include "chrome/browser/ui/webui/flags/flags_ui.h"
 #include "chrome/browser/ui/webui/local_state/local_state_ui.h"
 #include "chrome/browser/ui/webui/location_internals/location_internals_ui.h"
 #include "chrome/browser/ui/webui/memory_internals_ui.h"
@@ -67,7 +66,6 @@
   map.AddWebUIConfig(std::make_unique<BrowsingTopicsInternalsUIConfig>());
   map.AddWebUIConfig(std::make_unique<ComponentsUIConfig>());
   map.AddWebUIConfig(std::make_unique<DataSharingInternalsUIConfig>());
-  map.AddWebUIConfig(std::make_unique<FlagsUIConfig>());
   map.AddWebUIConfig(std::make_unique<LocalStateUIConfig>());
   map.AddWebUIConfig(std::make_unique<LocationInternalsUIConfig>());
   map.AddWebUIConfig(std::make_unique<MemoryInternalsUIConfig>());
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 7ed6bb4..1cb8b79 100644
--- a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
+++ b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
@@ -440,6 +440,9 @@
   if (url.host_piece() == chrome::kChromeUIFlagsHost &&
       FlagsDeprecatedUI::IsDeprecatedUrl(url))
     return &NewWebUI<FlagsDeprecatedUI>;
+  if (url.host_piece() == chrome::kChromeUIFlagsHost) {
+    return &NewWebUI<FlagsUI>;
+  }
   if (url.host_piece() == chrome::kChromeUIGCMInternalsHost)
     return &NewWebUI<GCMInternalsUI>;
   if (url.host_piece() == chrome::kChromeUIInternalsHost)
diff --git a/chrome/browser/ui/webui/flags/flags_ui.h b/chrome/browser/ui/webui/flags/flags_ui.h
index 8a4ce03..7960f7c 100644
--- a/chrome/browser/ui/webui/flags/flags_ui.h
+++ b/chrome/browser/ui/webui/flags/flags_ui.h
@@ -10,7 +10,6 @@
 #include "build/chromeos_buildflags.h"
 #include "chrome/common/webui_url_constants.h"
 #include "content/public/browser/web_ui_controller.h"
-#include "content/public/browser/webui_config.h"
 #include "content/public/common/url_constants.h"
 #include "ui/base/resource/resource_scale_factor.h"
 
@@ -24,13 +23,6 @@
 
 class FlagsUI;
 
-class FlagsUIConfig : public content::DefaultWebUIConfig<FlagsUI> {
- public:
-  FlagsUIConfig()
-      : DefaultWebUIConfig(content::kChromeUIScheme,
-                           chrome::kChromeUIFlagsHost) {}
-};
-
 class FlagsUI : public content::WebUIController {
  public:
   explicit FlagsUI(content::WebUI* web_ui);