electron/patches/chromium/disable_hidden.patch
Electron Bot cad2d8b4aa
chore: bump chromium to ac06d6903a2c981ab90a8162f1ba0 (master) (#26499)
* chore: bump chromium in DEPS to c04c17506a1b5941370b91dfa44eda7ec31e9793

* update patches

* chore: bump chromium in DEPS to 8a4687263763f306659d04cef8f0a12a9e504d57

* chore: bump chromium in DEPS to 3a75ada69d1ac06d6903a2c981ab90a8162f1ba0

* update patches

* chore: sync StartRemoteDebuggingPipeHandler usage

CL: https://chromium-review.googlesource.com/c/chromium/src/+/2536354

Added 'on_disconnect' OnceClosure arg to StartRemoteDebuggingPipeHandler

* chore: add WebSocketHandshakeClient::OnFailurea

CL: https://chromium-review.googlesource.com/c/chromium/src/+/2527889

Add an empty stub to satisfy parent class' pure virtual method OnFailure().
NB: Use of empty impl comes from WebRequestProxyingWebSocket.

Co-authored-by: Charles Kerr <charles@charleskerr.com>
2020-11-16 19:57:42 -06: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 19f90228473a1718b9f604c05d67193868aecf98..0ef45f3c85e048aadabfaf02ab01dcc296861e87 100644
--- a/content/browser/renderer_host/render_widget_host_impl.cc
+++ b/content/browser/renderer_host/render_widget_host_impl.cc
@@ -667,6 +667,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 aef170316a5e01b77edae488096d5154d8f3afec..23051aa5656ed1e8c3c1b86993344d01bb14421c 100644
--- a/content/browser/renderer_host/render_widget_host_impl.h
+++ b/content/browser/renderer_host/render_widget_host_impl.h
@@ -172,6 +172,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 92e5c944d44b947a9f9cecfdf89fe09b2c8a5960..2023b4774e745e83f86250a06278c2ce70d9fdfb 100644
--- a/content/browser/renderer_host/render_widget_host_view_aura.cc
+++ b/content/browser/renderer_host/render_widget_host_view_aura.cc
@@ -625,7 +625,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_) {