diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-11-18 16:35:47 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-11-18 15:45:54 +0000 |
commit | 32f5a1c56531e4210bc4cf8d8c7825d66e081888 (patch) | |
tree | eeeec6822f4d738d8454525233fd0e2e3a659e6d /chromium/chrome/browser/ui/webui/settings/settings_ui.h | |
parent | 99677208ff3b216fdfec551fbe548da5520cd6fb (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.h | 48 |
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); }; |