48 lines
		
	
	
	
		
			2.3 KiB
			
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			48 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 20c2816765f639ce6ecab16db124f885702064dd..d98336a4b552290aff88a0c14321a58807c7eb05 100644
 | 
						|
--- a/content/browser/renderer_host/render_widget_host_impl.cc
 | 
						|
+++ b/content/browser/renderer_host/render_widget_host_impl.cc
 | 
						|
@@ -709,6 +709,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 36994e352ee697fe445f9b7f20bbb0db0d728cd4..a21adfbc22ed2199520121b8fe36244a735f0653 100644
 | 
						|
--- a/content/browser/renderer_host/render_widget_host_impl.h
 | 
						|
+++ b/content/browser/renderer_host/render_widget_host_impl.h
 | 
						|
@@ -834,6 +834,9 @@ class CONTENT_EXPORT RenderWidgetHostImpl
 | 
						|
   mojom::CreateFrameWidgetParamsPtr
 | 
						|
   BindAndGenerateCreateFrameWidgetParamsForNewWindow();
 | 
						|
 
 | 
						|
+  // 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 624f7f5aa5314bd810074f354073ff98bb66b3d2..6417bef874d990535a610c78e547ecba57b78369 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();
 | 
						|
       aura::Window* parent = window_->parent();
 |