From 139ea1511f58d7c85d2d566f11816a3f14ab58ac Mon Sep 17 00:00:00 2001 From: David Bertoni <dbertoni@chromium.org> Date: Fri, 28 Mar 2025 13:27:31 -0700 Subject: [PATCH] [Extensions] Fix some issues with the ENABLE_GUEST_VIEW build flag. ExtensionsApiClient has some virtual functions controlled by this flag. Unfortunately, the derived classes implement overrides and these declarations and definitions aren't controlled by this flag, which leads to compilation errors. This CL adds the necessary ifdef blocks. Bug: 356671305 Change-Id: I285e6dd8fdb9a56a79db4c22deb68f6c55e7c750 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6394592 Reviewed-by: Justin Lulejian <jlulejian@chromium.org> Commit-Queue: David Bertoni <dbertoni@chromium.org> Auto-Submit: David Bertoni <dbertoni@chromium.org> Cr-Commit-Position: refs/heads/main@{#1439669} --- chrome/browser/extensions/api/chrome_extensions_api_client.cc | 2 ++ chrome/browser/extensions/api/chrome_extensions_api_client.h | 3 +++ extensions/shell/browser/shell_extensions_api_client.cc | 2 ++ extensions/shell/browser/shell_extensions_api_client.h | 2 ++ 4 files changed, 9 insertions(+) diff --git a/chrome/browser/extensions/api/chrome_extensions_api_client.cc b/chrome/browser/extensions/api/chrome_extensions_api_client.cc index f61ec524109fe..0ac0d2fae56a9 100644 --- a/chrome/browser/extensions/api/chrome_extensions_api_client.cc +++ b/chrome/browser/extensions/api/chrome_extensions_api_client.cc @@ -290,6 +290,7 @@ void ChromeExtensionsAPIClient::OpenFileUrl( Navigate(&navigate_params); } +#if BUILDFLAG(ENABLE_GUEST_VIEW) AppViewGuestDelegate* ChromeExtensionsAPIClient::CreateAppViewGuestDelegate() const { return new ChromeAppViewGuestDelegate(); @@ -322,6 +323,7 @@ ChromeExtensionsAPIClient::CreateWebViewPermissionHelperDelegate( WebViewPermissionHelper* web_view_permission_helper) const { return new ChromeWebViewPermissionHelperDelegate(web_view_permission_helper); } +#endif // BUILDFLAG(ENABLE_GUEST_VIEW) #if BUILDFLAG(IS_CHROMEOS) std::unique_ptr<ConsentProvider> diff --git a/chrome/browser/extensions/api/chrome_extensions_api_client.h b/chrome/browser/extensions/api/chrome_extensions_api_client.h index 56568a6fa50c8..84822e4b43864 100644 --- a/chrome/browser/extensions/api/chrome_extensions_api_client.h +++ b/chrome/browser/extensions/api/chrome_extensions_api_client.h @@ -6,6 +6,7 @@ #define CHROME_BROWSER_EXTENSIONS_API_CHROME_EXTENSIONS_API_CLIENT_H_ #include "base/memory/raw_ptr.h" +#include "build/build_config.h" #include "build/chromeos_buildflags.h" #include "extensions/browser/api/extensions_api_client.h" @@ -52,6 +53,7 @@ class ChromeExtensionsAPIClient : public ExtensionsAPIClient { const Extension& extension) override; void OpenFileUrl(const GURL& file_url, content::BrowserContext* browser_context) override; +#if BUILDFLAG(ENABLE_GUEST_VIEW) AppViewGuestDelegate* CreateAppViewGuestDelegate() const override; ExtensionOptionsGuestDelegate* CreateExtensionOptionsGuestDelegate( ExtensionOptionsGuest* guest) const override; @@ -64,6 +66,7 @@ class ChromeExtensionsAPIClient : public ExtensionsAPIClient { WebViewGuest* web_view_guest) const override; WebViewPermissionHelperDelegate* CreateWebViewPermissionHelperDelegate( WebViewPermissionHelper* web_view_permission_helper) const override; +#endif // BUILDFLAG(ENABLE_GUEST_VIEW) #if BUILDFLAG(IS_CHROMEOS) std::unique_ptr<ConsentProvider> CreateConsentProvider( content::BrowserContext* browser_context) const override; diff --git a/extensions/shell/browser/shell_extensions_api_client.cc b/extensions/shell/browser/shell_extensions_api_client.cc index 0bf1ad71ea362..267e4b0c46ae7 100644 --- a/extensions/shell/browser/shell_extensions_api_client.cc +++ b/extensions/shell/browser/shell_extensions_api_client.cc @@ -33,6 +33,7 @@ void ShellExtensionsAPIClient::AttachWebContentsHelpers( ShellExtensionWebContentsObserver::CreateForWebContents(web_contents); } +#if BUILDFLAG(ENABLE_GUEST_VIEW) AppViewGuestDelegate* ShellExtensionsAPIClient::CreateAppViewGuestDelegate() const { return new ShellAppViewGuestDelegate(); @@ -42,6 +43,7 @@ WebViewGuestDelegate* ShellExtensionsAPIClient::CreateWebViewGuestDelegate( WebViewGuest* web_view_guest) const { return new ShellWebViewGuestDelegate(); } +#endif // BUILDFLAG(ENABLE_GUEST_VIEW) std::unique_ptr<VirtualKeyboardDelegate> ShellExtensionsAPIClient::CreateVirtualKeyboardDelegate( diff --git a/extensions/shell/browser/shell_extensions_api_client.h b/extensions/shell/browser/shell_extensions_api_client.h index 409c1cacd572d..2ce760952efac 100644 --- a/extensions/shell/browser/shell_extensions_api_client.h +++ b/extensions/shell/browser/shell_extensions_api_client.h @@ -27,9 +27,11 @@ class ShellExtensionsAPIClient : public ExtensionsAPIClient { // ExtensionsAPIClient implementation. void AttachWebContentsHelpers(content::WebContents* web_contents) const override; +#if BUILDFLAG(ENABLE_GUEST_VIEW) AppViewGuestDelegate* CreateAppViewGuestDelegate() const override; WebViewGuestDelegate* CreateWebViewGuestDelegate( WebViewGuest* web_view_guest) const override; +#endif // BUILDFLAG(ENABLE_GUEST_VIEW) std::unique_ptr<VirtualKeyboardDelegate> CreateVirtualKeyboardDelegate( content::BrowserContext* browser_context) const override; std::unique_ptr<DisplayInfoProvider> CreateDisplayInfoProvider()