mirror of
https://github.com/electron/electron.git
synced 2026-01-09 15:38:08 -05:00
* chore: bump chromium in DEPS to 144.0.7543.0 * Pass PipScreenCaptureCoordinatorProxy to ScreenCaptureKitDeviceMac https://chromium-review.googlesource.com/c/chromium/src/+/7157590 * chore: update patches * chore: update filenames.libcxx.gni * 7142359: Spanification of process_singleton_posix.cc https: //chromium-review.googlesource.com/c/chromium/src/+/7142359 Co-Authored-By: Charles Kerr <70381+ckerr@users.noreply.github.com> * Move logging::LoggingSettings to base/logging/logging_settings.h https://chromium-review.googlesource.com/c/chromium/src/+/7173024 * chore: bump chromium in DEPS to 144.0.7545.0 * 7159368: update PluginService API for sync GetPlugins Upstream removed async PluginService APIs: - GetPluginsAsync() removed, use synchronous GetPlugins() - RegisterInternalPlugin() now takes single argument (remove add_at_beginning) - RefreshPlugins() removed entirely Updated ElectronPluginInfoHostImpl to use synchronous plugin loading and simplified ElectronBrowserMainParts internal plugin registration. Ref: https://chromium-review.googlesource.com/c/chromium/src/+/7159368 Ref: https://chromium-review.googlesource.com/c/chromium/src/+/7159328 Ref: https://chromium-review.googlesource.com/c/chromium/src/+/7159056 (cherry picked from commit88cdf50b0a) * 7159184: add missing base/files/file_path.h include Add explicit include for base/files/file_path.h in electron_browser_context.h. After removal of superfluous Mojo includes from content headers, base::FilePath is no longer transitively included via content/public/browser/browser_context.h. Ref: https://chromium-review.googlesource.com/c/chromium/src/+/7159184 (cherry picked from commit6ca8ea03ec) * 7126479: add ShouldForceRefreshTextCheckService parameter to SpellCheckClient Upstream added a force-refresh parameter to WebTextCheckClient::RequestCheckingOfText to bypass spell check cache. Add the new ShouldForceRefreshTextCheckService parameter to SpellCheckClient's override (currently unused in Electron). Ref: https://chromium-review.googlesource.com/c/chromium/src/+/7126479 (cherry picked from commit879c0401c4) * 7083663: remove fingerprinting_protection_ruleset_service override Upstream deleted external references to Fingerprinting Protection Filter (FPF) component. Remove the fingerprinting_protection_ruleset_service() override from BrowserProcessImpl as the method no longer exists in the base class. Ref: https://chromium-review.googlesource.com/c/chromium/src/+/7083663 (cherry picked from commit8350d152f9) * 7155287: implement WebContentsView::GetSize and Resize Upstream delegated WebContents::GetSize() and Resize() to WebContentsView, making them pure virtual. Add const qualifier to GetSize() and implement the Resize() override in OffScreenWebContentsView (no-op for offscreen). Ref: https://chromium-review.googlesource.com/c/chromium/src/+/7155287 (cherry picked from commit084eaa568e) * 7184238: add OnUnconfirmedTapConvertedToTap override Upstream added OnUnconfirmedTapConvertedToTap as a pure virtual method to RenderWidgetHostViewBase to inform root view when child frame converts an unconfirmed tap. Add empty override for offscreen rendering. Ref: https://chromium-review.googlesource.com/c/chromium/src/+/7184238 (cherry picked from commitef03400d9a) * 7143586: add widget parameter to OnCommandsChanged GlobalAcceleratorListener::OnCommandsChanged gained a gfx::AcceleratedWidget parameter for window association in the GlobalShortcutListenerLinux implementation. Pass gfx::kNullAcceleratedWidget for Electron's usage. Ref: : Pass parent handle to GlobalAcceleratorListenerLinux::BindShortcuts | https://chromium-review.googlesource.com/c/chromium/src/+/7143586 (cherry picked from commit38306e2bfc) Co-Authored-By: Samuel Attard <MarshallOfSound@users.noreply.github.com> * chore: update patches Co-Authored-By: Samuel Attard <MarshallOfSound@users.noreply.github.com> * chore: bump chromium in DEPS to 144.0.7547.0 * chore: update patches * 7189232: Add support for UnownedUserData in GlobalFeatures https: //chromium-review.googlesource.com/c/chromium/src/+/7189232 * Refactor: Use std::u16string for extension load error messages https://chromium-review.googlesource.com/c/chromium/src/+/7185844 * fixup Add support for UnownedUserData in GlobalFeatures * 7165650: Remove ResourceContext https://chromium-review.googlesource.com/c/chromium/src/+/7165650 * fixup BUILD.gn for lint * 7202164: Reland "Reland "Remove GenericScopedHandle:IsValid"" https://chromium-review.googlesource.com/c/chromium/src/+/7202164 * advance deprecation of v8::ReturnValue<void>::Set(Local<S>). 7168624: [runtime][api] Relax requirements for setter/definer/deleter callbacks | https://chromium-review.googlesource.com/c/v8/v8/+/7168624 * fixup advance deprecation of v8::ReturnValue<void>::Set(Local<S>) * chore: skip setting LPAC ACLs * Revert "chore: skip setting LPAC ACLs" This reverts commite187aec488. * chore: revert Convert to UNSAFE_TODO in sandbox revert https://chromium-review.googlesource.com/c/chromium/src/+/7131661 to see if it fixes the Windows sandbox issue. * Revert "chore: revert Convert to UNSAFE_TODO in sandbox" This reverts commit57afbfefe5. * chore: Revert "Enable network sandbox by default on Windows" see if this fixes the Windows sandbox issue * Enable network sandbox by default on Windows https://chromium-review.googlesource.com/c/chromium/src/+/7204292 * Revert "chore: Revert "Enable network sandbox by default on Windows"" This reverts commit530ab6af82. * fixup! Enable network sandbox by default on Windows | https://chromium-review.googlesource.com/c/chromium/src/+/7204292 * fixup!: Correct flag name, add kLocalNetworkAccessChecks to all platforms --------- Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org> Co-authored-by: Charles Kerr <70381+ckerr@users.noreply.github.com> Co-authored-by: Samuel Attard <sattard@anthropic.com> Co-authored-by: Samuel Attard <MarshallOfSound@users.noreply.github.com> Co-authored-by: John Kleinschmidt <kleinschmidtorama@gmail.com> Co-authored-by: Keeley Hammond <khammond@slack-corp.com>
236 lines
9.1 KiB
Diff
236 lines
9.1 KiB
Diff
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
|
|
|
|
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.
|
|
|
|
diff --git a/chrome/browser/ui/views/overlay/close_image_button.cc b/chrome/browser/ui/views/overlay/close_image_button.cc
|
|
index a7a637438116a1c7846194dea4412100a45c9331..bb3877d546bfea141d3d6ebb396b88faab6ee34e 100644
|
|
--- a/chrome/browser/ui/views/overlay/close_image_button.cc
|
|
+++ b/chrome/browser/ui/views/overlay/close_image_button.cc
|
|
@@ -4,9 +4,12 @@
|
|
|
|
#include "chrome/browser/ui/views/overlay/close_image_button.h"
|
|
|
|
+#include "build/branding_buildflags.h"
|
|
#include "chrome/browser/ui/color/chrome_color_id.h"
|
|
#include "chrome/grit/generated_resources.h"
|
|
+#if BUILDFLAG(GOOGLE_CHROME_BRANDING)
|
|
#include "components/vector_icons/vector_icons.h"
|
|
+#endif // BUILDFLAG(GOOGLE_CHROME_BRANDING)
|
|
#include "ui/base/l10n/l10n_util.h"
|
|
#include "ui/base/metadata/metadata_impl_macros.h"
|
|
#include "ui/base/models/image_model.h"
|
|
@@ -27,7 +30,10 @@ CloseImageButton::CloseImageButton(PressedCallback callback)
|
|
: OverlayWindowImageButton(std::move(callback)) {
|
|
SetSize(gfx::Size(kCloseButtonSize, kCloseButtonSize));
|
|
|
|
- auto* icon = &vector_icons::kCloseChromeRefreshIcon;
|
|
+ auto* icon = &views::kIcCloseIcon;
|
|
+#if BUILDFLAG(GOOGLE_CHROME_BRANDING)
|
|
+ icon = &vector_icons::kCloseChromeRefreshIcon;
|
|
+#endif // BUILDFLAG(GOOGLE_CHROME_BRANDING)
|
|
SetImageModel(views::Button::STATE_NORMAL,
|
|
ui::ImageModel::FromVectorIcon(*icon, kColorPipWindowForeground,
|
|
kCloseButtonIconSize));
|
|
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 eb7e9f8d400b709a597e2f61a01fb88e66b0bd38..0562096764d936320295edf2b38d7b68577a029c 100644
|
|
--- a/chrome/browser/ui/views/overlay/video_overlay_window_views.cc
|
|
+++ b/chrome/browser/ui/views/overlay/video_overlay_window_views.cc
|
|
@@ -18,12 +18,16 @@
|
|
#include "base/time/time.h"
|
|
#include "base/timer/timer.h"
|
|
#include "build/build_config.h"
|
|
+#if 0
|
|
#include "chrome/browser/media/media_engagement_service.h"
|
|
+#endif
|
|
#include "chrome/browser/picture_in_picture/picture_in_picture_occlusion_tracker.h"
|
|
#include "chrome/browser/picture_in_picture/picture_in_picture_window_manager.h"
|
|
+#if 0
|
|
#include "chrome/browser/profiles/profile.h"
|
|
#include "chrome/browser/ui/browser.h"
|
|
#include "chrome/browser/ui/browser_finder.h"
|
|
+#endif
|
|
#include "chrome/browser/ui/color/chrome_color_id.h"
|
|
#include "chrome/browser/ui/views/overlay/back_to_tab_button.h"
|
|
#include "chrome/browser/ui/views/overlay/back_to_tab_label_button.h"
|
|
@@ -32,8 +36,10 @@
|
|
#include "chrome/browser/ui/views/overlay/hang_up_button.h"
|
|
#include "chrome/browser/ui/views/overlay/minimize_button.h"
|
|
#include "chrome/browser/ui/views/overlay/overlay_controls_fade_animation.h"
|
|
+#if 0
|
|
#include "chrome/browser/ui/views/overlay/overlay_window_live_caption_button.h"
|
|
#include "chrome/browser/ui/views/overlay/overlay_window_live_caption_dialog.h"
|
|
+#endif
|
|
#include "chrome/browser/ui/views/overlay/playback_image_button.h"
|
|
#include "chrome/browser/ui/views/overlay/resize_handle_button.h"
|
|
#include "chrome/browser/ui/views/overlay/simple_overlay_window_image_button.h"
|
|
@@ -79,7 +85,7 @@
|
|
#include "ui/aura/window.h"
|
|
#endif
|
|
|
|
-#if BUILDFLAG(IS_WIN)
|
|
+#if 0
|
|
#include "chrome/browser/shell_integration_win.h"
|
|
#include "content/public/browser/render_widget_host_view.h"
|
|
#include "ui/aura/window.h"
|
|
@@ -401,7 +407,7 @@ std::unique_ptr<VideoOverlayWindowViews> VideoOverlayWindowViews::Create(
|
|
overlay_window->Init(std::move(params));
|
|
overlay_window->OnRootViewReady();
|
|
|
|
-#if BUILDFLAG(IS_WIN)
|
|
+#if 0
|
|
std::wstring app_user_model_id;
|
|
Browser* browser = chrome::FindBrowserWithTab(controller->GetWebContents());
|
|
if (browser) {
|
|
@@ -694,6 +700,7 @@ void VideoOverlayWindowViews::OnMouseEvent(ui::MouseEvent* event) {
|
|
}
|
|
|
|
case ui::EventType::kMousePressed:
|
|
+#if 0
|
|
// Hide the live caption dialog if it's visible and the user clicks
|
|
// outside of it.
|
|
if (live_caption_dialog_ && live_caption_dialog_->GetVisible() &&
|
|
@@ -702,6 +709,7 @@ void VideoOverlayWindowViews::OnMouseEvent(ui::MouseEvent* event) {
|
|
SetLiveCaptionDialogVisibility(false);
|
|
return;
|
|
}
|
|
+#endif
|
|
break;
|
|
|
|
default:
|
|
@@ -737,11 +745,11 @@ bool VideoOverlayWindowViews::HideLiveCaptionDialogForGestureIfNecessary(
|
|
if (event->type() != ui::EventType::kGestureTap) {
|
|
return false;
|
|
}
|
|
-
|
|
+#if 0
|
|
if (!live_caption_dialog_->GetVisible()) {
|
|
return false;
|
|
}
|
|
-
|
|
+#endif
|
|
if (!GetLiveCaptionDialogBounds().Contains(event->location())) {
|
|
SetLiveCaptionDialogVisibility(false);
|
|
event->SetHandled();
|
|
@@ -1219,6 +1227,7 @@ void VideoOverlayWindowViews::SetUpViews() {
|
|
timestamp->SetBackgroundColor(SK_ColorTRANSPARENT);
|
|
timestamp->SetHorizontalAlignment(gfx::ALIGN_LEFT);
|
|
|
|
+#if 0
|
|
auto live_status = std::make_unique<views::Label>(
|
|
l10n_util::GetStringUTF16(IDS_PICTURE_IN_PICTURE_LIVE_STATUS_TEXT),
|
|
views::style::CONTEXT_LABEL, views::style::STYLE_CAPTION_BOLD);
|
|
@@ -1238,6 +1247,7 @@ void VideoOverlayWindowViews::SetUpViews() {
|
|
Profile::FromBrowserContext(
|
|
controller_->GetWebContents()->GetBrowserContext()));
|
|
live_caption_dialog->SetVisible(false);
|
|
+#endif
|
|
|
|
auto toggle_microphone_button =
|
|
std::make_unique<ToggleMicrophoneButton>(base::BindRepeating(
|
|
@@ -1360,13 +1370,15 @@ void VideoOverlayWindowViews::SetUpViews() {
|
|
|
|
timestamp_ =
|
|
playback_controls_container_view_->AddChildView(std::move(timestamp));
|
|
+
|
|
+#if 0
|
|
live_status_ =
|
|
playback_controls_container_view_->AddChildView(std::move(live_status));
|
|
-
|
|
live_caption_button_ = playback_controls_container_view_->AddChildView(
|
|
std::move(live_caption_button));
|
|
live_caption_dialog_ =
|
|
controls_container_view_->AddChildView(std::move(live_caption_dialog));
|
|
+#endif
|
|
|
|
toggle_camera_button_ = vc_controls_container_view_->AddChildView(
|
|
std::move(toggle_camera_button));
|
|
@@ -1635,6 +1647,7 @@ void VideoOverlayWindowViews::OnUpdateControlsBounds() {
|
|
timestamp_->SetSize({max_timestamp_width, kTimestampHeight});
|
|
timestamp_->SetVisible(!is_live_);
|
|
|
|
+#if 0
|
|
live_status_->SetPosition(timestamp_position);
|
|
live_status_->SetMaximumWidthSingleLine(max_timestamp_width);
|
|
live_status_->SetSize(
|
|
@@ -1642,7 +1655,6 @@ void VideoOverlayWindowViews::OnUpdateControlsBounds() {
|
|
.width(),
|
|
kTimestampHeight});
|
|
live_status_->SetVisible(is_live_);
|
|
-
|
|
gfx::Rect live_caption_button_bounds(
|
|
bottom_controls_bounds.right() - kBottomControlsHorizontalMargin -
|
|
kActionButtonSize.width(),
|
|
@@ -1655,7 +1667,7 @@ void VideoOverlayWindowViews::OnUpdateControlsBounds() {
|
|
live_caption_dialog_->SetPosition(
|
|
{live_caption_button_bounds.right() - live_caption_dialog_->width(),
|
|
live_caption_button_bounds.y() - live_caption_dialog_->height()});
|
|
-
|
|
+#endif
|
|
// The play/pause button and replay/forward 10 seconds buttons should not be
|
|
// visible while dragging the progress bar or for live media.
|
|
const bool is_dragging_progress_bar =
|
|
@@ -2054,18 +2066,25 @@ gfx::Rect VideoOverlayWindowViews::GetProgressViewBounds() {
|
|
}
|
|
|
|
gfx::Rect VideoOverlayWindowViews::GetLiveCaptionButtonBounds() {
|
|
+#if 0
|
|
return live_caption_button_->GetMirroredBounds();
|
|
+#endif
|
|
+ return gfx::Rect();
|
|
}
|
|
|
|
gfx::Rect VideoOverlayWindowViews::GetLiveCaptionDialogBounds() {
|
|
+#if 0
|
|
if (!live_caption_dialog_->GetVisible()) {
|
|
return gfx::Rect();
|
|
}
|
|
return live_caption_dialog_->GetMirroredBounds();
|
|
+#endif
|
|
+ return gfx::Rect();
|
|
}
|
|
|
|
bool VideoOverlayWindowViews::HasHighMediaEngagement(
|
|
const url::Origin& origin) const {
|
|
+#if 0
|
|
MediaEngagementService* service =
|
|
MediaEngagementService::Get(Profile::FromBrowserContext(
|
|
GetController()->GetWebContents()->GetBrowserContext()));
|
|
@@ -2074,6 +2093,8 @@ bool VideoOverlayWindowViews::HasHighMediaEngagement(
|
|
}
|
|
|
|
return service->HasHighEngagement(origin);
|
|
+#endif
|
|
+ return true;
|
|
}
|
|
|
|
bool VideoOverlayWindowViews::IsTrustedForMediaPlayback() const {
|
|
@@ -2330,11 +2351,14 @@ void VideoOverlayWindowViews::UpdateTimestampLabel(base::TimeDelta current_time,
|
|
}
|
|
|
|
void VideoOverlayWindowViews::OnLiveCaptionButtonPressed() {
|
|
+#if 0
|
|
SetLiveCaptionDialogVisibility(!live_caption_dialog_->GetVisible());
|
|
+#endif
|
|
}
|
|
|
|
void VideoOverlayWindowViews::SetLiveCaptionDialogVisibility(
|
|
bool wanted_visibility) {
|
|
+#if 0
|
|
if (wanted_visibility == live_caption_dialog_->GetVisible()) {
|
|
return;
|
|
}
|
|
@@ -2357,6 +2381,7 @@ void VideoOverlayWindowViews::SetLiveCaptionDialogVisibility(
|
|
for (auto* control : controls_to_be_disabled_when_live_caption_is_open) {
|
|
control->SetEnabled(!wanted_visibility);
|
|
}
|
|
+#endif
|
|
}
|
|
|
|
void VideoOverlayWindowViews::OnFaviconReceived(const SkBitmap& image) {
|