mirror of https://github.com/electron/electron
95 lines
4.2 KiB
Diff
95 lines
4.2 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: deepak1556 <hop2deep@gmail.com>
|
|
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 ceced82cbd23b2dcd7fabf7d63028423f86e05c3..27d0b61a7b67d1c9d7e0699e287b78332d9dce26 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"
|
|
@@ -46,7 +49,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) {
|
|
@@ -177,7 +180,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(
|
|
@@ -373,7 +376,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)
|
|
@@ -452,6 +455,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.
|
|
//
|
|
@@ -490,6 +494,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 28d3689be10469fa9f6bd8e608717c4d13a92620..9497277742369bfc53d14462ab354c31799b967e 100644
|
|
--- a/chrome/browser/ui/views/overlay/video_overlay_window_views.cc
|
|
+++ b/chrome/browser/ui/views/overlay/video_overlay_window_views.cc
|
|
@@ -343,11 +343,13 @@ std::unique_ptr<VideoOverlayWindowViews> VideoOverlayWindowViews::Create(
|
|
input_scope);
|
|
#endif // BUILDFLAG(IS_WIN)
|
|
|
|
+#if 0
|
|
PictureInPictureOcclusionTracker* tracker =
|
|
PictureInPictureWindowManager::GetInstance()->GetOcclusionTracker();
|
|
if (tracker) {
|
|
tracker->OnPictureInPictureWidgetOpened(overlay_window.get());
|
|
}
|
|
+#endif
|
|
|
|
return overlay_window;
|
|
}
|