Browse Source

fix: restore performance of macOS window resizing (#40585)

* fix: restore performance of macOS window resizing

Co-authored-by: Samuel Attard <[email protected]>

* Update .patches

* chore: update patches

---------

Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Samuel Attard <[email protected]>
Co-authored-by: Samuel Attard <[email protected]>
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
trop[bot] 1 year ago
parent
commit
3383d3a6a8

+ 1 - 0
patches/chromium/.patches

@@ -134,3 +134,4 @@ revert_remove_the_allowaggressivethrottlingwithwebsocket_feature.patch
 revert_same_party_cookie_attribute_removal.patch
 crash_gpu_process_and_clear_shader_cache_when_skia_reports.patch
 scale_rects_properly_in_syncgetfirstrectforrange.patch
+fix_restore_original_resize_performance_on_macos.patch

+ 25 - 0
patches/chromium/fix_restore_original_resize_performance_on_macos.patch

@@ -0,0 +1,25 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Samuel Attard <[email protected]>
+Date: Tue, 21 Nov 2023 15:03:21 -0800
+Subject: fix: restore original resize performance on macOS
+
+Reverts https://chromium-review.googlesource.com/c/chromium/src/+/3118293 which
+fixed a android only regression but in the process regressed electron window
+resize perf wildly on macOS.
+
+diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc
+index b013e7eaa4a5db79d19378e437d8d3d18dd1b2aa..04b6346c07f3a4cb028328a224a9d41cb233bb4e 100644
+--- a/content/browser/renderer_host/render_widget_host_impl.cc
++++ b/content/browser/renderer_host/render_widget_host_impl.cc
+@@ -2201,9 +2201,8 @@ RenderWidgetHostImpl::GetWidgetInputHandler() {
+ void RenderWidgetHostImpl::NotifyScreenInfoChanged() {
+   // The resize message (which may not happen immediately) will carry with it
+   // the screen info as well as the new size (if the screen has changed scale
+-  // factor). Force sending the new visual properties even if there is one in
+-  // flight to ensure proper IPC ordering for features like the Fullscreen API.
+-  SynchronizeVisualPropertiesIgnoringPendingAck();
++  // factor).
++  SynchronizeVisualProperties();
+ 
+   // The device scale factor will be same for all the views contained by the
+   // primary main frame, so just set it once.