2019-08-22 10:17:50 +00:00
|
|
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
|
|
From: Heilig Benedek <benecene@gmail.com>
|
|
|
|
Date: Sat, 10 Aug 2019 00:41:50 +0200
|
|
|
|
Subject: feat: enable picture in picture mode for video players
|
|
|
|
|
2019-12-13 17:18:45 +00:00
|
|
|
These files are needed to implement PiP, but the Electron build patches out
|
|
|
|
chrome's generated resources for our own. This updates the #include so that we
|
|
|
|
don't get errors for Chrome's generated resources, which are non-existent
|
|
|
|
because we don't generate them in our build.
|
2019-08-22 10:17:50 +00:00
|
|
|
|
2022-02-25 18:17:35 +00:00
|
|
|
diff --git a/chrome/browser/ui/views/overlay/document_overlay_window_views.cc b/chrome/browser/ui/views/overlay/document_overlay_window_views.cc
|
2022-08-17 18:35:53 +00:00
|
|
|
index be17e30aa831282c4be52e788d67993d47eba5df..d5c3988af5be1d9e89330eb5c5195f9b94d13ffc 100644
|
2022-02-25 18:17:35 +00:00
|
|
|
--- a/chrome/browser/ui/views/overlay/document_overlay_window_views.cc
|
|
|
|
+++ b/chrome/browser/ui/views/overlay/document_overlay_window_views.cc
|
2022-04-06 16:34:35 +00:00
|
|
|
@@ -15,15 +15,19 @@
|
2022-02-25 18:17:35 +00:00
|
|
|
#include "base/timer/timer.h"
|
|
|
|
#include "build/build_config.h"
|
|
|
|
#include "chrome/app/vector_icons/vector_icons.h"
|
|
|
|
+#if 0
|
|
|
|
#include "chrome/browser/command_updater_delegate.h"
|
|
|
|
#include "chrome/browser/command_updater_impl.h"
|
|
|
|
#include "chrome/browser/profiles/profile.h"
|
2022-03-25 01:39:03 +00:00
|
|
|
#include "chrome/browser/themes/theme_service.h"
|
|
|
|
#include "chrome/browser/ui/browser.h"
|
2022-02-25 18:17:35 +00:00
|
|
|
#include "chrome/browser/ui/browser_finder.h"
|
2022-03-25 01:39:03 +00:00
|
|
|
+#endif
|
|
|
|
#include "chrome/browser/ui/color/chrome_color_id.h"
|
|
|
|
+#if 0
|
2022-02-25 18:17:35 +00:00
|
|
|
#include "chrome/browser/ui/toolbar/chrome_location_bar_model_delegate.h"
|
|
|
|
#include "chrome/browser/ui/views/location_bar/location_bar_view.h"
|
|
|
|
+#endif
|
|
|
|
#include "chrome/browser/ui/views/overlay/back_to_tab_image_button.h"
|
|
|
|
#include "chrome/browser/ui/views/overlay/close_image_button.h"
|
|
|
|
#include "chrome/browser/ui/views/overlay/resize_handle_button.h"
|
2022-03-25 01:39:03 +00:00
|
|
|
@@ -57,7 +61,7 @@
|
2022-02-25 18:17:35 +00:00
|
|
|
#include "ui/aura/window.h"
|
|
|
|
#endif
|
|
|
|
|
|
|
|
-#if BUILDFLAG(IS_WIN)
|
|
|
|
+#if 0
|
|
|
|
#include "chrome/browser/shell_integration_win.h"
|
|
|
|
#include "ui/aura/window.h"
|
|
|
|
#include "ui/aura/window_tree_host.h"
|
2022-03-25 01:39:03 +00:00
|
|
|
@@ -109,7 +113,7 @@ END_METADATA
|
2022-02-25 18:17:35 +00:00
|
|
|
} // namespace
|
|
|
|
|
|
|
|
OverlayLocationBarViewProxy::~OverlayLocationBarViewProxy() = default;
|
|
|
|
-
|
|
|
|
+#if 0
|
|
|
|
class OverlayLocationBarViewImpl : public OverlayLocationBarViewProxy,
|
|
|
|
public ChromeLocationBarModelDelegate,
|
|
|
|
public LocationBarView::Delegate,
|
2022-03-25 01:39:03 +00:00
|
|
|
@@ -167,7 +171,7 @@ class OverlayLocationBarViewImpl : public OverlayLocationBarViewProxy,
|
2022-02-25 18:17:35 +00:00
|
|
|
const std::unique_ptr<LocationBarModelImpl> location_bar_model_;
|
|
|
|
CommandUpdaterImpl command_updater_;
|
|
|
|
};
|
|
|
|
-
|
|
|
|
+#endif
|
|
|
|
// static
|
|
|
|
std::unique_ptr<DocumentOverlayWindowViews> DocumentOverlayWindowViews::Create(
|
|
|
|
content::DocumentPictureInPictureWindowController* controller,
|
2022-03-25 01:39:03 +00:00
|
|
|
@@ -203,7 +207,7 @@ std::unique_ptr<DocumentOverlayWindowViews> DocumentOverlayWindowViews::Create(
|
2022-02-25 18:17:35 +00:00
|
|
|
overlay_window->Init(std::move(params));
|
|
|
|
overlay_window->OnRootViewReady();
|
|
|
|
|
|
|
|
-#if BUILDFLAG(IS_WIN)
|
|
|
|
+#if 0
|
|
|
|
std::wstring app_user_model_id;
|
|
|
|
Browser* browser =
|
|
|
|
chrome::FindBrowserWithWebContents(controller->GetWebContents());
|
2022-03-25 01:39:03 +00:00
|
|
|
@@ -278,12 +282,6 @@ views::View* DocumentOverlayWindowViews::GetControlsContainerView() const {
|
2022-02-25 18:17:35 +00:00
|
|
|
return controls_container_view_;
|
|
|
|
}
|
|
|
|
|
|
|
|
-const ui::ThemeProvider* DocumentOverlayWindowViews::GetThemeProvider() const {
|
|
|
|
- // FIXME: is there a way to use a dark theme just for this window?
|
|
|
|
- DCHECK(profile_for_theme_);
|
|
|
|
- return &ThemeService::GetThemeProviderForProfile(profile_for_theme_);
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
void DocumentOverlayWindowViews::SetUpViews() {
|
|
|
|
// The window content consists of the fixed-height controls_container_view at
|
|
|
|
// the top which is a box layout, and the remainder of the view is filled with
|
2022-03-25 01:39:03 +00:00
|
|
|
@@ -299,6 +297,7 @@ void DocumentOverlayWindowViews::SetUpViews() {
|
2022-02-25 18:17:35 +00:00
|
|
|
// +-------------------------------------+
|
|
|
|
|
|
|
|
content::WebContents* pip_contents = controller_->GetChildWebContents();
|
|
|
|
+#if 0
|
|
|
|
auto* profile =
|
|
|
|
Profile::FromBrowserContext(pip_contents->GetBrowserContext());
|
|
|
|
profile_for_theme_ = profile;
|
2022-03-25 01:39:03 +00:00
|
|
|
@@ -309,8 +308,8 @@ void DocumentOverlayWindowViews::SetUpViews() {
|
2022-02-25 18:17:35 +00:00
|
|
|
location_bar_view_proxy_ = std::make_unique<OverlayLocationBarViewImpl>(
|
|
|
|
profile, controller_->GetWebContents());
|
|
|
|
}
|
|
|
|
-
|
|
|
|
- auto web_view = std::make_unique<views::WebView>(profile);
|
|
|
|
+#endif
|
|
|
|
+ auto web_view = std::make_unique<views::WebView>();
|
|
|
|
DVLOG(2) << __func__ << ": content WebView=" << web_view.get();
|
|
|
|
web_view->SetWebContents(pip_contents);
|
|
|
|
|
|
|
|
diff --git a/chrome/browser/ui/views/overlay/document_overlay_window_views.h b/chrome/browser/ui/views/overlay/document_overlay_window_views.h
|
2022-03-30 18:08:58 +00:00
|
|
|
index b2b178ccadce82f8d4ec8e5a6dafe1c67bcecd74..603d82a461c4c443ac26c85a46fbd866a42237e6 100644
|
2022-02-25 18:17:35 +00:00
|
|
|
--- a/chrome/browser/ui/views/overlay/document_overlay_window_views.h
|
|
|
|
+++ b/chrome/browser/ui/views/overlay/document_overlay_window_views.h
|
2022-03-30 18:08:58 +00:00
|
|
|
@@ -56,7 +56,6 @@ class DocumentOverlayWindowViews : public OverlayWindowViews,
|
2022-02-25 18:17:35 +00:00
|
|
|
bool IsVisible() const override;
|
|
|
|
void OnNativeWidgetMove() override;
|
|
|
|
void OnNativeWidgetDestroyed() override;
|
|
|
|
- const ui::ThemeProvider* GetThemeProvider() const override;
|
|
|
|
|
|
|
|
// OverlayWindowViews
|
|
|
|
bool ControlsHitTestContainsPoint(const gfx::Point& point) override;
|
2019-08-22 10:17:50 +00:00
|
|
|
diff --git a/chrome/browser/ui/views/overlay/overlay_window_views.cc b/chrome/browser/ui/views/overlay/overlay_window_views.cc
|
2022-09-08 23:23:08 +00:00
|
|
|
index 691df6efd7703cfd41c6468697f291f021758c2c..ad31fc53bdac6667ca9f1a15cc3390e3713136fd 100644
|
2019-08-22 10:17:50 +00:00
|
|
|
--- a/chrome/browser/ui/views/overlay/overlay_window_views.cc
|
|
|
|
+++ b/chrome/browser/ui/views/overlay/overlay_window_views.cc
|
2022-04-06 16:34:35 +00:00
|
|
|
@@ -14,9 +14,11 @@
|
2022-02-25 18:17:35 +00:00
|
|
|
#include "base/time/time.h"
|
2021-10-06 02:21:00 +00:00
|
|
|
#include "base/timer/timer.h"
|
2020-09-21 08:00:36 +00:00
|
|
|
#include "build/build_config.h"
|
|
|
|
+#if 0
|
|
|
|
#include "chrome/browser/profiles/profile.h"
|
|
|
|
#include "chrome/browser/ui/browser.h"
|
|
|
|
#include "chrome/browser/ui/browser_finder.h"
|
2022-02-25 18:17:35 +00:00
|
|
|
+#endif
|
2022-04-06 16:34:35 +00:00
|
|
|
#include "chrome/grit/generated_resources.h"
|
2022-09-07 07:46:37 +00:00
|
|
|
#include "chromeos/ui/base/chromeos_ui_constants.h"
|
2019-08-22 10:17:50 +00:00
|
|
|
#include "components/vector_icons/vector_icons.h"
|
2022-09-08 23:23:08 +00:00
|
|
|
@@ -35,7 +37,7 @@
|
2020-09-21 08:00:36 +00:00
|
|
|
#include "ui/aura/window.h"
|
|
|
|
#endif
|
|
|
|
|
2022-02-10 02:58:52 +00:00
|
|
|
-#if BUILDFLAG(IS_WIN)
|
2020-09-21 08:00:36 +00:00
|
|
|
+#if 0
|
|
|
|
#include "chrome/browser/shell_integration_win.h"
|
|
|
|
#include "ui/aura/window.h"
|
|
|
|
#include "ui/aura/window_tree_host.h"
|
2022-02-25 18:17:35 +00:00
|
|
|
diff --git a/chrome/browser/ui/views/overlay/video_overlay_window_views.cc b/chrome/browser/ui/views/overlay/video_overlay_window_views.cc
|
2022-08-17 18:35:53 +00:00
|
|
|
index 9ce062e48c356f2ac23feb97c31aabcac8610942..08c27dc6f54c9216098d29b6a5331483722517d2 100644
|
2022-02-25 18:17:35 +00:00
|
|
|
--- a/chrome/browser/ui/views/overlay/video_overlay_window_views.cc
|
|
|
|
+++ b/chrome/browser/ui/views/overlay/video_overlay_window_views.cc
|
|
|
|
@@ -15,9 +15,11 @@
|
|
|
|
#include "base/timer/timer.h"
|
|
|
|
#include "build/build_config.h"
|
|
|
|
#include "chrome/app/vector_icons/vector_icons.h"
|
|
|
|
+#if 0
|
|
|
|
#include "chrome/browser/profiles/profile.h"
|
|
|
|
#include "chrome/browser/ui/browser.h"
|
|
|
|
#include "chrome/browser/ui/browser_finder.h"
|
|
|
|
+#endif
|
2022-03-25 01:39:03 +00:00
|
|
|
#include "chrome/browser/ui/color/chrome_color_id.h"
|
2022-02-25 18:17:35 +00:00
|
|
|
#include "chrome/browser/ui/views/overlay/back_to_tab_image_button.h"
|
|
|
|
#include "chrome/browser/ui/views/overlay/back_to_tab_label_button.h"
|
2022-03-25 01:39:03 +00:00
|
|
|
@@ -56,7 +58,7 @@
|
2022-02-25 18:17:35 +00:00
|
|
|
#include "ui/aura/window.h"
|
|
|
|
#endif
|
|
|
|
|
|
|
|
-#if BUILDFLAG(IS_WIN)
|
|
|
|
+#if 0
|
|
|
|
#include "chrome/browser/shell_integration_win.h"
|
|
|
|
#include "ui/aura/window.h"
|
|
|
|
#include "ui/aura/window_tree_host.h"
|
2022-05-17 16:48:40 +00:00
|
|
|
@@ -166,7 +168,7 @@ std::unique_ptr<VideoOverlayWindowViews> VideoOverlayWindowViews::Create(
|
2022-02-25 18:17:35 +00:00
|
|
|
overlay_window->Init(std::move(params));
|
|
|
|
overlay_window->OnRootViewReady();
|
|
|
|
|
|
|
|
-#if BUILDFLAG(IS_WIN)
|
|
|
|
+#if 0
|
|
|
|
std::wstring app_user_model_id;
|
|
|
|
Browser* browser =
|
|
|
|
chrome::FindBrowserWithWebContents(controller->GetWebContents());
|