[arch-commits] Commit in chromium/trunk (3 files)

Evangelos Foutras foutrelis at archlinux.org
Sat Feb 8 08:48:24 UTC 2020


    Date: Saturday, February 8, 2020 @ 08:48:23
  Author: foutrelis
Revision: 374996

upgpkg: chromium 80.0.3987.87-2: Fix frame buttons rendering as inactive.

Added:
  chromium/trunk/rebuild-Linux-frame-button-cache-when-activation.patch
  chromium/trunk/rename-Relayout-in-DesktopWindowTreeHostPlatform.patch
Modified:
  chromium/trunk/PKGBUILD

--------------------------------------------------------+
 PKGBUILD                                               |   10 ++
 rebuild-Linux-frame-button-cache-when-activation.patch |   62 ++++++++++++++
 rename-Relayout-in-DesktopWindowTreeHostPlatform.patch |   64 +++++++++++++++
 3 files changed, 135 insertions(+), 1 deletion(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2020-02-08 02:11:28 UTC (rev 374995)
+++ PKGBUILD	2020-02-08 08:48:23 UTC (rev 374996)
@@ -5,7 +5,7 @@
 
 pkgname=chromium
 pkgver=80.0.3987.87
-pkgrel=1
+pkgrel=2
 _launcher_ver=6
 pkgdesc="A web browser built for speed, simplicity, and security"
 arch=('x86_64')
@@ -32,6 +32,8 @@
         remove-verbose-logging-in-local-unique-font-matching.patch
         fix-building-with-unbundled-libxml.patch
         fix-browser-frame-view-not-getting-a-relayout.patch
+        rename-Relayout-in-DesktopWindowTreeHostPlatform.patch
+        rebuild-Linux-frame-button-cache-when-activation.patch
         chromium-widevine.patch
         chromium-skia-harmony.patch)
 sha256sums=('f51f6fca5d9abbef855aa6b5bf427410c6e96ae58b64a7d45f843868cfb0ac8e'
@@ -44,6 +46,8 @@
             '5bc775c0ece84d67855f51b30eadcf96fa8163b416d2036e9f9ba19072f54dfe'
             'e530d1b39504c2ab247e16f1602359c484e9e8be4ef6d4824d68b14d29a7f60b'
             '5db225565336a3d9b9e9f341281680433c0b7bb343dff2698b2acffd86585cbe'
+            'ae3bf107834bd8eda9a3ec7899fe35fde62e6111062e5def7d24bf49b53db3db'
+            '46f7fc9768730c460b27681ccf3dc2685c7e1fd22d70d3a82d9e57e3389bb014'
             '709e2fddba3c1f2ed4deb3a239fc0479bfa50c46e054e7f32db4fb1365fed070'
             '771292942c0901092a402cc60ee883877a99fb804cb54d568c8c6c94565a48e1')
 
@@ -117,6 +121,10 @@
   # https://crbug.com/1046122
   patch -Np1 -i ../fix-browser-frame-view-not-getting-a-relayout.patch
 
+  # https://crbug.com/1049258
+  patch -Np1 -i ../rename-Relayout-in-DesktopWindowTreeHostPlatform.patch
+  patch -Np1 -i ../rebuild-Linux-frame-button-cache-when-activation.patch
+
   # Load bundled Widevine CDM if available (see chromium-widevine in the AUR)
   # M79 is supposed to download it as a component but it doesn't seem to work
   patch -Np1 -i ../chromium-widevine.patch

Added: rebuild-Linux-frame-button-cache-when-activation.patch
===================================================================
--- rebuild-Linux-frame-button-cache-when-activation.patch	                        (rev 0)
+++ rebuild-Linux-frame-button-cache-when-activation.patch	2020-02-08 08:48:23 UTC (rev 374996)
@@ -0,0 +1,62 @@
+From d10f885b9327399be9348b780967ebd6b7f2c4bc Mon Sep 17 00:00:00 2001
+From: Tom Anderson <thomasanderson at chromium.org>
+Date: Fri, 7 Feb 2020 22:44:54 +0000
+Subject: [PATCH] Rebuild Linux frame button cache when activation state
+ changes
+
+This fixes an issue where the frame buttons would always render in an
+inactive state on Linux (see repro steps in bug 1049258).
+
+Bug: 1049258
+R=sky
+CC=pkasting
+
+Change-Id: Ic5af33199003e1d1cdf6cedf506e32388ea11fa9
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2044538
+Auto-Submit: Thomas Anderson <thomasanderson at chromium.org>
+Commit-Queue: Scott Violet <sky at chromium.org>
+Reviewed-by: Scott Violet <sky at chromium.org>
+Cr-Commit-Position: refs/heads/master@{#739585}
+---
+ .../ui/views/frame/desktop_linux_browser_frame_view.cc      | 6 +++---
+ .../desktop_aura/desktop_window_tree_host_platform.cc       | 3 +++
+ 2 files changed, 6 insertions(+), 3 deletions(-)
+
+diff --git a/chrome/browser/ui/views/frame/desktop_linux_browser_frame_view.cc b/chrome/browser/ui/views/frame/desktop_linux_browser_frame_view.cc
+index 954e776057f..4f579955675 100644
+--- a/chrome/browser/ui/views/frame/desktop_linux_browser_frame_view.cc
++++ b/chrome/browser/ui/views/frame/desktop_linux_browser_frame_view.cc
+@@ -22,13 +22,13 @@ DesktopLinuxBrowserFrameView::DesktopLinuxBrowserFrameView(
+     : OpaqueBrowserFrameView(frame, browser_view, layout),
+       nav_button_provider_(std::move(nav_button_provider)) {}
+ 
+-DesktopLinuxBrowserFrameView::~DesktopLinuxBrowserFrameView() {}
++DesktopLinuxBrowserFrameView::~DesktopLinuxBrowserFrameView() = default;
+ 
+ void DesktopLinuxBrowserFrameView::Layout() {
+   // Calling MaybeUpdateCachedFrameButtonImages() from Layout() is sufficient to
+   // catch all cases that could update the appearance, since
+-  // DesktopWindowTreeHostPlatform::OnWindowStateChanged() does a layout any
+-  // time any properties change.
++  // DesktopWindowTreeHostPlatform::On{Window,Activation}StateChanged() does a
++  // layout any time the maximized and activation state changes, respectively.
+   MaybeUpdateCachedFrameButtonImages();
+   OpaqueBrowserFrameView::Layout();
+ }
+diff --git a/ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc b/ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc
+index 9c695d8e5b1..9662f19aa90 100644
+--- a/ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc
++++ b/ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc
+@@ -677,9 +677,12 @@ void DesktopWindowTreeHostPlatform::OnCloseRequest() {
+ }
+ 
+ void DesktopWindowTreeHostPlatform::OnActivationChanged(bool active) {
++  if (is_active_ == active)
++    return;
+   is_active_ = active;
+   aura::WindowTreeHostPlatform::OnActivationChanged(active);
+   desktop_native_widget_aura_->HandleActivationChanged(active);
++  ScheduleRelayout();
+ }
+ 
+ base::Optional<gfx::Size>

Added: rename-Relayout-in-DesktopWindowTreeHostPlatform.patch
===================================================================
--- rename-Relayout-in-DesktopWindowTreeHostPlatform.patch	                        (rev 0)
+++ rename-Relayout-in-DesktopWindowTreeHostPlatform.patch	2020-02-08 08:48:23 UTC (rev 374996)
@@ -0,0 +1,64 @@
+From 5a2cd2409c7d65c019ad9f4595a4e85315857ac4 Mon Sep 17 00:00:00 2001
+From: Tom Anderson <thomasanderson at chromium.org>
+Date: Mon, 3 Feb 2020 23:18:46 +0000
+Subject: [PATCH] Rename Relayout() in DesktopWindowTreeHostPlatform to
+ ScheduleRelayout()
+
+R=sky
+
+Bug: None
+Change-Id: I680cafd25935e59a280e3b2baac754d3d5f13a35
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2036553
+Auto-Submit: Thomas Anderson <thomasanderson at chromium.org>
+Reviewed-by: Scott Violet <sky at chromium.org>
+Commit-Queue: Thomas Anderson <thomasanderson at chromium.org>
+Cr-Commit-Position: refs/heads/master@{#737974}
+---
+ .../desktop_aura/desktop_window_tree_host_platform.cc       | 6 +++---
+ .../widget/desktop_aura/desktop_window_tree_host_platform.h | 2 +-
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc b/ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc
+index 6c00d49eb3f..9c695d8e5b1 100644
+--- a/ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc
++++ b/ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc
+@@ -556,7 +556,7 @@ void DesktopWindowTreeHostPlatform::SetFullscreen(bool fullscreen) {
+   DCHECK_EQ(fullscreen, IsFullscreen());
+ 
+   if (IsFullscreen() == fullscreen)
+-    Relayout();
++    ScheduleRelayout();
+   // Else: the widget will be relaid out either when the window bounds change
+   // or when |platform_window|'s fullscreen state changes.
+ }
+@@ -669,7 +669,7 @@ void DesktopWindowTreeHostPlatform::OnWindowStateChanged(
+   // Now that we have different window properties, we may need to relayout the
+   // window. (The windows code doesn't need this because their window change is
+   // synchronous.)
+-  Relayout();
++  ScheduleRelayout();
+ }
+ 
+ void DesktopWindowTreeHostPlatform::OnCloseRequest() {
+@@ -712,7 +712,7 @@ gfx::Rect DesktopWindowTreeHostPlatform::ToPixelRect(
+   return gfx::ToEnclosingRect(rect_in_pixels);
+ }
+ 
+-void DesktopWindowTreeHostPlatform::Relayout() {
++void DesktopWindowTreeHostPlatform::ScheduleRelayout() {
+   Widget* widget = native_widget_delegate_->AsWidget();
+   NonClientView* non_client_view = widget->non_client_view();
+   // non_client_view may be NULL, especially during creation.
+diff --git a/ui/views/widget/desktop_aura/desktop_window_tree_host_platform.h b/ui/views/widget/desktop_aura/desktop_window_tree_host_platform.h
+index 89beb8d2245..75a401e02a7 100644
+--- a/ui/views/widget/desktop_aura/desktop_window_tree_host_platform.h
++++ b/ui/views/widget/desktop_aura/desktop_window_tree_host_platform.h
+@@ -129,7 +129,7 @@ class VIEWS_EXPORT DesktopWindowTreeHostPlatform
+   gfx::Rect ToPixelRect(const gfx::Rect& rect_in_dip) const;
+ 
+  private:
+-  void Relayout();
++  void ScheduleRelayout();
+ 
+   Widget* GetWidget();
+   const Widget* GetWidget() const;



More information about the arch-commits mailing list