12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
- From: Cheng Zhao <[email protected]>
- 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 d5537feb9b4b6cc24d0ed226e0e02b9c288efe26..6bf8d9100658d406bae3d5f346c7c904ea9a3874 100644
- --- a/content/browser/renderer_host/render_widget_host_impl.cc
- +++ b/content/browser/renderer_host/render_widget_host_impl.cc
- @@ -823,6 +823,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_->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 4420f3a141d8c66eedf387e28350344b9a6c2525..990881ea27f1720ce956cc1d6671b1061d70a45e 100644
- --- a/content/browser/renderer_host/render_widget_host_impl.h
- +++ b/content/browser/renderer_host/render_widget_host_impl.h
- @@ -1012,6 +1012,9 @@ class CONTENT_EXPORT RenderWidgetHostImpl
- // Requests a commit and forced redraw in the renderer compositor.
- void ForceRedrawForTesting();
-
- + // Electron: Prevents the widget from getting hidden.
- + bool disable_hidden_ = false;
- +
- protected:
- // |routing_id| must not be MSG_ROUTING_NONE.
- // 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 48e8a414e0b7156dd002766175a2a5bb3ee71bb3..1a79ccf14ba53eabf4915e4a0aee1f7e0fdcc9f8 100644
- --- a/content/browser/renderer_host/render_widget_host_view_aura.cc
- +++ b/content/browser/renderer_host/render_widget_host_view_aura.cc
- @@ -643,7 +643,7 @@ void RenderWidgetHostViewAura::HideImpl() {
- CHECK(visibility_ == Visibility::HIDDEN ||
- visibility_ == Visibility::OCCLUDED);
-
- - if (!host()->is_hidden()) {
- + if (!host()->is_hidden() && !host()->disable_hidden_) {
- host()->WasHidden();
- aura::WindowTreeHost* host = window_->GetHost();
- aura::Window* parent = window_->parent();
|