123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- 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 18133ca75853394e616c3a816c1eb74b7da23fd9..273750752cdef18ccd7d54b9b28c524375bb3e8d 100644
- --- a/content/browser/renderer_host/render_widget_host_impl.cc
- +++ b/content/browser/renderer_host/render_widget_host_impl.cc
- @@ -809,6 +809,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 65297e78ee11fb3e7f662408f65a263f9ae8c550..62d3bef655580b1bad1077de797cdadc04721f8e 100644
- --- a/content/browser/renderer_host/render_widget_host_impl.h
- +++ b/content/browser/renderer_host/render_widget_host_impl.h
- @@ -879,6 +879,9 @@ class CONTENT_EXPORT RenderWidgetHostImpl
-
- SiteInstanceGroup* GetSiteInstanceGroup();
-
- + // 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 870cdf73fd5eeab985fc43dc92d7919d18e4e622..04bfe1f1205b06a7e105f613014540fd72b17328 100644
- --- a/content/browser/renderer_host/render_widget_host_view_aura.cc
- +++ b/content/browser/renderer_host/render_widget_host_view_aura.cc
- @@ -592,7 +592,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();
- aura::Window* parent = window_->parent();
|