summaryrefslogtreecommitdiffstats
path: root/chromium/chrome/browser/ui/webui/settings/settings_ui.h
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2020-11-18 16:35:47 +0100
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2020-11-18 15:45:54 +0000
commit32f5a1c56531e4210bc4cf8d8c7825d66e081888 (patch)
treeeeeec6822f4d738d8454525233fd0e2e3a659e6d /chromium/chrome/browser/ui/webui/settings/settings_ui.h
parent99677208ff3b216fdfec551fbe548da5520cd6fb (diff)
BASELINE: Update Chromium to 87.0.4280.67
Change-Id: Ib157360be8c2ffb2c73125751a89f60e049c1d54 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/chrome/browser/ui/webui/settings/settings_ui.h')
-rw-r--r--chromium/chrome/browser/ui/webui/settings/settings_ui.h48
1 files changed, 46 insertions, 2 deletions
diff --git a/chromium/chrome/browser/ui/webui/settings/settings_ui.h b/chromium/chrome/browser/ui/webui/settings/settings_ui.h
index ff4a05c608e..6da24f5e2c8 100644
--- a/chromium/chrome/browser/ui/webui/settings/settings_ui.h
+++ b/chromium/chrome/browser/ui/webui/settings/settings_ui.h
@@ -6,10 +6,19 @@
#define CHROME_BROWSER_UI_WEBUI_SETTINGS_SETTINGS_UI_H_
#include "base/macros.h"
+#include "build/build_config.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/webui/webui_load_timer.h"
#include "content/public/browser/web_ui_controller.h"
+#if !defined(OS_CHROMEOS)
+#include "mojo/public/cpp/bindings/pending_receiver.h"
+#include "mojo/public/cpp/bindings/pending_remote.h"
+#include "mojo/public/cpp/bindings/receiver.h"
+#include "ui/webui/mojo_web_ui_controller.h"
+#include "ui/webui/resources/cr_components/customize_themes/customize_themes.mojom.h"
+#endif // !defined(OS_CHROMEOS)
+
namespace content {
class WebUIMessageHandler;
} // namespace content
@@ -18,10 +27,23 @@ namespace user_prefs {
class PrefRegistrySyncable;
}
+#if !defined(OS_CHROMEOS)
+class ChromeCustomizeThemesHandler;
+#endif // !defined(OS_CHROMEOS)
+
namespace settings {
// The WebUI handler for chrome://settings.
-class SettingsUI : public content::WebUIController {
+class SettingsUI :
+#if !defined(OS_CHROMEOS)
+ // chrome://settings/manageProfile which only exists on !OS_CHROMEOS
+ // requires mojo bindings.
+ public ui::MojoWebUIController,
+ public customize_themes::mojom::CustomizeThemesHandlerFactory
+#else // !defined(OS_CHROMEOS)
+ public content::WebUIController
+#endif // defined(OS_CHROMEOS)
+{
public:
static void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry);
@@ -32,7 +54,14 @@ class SettingsUI : public content::WebUIController {
// Initializes the WebUI message handlers for CrOS-specific settings that are
// still shown in the browser settings UI.
void InitBrowserSettingsWebUIHandlers();
-#endif // defined(OS_CHROMEOS)
+#else // defined(OS_CHROMEOS)
+ // Instantiates the implementor of the
+ // customize_themes::mojom::CustomizeThemesHandlerFactory mojo interface
+ // passing the pending receiver that will be internally bound.
+ void BindInterface(mojo::PendingReceiver<
+ customize_themes::mojom::CustomizeThemesHandlerFactory>
+ pending_receiver);
+#endif // !defined(OS_CHROMEOS)
private:
void AddSettingsPageUIHandler(
@@ -41,8 +70,23 @@ class SettingsUI : public content::WebUIController {
// Makes a request to show a HaTS survey.
void TryShowHatsSurveyWithTimeout();
+#if !defined(OS_CHROMEOS)
+ // customize_themes::mojom::CustomizeThemesHandlerFactory:
+ void CreateCustomizeThemesHandler(
+ mojo::PendingRemote<customize_themes::mojom::CustomizeThemesClient>
+ pending_client,
+ mojo::PendingReceiver<customize_themes::mojom::CustomizeThemesHandler>
+ pending_handler) override;
+
+ std::unique_ptr<ChromeCustomizeThemesHandler> customize_themes_handler_;
+ mojo::Receiver<customize_themes::mojom::CustomizeThemesHandlerFactory>
+ customize_themes_factory_receiver_;
+#endif // !defined(OS_CHROMEOS)
+
WebuiLoadTimer webui_load_timer_;
+ WEB_UI_CONTROLLER_TYPE_DECL();
+
DISALLOW_COPY_AND_ASSIGN(SettingsUI);
};