Files
electron/patches/chromium/disable_hidden.patch
electron-roller[bot] 2e07e896ab chore: bump chromium to 149.0.7817.0 (main) (#51383)
* chore: bump chromium in DEPS to 149.0.7815.0

* chore: update patches (trivial only)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* 7747370: [Extensions] Move manifest_url_handlers.{h,cc}

Ref: https://chromium-review.googlesource.com/c/chromium/src/+/7747370

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* chore: node ./script/gen-libc++-filenames.js

* gfx::CALayerParams: Make move-only, add fence mach port | https://chromium-review.googlesource.com/c/chromium/src/+/7790009

* fix: preserve renderer stdio behavior on Windows

https://chromium-review.googlesource.com/c/chromium/src/+/7665803
now opens CONOUT$ with rw permissions for proper TTY detection.
That makes libuv classify inherited console handles as UV_TTY, so
Node now exposes process.stdout.isTTY as true in renderer processes.

Electron's renderer treats stdout/stderr as non-TTY and our spec
expects process.stdout.isTTY to be undefined. This PR preserves that
by masking isTTY on process.stdout and process.stderr in the Windows
renderer init path, but keeps the underlying streams rw for #50268.

Xref: https://github.com/electron/electron/pull/50268

Co-authored-by: GitHub Copilot <copilot@github.com>

* chore: bump chromium in DEPS to 149.0.7817.0

* chore: update patches (trivial only)

* Reland "Migrate ProcessMap to use ChildProcessId" | https://chromium-review.googlesource.com/c/chromium/src/+/7793314

* chore: node ./script/gen-libc++-filenames.js

* fixup! fix: preserve renderer stdio behavior on Windows

* test: use code review suggestions

---------

Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: chromium-roller[bot] <chromium-roller[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
Co-authored-by: GitHub Copilot <copilot@github.com>
2026-05-01 19:43:13 -05:00

49 lines
2.3 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 f54e0c29f128300c56c7e0b7e18b726eff4df548..c6c936a0b57cedbb761f6e9f31cb860c3bf245ed 100644
--- a/content/browser/renderer_host/render_widget_host_impl.cc
+++ b/content/browser/renderer_host/render_widget_host_impl.cc
@@ -828,6 +828,10 @@ void RenderWidgetHostImpl::WasHidden() {
return;
}
+ if (disable_hidden_) {
+ return;
+ }
+
// Cancel pending pointer lock requests, unless there's an open user prompt.
// Prompts should remain open and functional across tab switches.
if (!delegate_ || !delegate_->IsWaitingForPointerLockPrompt(this)) {
diff --git a/content/browser/renderer_host/render_widget_host_impl.h b/content/browser/renderer_host/render_widget_host_impl.h
index ac87b21a1cec649d01adbe92e08ef4bd5870336e..0b94b2bcf0b0fe643328a37ab8e8b29d8477d0f4 100644
--- a/content/browser/renderer_host/render_widget_host_impl.h
+++ b/content/browser/renderer_host/render_widget_host_impl.h
@@ -1063,6 +1063,8 @@ class CONTENT_EXPORT RenderWidgetHostImpl
base::TimeDelta GetHungRendererDelayForTesting();
+ // Electron: Prevents the widget from getting hidden.
+ bool disable_hidden_ = false;
protected:
// |routing_id| must not be IPC::mojom::kRoutingIdNone.
// If this object outlives |delegate|, DetachDelegate() must be called when
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 b6f9361437688eb355aecf3fe9ab13eb434b940a..74f987e8aa28a78dc5f67999e940b1ee5ce49da7 100644
--- a/content/browser/renderer_host/render_widget_host_view_aura.cc
+++ b/content/browser/renderer_host/render_widget_host_view_aura.cc
@@ -712,7 +712,7 @@ void RenderWidgetHostViewAura::HideImpl() {
CHECK(visibility_ == Visibility::HIDDEN ||
visibility_ == Visibility::OCCLUDED);
- if (!host()->IsHidden()) {
+ if (!host()->IsHidden() && !host()->disable_hidden_) {
host()->WasHidden();
aura::WindowTreeHost* host = window_->GetHost();
aura::Window* parent = window_->parent();