From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: deepak1556 Date: Wed, 30 Aug 2023 15:56:53 +0900 Subject: fix: move AutoPipSettingsHelper behind branding buildflag The class was added in https://chromium-review.googlesource.com/c/chromium/src/+/4688277 which is primarily used for providing an overlay view in a PIP window to support content settings UI. The support pulls in chrome content settings and UI code which are not valid in the scope of Electron. diff --git a/chrome/browser/picture_in_picture/picture_in_picture_window_manager.cc b/chrome/browser/picture_in_picture/picture_in_picture_window_manager.cc index ea4646388c4747438ddd7a9164a9e61091679c28..5aded14b616e70ac98e0daa7ff94ec4294409950 100644 --- a/chrome/browser/picture_in_picture/picture_in_picture_window_manager.cc +++ b/chrome/browser/picture_in_picture/picture_in_picture_window_manager.cc @@ -6,6 +6,7 @@ #include "base/memory/raw_ptr.h" #include "base/numerics/safe_conversions.h" +#include "build/branding_buildflags.h" #include "chrome/browser/picture_in_picture/picture_in_picture_bounds_cache.h" #include "chrome/browser/picture_in_picture/picture_in_picture_occlusion_tracker.h" #include "chrome/browser/ui/browser_navigator_params.h" @@ -25,7 +26,9 @@ #include "base/metrics/histogram_functions.h" #include "base/numerics/checked_math.h" #include "base/task/sequenced_task_runner.h" +#if BUILDFLAG(GOOGLE_CHROME_BRANDING) #include "chrome/browser/picture_in_picture/auto_picture_in_picture_tab_helper.h" +#endif // BUILDFLAG(GOOGLE_CHROME_BRANDING) #include "media/base/media_switches.h" #include "net/base/url_util.h" #include "third_party/blink/public/common/features.h" @@ -49,7 +52,7 @@ constexpr gfx::Size kMinWindowSize(240, 52); // not apply to video Picture-in-Picture windows. constexpr double kMaxWindowSizeRatio = 0.8; -#if !BUILDFLAG(IS_ANDROID) +#if !BUILDFLAG(IS_ANDROID) && BUILDFLAG(GOOGLE_CHROME_BRANDING) // Returns true if a document picture-in-picture window should be focused upon // opening it. bool ShouldFocusPictureInPictureWindow(const NavigateParams& params) { @@ -196,7 +199,7 @@ bool PictureInPictureWindowManager::ExitPictureInPictureViaWindowUi( return false; } -#if !BUILDFLAG(IS_ANDROID) +#if !BUILDFLAG(IS_ANDROID) && BUILDFLAG(GOOGLE_CHROME_BRANDING) // The user manually closed the pip window, so let the tab helper know in case // the auto-pip permission dialog was visible. if (auto* tab_helper = AutoPictureInPictureTabHelper::FromWebContents( @@ -401,7 +404,7 @@ gfx::Size PictureInPictureWindowManager::GetMaximumWindowSize( // static void PictureInPictureWindowManager::SetWindowParams(NavigateParams& params) { -#if !BUILDFLAG(IS_ANDROID) +#if !BUILDFLAG(IS_ANDROID) && BUILDFLAG(GOOGLE_CHROME_BRANDING) // Always show document picture-in-picture in a new window. When this is // not opened via the AutoPictureInPictureTabHelper, focus the window. params.window_action = ShouldFocusPictureInPictureWindow(params) @@ -493,6 +496,7 @@ PictureInPictureWindowManager::GetOverlayView( return nullptr; } +#if BUILDFLAG(GOOGLE_CHROME_BRANDING) // It would be nice to create this in `EnterPictureInPicture*`, but detecting // auto-pip while pip is in the process of opening doesn't work. // @@ -531,6 +535,8 @@ PictureInPictureWindowManager::GetOverlayView( } return overlay_view; +#endif // BUILDFLAG(GOOGLE_CHROME_BRANDING) + return nullptr; } PictureInPictureOcclusionTracker* diff --git a/chrome/browser/ui/views/overlay/video_overlay_window_views.cc b/chrome/browser/ui/views/overlay/video_overlay_window_views.cc index 996f6f99f722683428ea4ff5aef9cdc5d396af2c..f35c07ec123f4e3a5883999f7e0d81cd9d88e1c0 100644 --- a/chrome/browser/ui/views/overlay/video_overlay_window_views.cc +++ b/chrome/browser/ui/views/overlay/video_overlay_window_views.cc @@ -430,11 +430,13 @@ std::unique_ptr VideoOverlayWindowViews::Create( #endif // BUILDFLAG(IS_WIN) +#if 0 PictureInPictureOcclusionTracker* tracker = PictureInPictureWindowManager::GetInstance()->GetOcclusionTracker(); if (tracker) { tracker->OnPictureInPictureWidgetOpened(overlay_window.get()); } +#endif return overlay_window; }