[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