electron/patches/chromium/disable_hidden.patch
Electron Bot 8383c14aba
chore: bump chromium to 7264889ce3aad1568ff3d211c81fe (master) (#27003)
* chore: bump chromium in DEPS to 91c9f44297abe2844f593ec7956e6ce79c81f463

* chore: update chromium patches

* chore: update v8 patches

* build: service_names.mojom has been deleted

Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2568681

* chore: add DISPLAY_CAPTURE permission to converter

Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2551098

* chore: handle AXPropertyFilter::SCRIPT in accessibility_ui

Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2563923

* refactor: web_isolated_world_ids.h has been deleted

Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2585255

* refactor: ResourceType has been deprecated / removed in ExtensionsBrowserClient

Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2562002

* chore: fix lint

* chore: remove deleted headers

* build: disable gn check for blink header

* fix: refactor X11 event handling

Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2577887
Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2585750

* chore: update patches

* chore: bump chromium in DEPS to bfd8e7dbd37af8b1bc40d887815edd5a29496fa3

* chore: update patches

* refactor: xeventobserver is now x11:eventobserver

Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2585750

* refactor: remove UseWebUIBindingsForURL

Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2583590

* chore: DidProcessXEvent has been removed

* chore: bump chromium in DEPS to b13e791d7244a08d9d61dbfa2bb2b6cdf1ff6294

* chore: update patches

* build: change gfx::GetAtom to x11:GetAtom

Refs: d972a0ae4a

* build: change gfx namespace to x11

Ref: d972a0ae4a

* build: change ui namespace to x11

Refs: c38f8571a8:ui/gfx/x/xproto_util.h;dlc=ba9145d0c7f2b10e869e2ba482ca05b75ca35812

* chore: add patch to fix blink prefs fetching during frame swap

* chore: fix lint

* fix: do not make invalid SKImageRep in FrameSubscriber

Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2572896

Co-authored-by: Samuel Attard <samuel.r.attard@gmail.com>
2020-12-22 14:14:44 -08:00

48 lines
2.2 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Cheng Zhao <zcbenz@gmail.com>
Date: Thu, 20 Sep 2018 17:45:47 -0700
Subject: disable_hidden.patch
Electron uses this to disable background throttling for hidden windows.
diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc
index 063fb15b8a59c891204e0cb1f11980b32fdf6210..0db198a8cb657c679f6ba96fb9ac04460b448b14 100644
--- a/content/browser/renderer_host/render_widget_host_impl.cc
+++ b/content/browser/renderer_host/render_widget_host_impl.cc
@@ -701,6 +701,9 @@ void RenderWidgetHostImpl::WasHidden() {
if (is_hidden_)
return;
+ if (disable_hidden_)
+ return;
+
RejectMouseLockOrUnlockIfNecessary(
blink::mojom::PointerLockResult::kWrongDocument);
diff --git a/content/browser/renderer_host/render_widget_host_impl.h b/content/browser/renderer_host/render_widget_host_impl.h
index 0fd5dd389fdcfbafbd5eb240692e6b5d7ab5fe4a..a4989b69ba9b5f7aad2f8aff5f8d1ea294e295e0 100644
--- a/content/browser/renderer_host/render_widget_host_impl.h
+++ b/content/browser/renderer_host/render_widget_host_impl.h
@@ -184,6 +184,9 @@ class CONTENT_EXPORT RenderWidgetHostImpl
// RenderWidgetHostImpl.
static RenderWidgetHostImpl* From(RenderWidgetHost* rwh);
+ // Electron: Prevents the widget from getting hidden.
+ bool disable_hidden_ = false;
+
void set_new_content_rendering_delay_for_testing(
const base::TimeDelta& delay) {
new_content_rendering_delay_ = delay;
diff --git a/content/browser/renderer_host/render_widget_host_view_aura.cc b/content/browser/renderer_host/render_widget_host_view_aura.cc
index 247233f80b9200c354bab5433f4495950963382b..0e7141323f776db02843f9109c6dc1dd33498607 100644
--- a/content/browser/renderer_host/render_widget_host_view_aura.cc
+++ b/content/browser/renderer_host/render_widget_host_view_aura.cc
@@ -597,7 +597,7 @@ void RenderWidgetHostViewAura::HideImpl() {
DCHECK(visibility_ == Visibility::HIDDEN ||
visibility_ == Visibility::OCCLUDED);
- if (!host()->is_hidden()) {
+ if (!host()->is_hidden() && !host()->disable_hidden_) {
host()->WasHidden();
aura::WindowTreeHost* host = window_->GetHost();
if (delegated_frame_host_) {