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

Evangelos Foutras foutrelis at gemini.archlinux.org
Sun Jan 9 12:50:22 UTC 2022


    Date: Sunday, January 9, 2022 @ 12:50:22
  Author: foutrelis
Revision: 434008

upgpkg: chromium 97.0.4692.71-2: fix tab dragging (FS#73307)

Added:
  chromium/trunk/fix-tag-dragging-in-KWin.patch
  chromium/trunk/fix-tag-dragging-in-Mutter.patch
Modified:
  chromium/trunk/PKGBUILD

----------------------------------+
 PKGBUILD                         |   10 +++++++-
 fix-tag-dragging-in-KWin.patch   |   35 ++++++++++++++++++++++++++++
 fix-tag-dragging-in-Mutter.patch |   46 +++++++++++++++++++++++++++++++++++++
 3 files changed, 90 insertions(+), 1 deletion(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2022-01-09 12:40:11 UTC (rev 434007)
+++ PKGBUILD	2022-01-09 12:50:22 UTC (rev 434008)
@@ -5,7 +5,7 @@
 
 pkgname=chromium
 pkgver=97.0.4692.71
-pkgrel=1
+pkgrel=2
 _launcher_ver=8
 _gcc_patchset=4
 pkgdesc="A web browser built for speed, simplicity, and security"
@@ -25,6 +25,8 @@
 source=(https://commondatastorage.googleapis.com/chromium-browser-official/$pkgname-$pkgver.tar.xz
         https://github.com/foutrelis/chromium-launcher/archive/v$_launcher_ver/chromium-launcher-$_launcher_ver.tar.gz
         https://github.com/stha09/chromium-patches/releases/download/chromium-${pkgver%%.*}-patchset-$_gcc_patchset/chromium-${pkgver%%.*}-patchset-$_gcc_patchset.tar.xz
+        fix-tag-dragging-in-KWin.patch
+        fix-tag-dragging-in-Mutter.patch
         sql-make-VirtualCursor-standard-layout-type.patch
         chromium-93-ffmpeg-4.4.patch
         unbundle-ffmpeg-av_stream_get_first_dts.patch
@@ -33,6 +35,8 @@
 sha256sums=('8ae189d44b782fe4d4942962260dbf5f753abf141148727d9fe82852778dfd7c'
             '213e50f48b67feb4441078d50b0fd431df34323be15be97c55302d3fdac4483a'
             '7af5c0a55a20c0fb496b2f4448d89203a83bb1914754d864460e55e68731ef0b'
+            '8dac06ef6e85ddb205b47bb7f1b8c3f73b67a8252dd2a81ed636964c517114ed'
+            '764dd0c1336881ff37c764f59f25f5830675b5db1388a74da5ddbe9642883692'
             'dd317f85e5abfdcfc89c6f23f4c8edbcdebdd5e083dcec770e5da49ee647d150'
             '1a9e074f417f8ffd78bcd6874d8e2e74a239905bf662f76a7755fa40dc476b57'
             '1f0c1a7a1eb67d91765c9f28df815f58e1c6dc7b37d0acd4d68cac8e5515786c'
@@ -105,6 +109,10 @@
   # https://crbug.com/1207478
   patch -Np0 -i ../unexpire-accelerated-video-decode-flag.patch
 
+  # Upstream fixes
+  patch -Np1 -i ../fix-tag-dragging-in-KWin.patch
+  patch -Np1 -i ../fix-tag-dragging-in-Mutter.patch
+
   # https://chromium-review.googlesource.com/c/chromium/src/+/2862724
   patch -Np1 -i ../sql-make-VirtualCursor-standard-layout-type.patch
 

Added: fix-tag-dragging-in-KWin.patch
===================================================================
--- fix-tag-dragging-in-KWin.patch	                        (rev 0)
+++ fix-tag-dragging-in-KWin.patch	2022-01-09 12:50:22 UTC (rev 434008)
@@ -0,0 +1,35 @@
+From 52d0ad25ea695da44195e49f36e69fa81b55e670 Mon Sep 17 00:00:00 2001
+From: Tom Anderson <thomasanderson at chromium.org>
+Date: Wed, 5 Jan 2022 21:11:03 +0000
+Subject: [PATCH] [X11] Fix tag dragging in KWin
+
+R=sky
+
+Bug: 1279532
+Change-Id: Iac166803e2149eef234045d922b630f0019c8073
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3355376
+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/main@{#955869}
+---
+ ui/platform_window/x11/x11_topmost_window_finder.cc | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/ui/platform_window/x11/x11_topmost_window_finder.cc b/ui/platform_window/x11/x11_topmost_window_finder.cc
+index 50e75e17f0a..2e16393487b 100644
+--- a/ui/platform_window/x11/x11_topmost_window_finder.cc
++++ b/ui/platform_window/x11/x11_topmost_window_finder.cc
+@@ -68,9 +68,9 @@ bool EnumerateAllWindows(ShouldStopIteratingCallback should_stop_iterating,
+ 
+ void EnumerateTopLevelWindows(
+     ui::ShouldStopIteratingCallback should_stop_iterating) {
+-  // Some WMs parent 'top-level' windows in unnamed actual top-level windows
+-  // (ion WM), so extend the search depth to all children of top-level windows.
+-  const int kMaxSearchDepth = 1;
++  // WMs may reparent toplevel windows inside their own containers, so extend
++  // the search to all grandchildren of all toplevel windows.
++  const int kMaxSearchDepth = 2;
+   ui::EnumerateAllWindows(should_stop_iterating, kMaxSearchDepth);
+ }
+ 

Added: fix-tag-dragging-in-Mutter.patch
===================================================================
--- fix-tag-dragging-in-Mutter.patch	                        (rev 0)
+++ fix-tag-dragging-in-Mutter.patch	2022-01-09 12:50:22 UTC (rev 434008)
@@ -0,0 +1,46 @@
+From 3806f28918ea23291749ff4775339075a5f394e8 Mon Sep 17 00:00:00 2001
+From: Tom Anderson <thomasanderson at chromium.org>
+Date: Thu, 6 Jan 2022 00:59:40 +0000
+Subject: [PATCH] [X11] Fix tag dragging in Mutter
+
+We used to use a BFS to find the target window for tag dragging, but
+this causes windows underneath (like the window for the desktop
+wallpaper) to take precedence over nested windows.
+
+This CL switches to a DFS.
+
+R=sky
+
+Bug: 1279532
+Change-Id: Ib569e9270be60bcb4fff088517dfe295697608b0
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3355470
+Reviewed-by: Scott Violet <sky at chromium.org>
+Commit-Queue: Thomas Anderson <thomasanderson at chromium.org>
+Auto-Submit: Thomas Anderson <thomasanderson at chromium.org>
+Cr-Commit-Position: refs/heads/main@{#955976}
+---
+ ui/platform_window/x11/x11_topmost_window_finder.cc | 11 ++---------
+ 1 file changed, 2 insertions(+), 9 deletions(-)
+
+diff --git a/ui/platform_window/x11/x11_topmost_window_finder.cc b/ui/platform_window/x11/x11_topmost_window_finder.cc
+index 2e16393487b..e20bf0abf0e 100644
+--- a/ui/platform_window/x11/x11_topmost_window_finder.cc
++++ b/ui/platform_window/x11/x11_topmost_window_finder.cc
+@@ -44,15 +44,8 @@ bool EnumerateChildren(ShouldStopIteratingCallback should_stop_iterating,
+   for (iter = windows.rbegin(); iter != windows.rend(); iter++) {
+     if (IsWindowNamed(*iter) && should_stop_iterating.Run(*iter))
+       return true;
+-  }
+-
+-  // If we're at this point, we didn't find the window we're looking for at the
+-  // current level, so we need to recurse to the next level.  We use a second
+-  // loop because the recursion and call to XQueryTree are expensive and is only
+-  // needed for a small number of cases.
+-  if (++depth <= max_depth) {
+-    for (iter = windows.rbegin(); iter != windows.rend(); iter++) {
+-      if (EnumerateChildren(should_stop_iterating, *iter, max_depth, depth))
++    if (depth < max_depth) {
++      if (EnumerateChildren(should_stop_iterating, *iter, max_depth, depth + 1))
+         return true;
+     }
+   }



More information about the arch-commits mailing list