public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/chromium] epel9-next: Backport one more Wayland DnD bug fix from upstream
@ 2026-08-07 16:08 LuK1337
  0 siblings, 0 replies; only message in thread
From: LuK1337 @ 2026-08-07 16:08 UTC (permalink / raw)
  To: git-commits

A new commit has been pushed.

Repo   : rpms/chromium
Branch : epel9-next
Commit : 21c645393dd764701f3c95f28a6471ce178c5c85
Author : LuK1337 <priv.luk@gmail.com>
Date   : 2025-12-01T09:07:42+01:00
Stats  : +87/-2 in 2 file(s)
URL    : https://src.fedoraproject.org/rpms/chromium/c/21c645393dd764701f3c95f28a6471ce178c5c85?branch=epel9-next

Log:
Backport one more Wayland DnD bug fix from upstream

---
diff --git a/chromium-142-Update-pointer-position-during-draggin.patch b/chromium-142-Update-pointer-position-during-draggin.patch
new file mode 100644
index 0000000..eb0e1c8
--- /dev/null
+++ b/chromium-142-Update-pointer-position-during-draggin.patch
@@ -0,0 +1,80 @@
+From 4aed3650884fb2eb5605a051e92387204ae88cad Mon Sep 17 00:00:00 2001
+From: LuK1337 <priv.luk@gmail.com>
+Date: Sun, 30 Nov 2025 20:36:28 -0800
+Subject: [PATCH] [ozone/wayland] Update pointer position during dragging
+
+Prior to this change, dragging a file from chrome://downloads by its
+filename would often open the file after it was dropped somewhere, this
+is because the synthetic mouse release has outdated location.
+
+After ensuring that pointer location is updated during drag motion,
+similarly to WaylandWindowDragController::OnDragLeave(), this is no
+longer a problem.
+
+Bug: 462468355
+Test: ozone_unittests
+Change-Id: Ib377b7ec04a9f5a02a21e36f7c43871a3e414798
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7182320
+Reviewed-by: Peter McNeeley <petermcneeley@google.com>
+Commit-Queue: Peter McNeeley <petermcneeley@google.com>
+Auto-Submit: Łukasz Patron <priv.luk@gmail.com>
+Reviewed-by: Kramer Ge <fangzhoug@chromium.org>
+Cr-Commit-Position: refs/heads/main@{#1551919}
+---
+
+diff --git a/ui/ozone/platform/wayland/host/wayland_data_drag_controller.cc b/ui/ozone/platform/wayland/host/wayland_data_drag_controller.cc
+index b557e465..47b0911 100644
+--- a/ui/ozone/platform/wayland/host/wayland_data_drag_controller.cc
++++ b/ui/ozone/platform/wayland/host/wayland_data_drag_controller.cc
+@@ -486,17 +486,9 @@
+   if (drag_source_.has_value()) {
+     // Update the cursor position only for drag with mouse.
+     if (*drag_source_ == mojom::DragEventSource::kMouse) {
+-      auto* cursor_position = connection_->wayland_cursor_position();
+-      if (cursor_position) {
+-        CHECK(window_);
+-        // TODO(crbug.com/41494257): Once we enable the input region for
+-        // subsurfaces, we need to update this part since the location will no
+-        // longer be relative to the window.
+-        auto location_in_screen =
+-            gfx::ToRoundedPoint(location) +
+-            window_->GetBoundsInDIP().origin().OffsetFromOrigin();
+-        cursor_position->OnCursorPositionChanged(location_in_screen);
+-      }
++      pointer_delegate_->OnPointerMotionEvent(
++          location, timestamp, wl::EventDispatchPolicy::kImmediate,
++          /*is_synthesized=*/true);
+     }
+   }
+ 
+diff --git a/ui/ozone/platform/wayland/host/wayland_data_drag_controller.h b/ui/ozone/platform/wayland/host/wayland_data_drag_controller.h
+index e1239e6b..9a3ea8a2 100644
+--- a/ui/ozone/platform/wayland/host/wayland_data_drag_controller.h
++++ b/ui/ozone/platform/wayland/host/wayland_data_drag_controller.h
+@@ -130,6 +130,10 @@
+   // TODO(crbug.com/40598679): Remove once focus is fixed during DND sessions.
+   WaylandWindow* entered_window() const { return window_; }
+ 
++  WaylandPointer::Delegate* pointer_delegate() const {
++    return pointer_delegate_;
++  }
++
+   // Returns false iff the data is for a window dragging session.
+   bool ShouldReleaseCaptureForDrag(ui::OSExchangeData* data) const;
+ 
+diff --git a/ui/ozone/platform/wayland/host/wayland_data_drag_controller_unittest.cc b/ui/ozone/platform/wayland/host/wayland_data_drag_controller_unittest.cc
+index 4156ce4..d2a867acaf 100644
+--- a/ui/ozone/platform/wayland/host/wayland_data_drag_controller_unittest.cc
++++ b/ui/ozone/platform/wayland/host/wayland_data_drag_controller_unittest.cc
+@@ -1441,8 +1441,10 @@
+     // Send a drag motion and see if cursor position is updated.
+     SendDndMotion(gfx::Point(10, 11));
+     WaitForDragDropTasks();
+-    // Cursor position should be updated.
++    // Cursor and pointer positions should be updated.
++    auto* pointer_delegate = drag_controller()->pointer_delegate();
+     EXPECT_EQ(gfx::Point(10, 11), cursor_position->GetCursorSurfacePoint());
++    EXPECT_EQ(gfx::PointF(10, 11), pointer_delegate->GetPointerLocation());
+ 
+     SendDndLeave();
+     SendDndCancelled();

diff --git a/chromium.spec b/chromium.spec
index 31e6242..b40b88d 100644
--- a/chromium.spec
+++ b/chromium.spec
@@ -249,7 +249,7 @@
 
 Name:	chromium
 Version: 142.0.7444.175
-Release: 4%{?dist}
+Release: 5%{?dist}
 Summary: A WebKit (Blink) powered web browser that Google doesn't want you to use
 Url: http://www.chromium.org/Home
 License: BSD-3-Clause AND LGPL-2.1-or-later AND Apache-2.0 AND IJG AND MIT AND GPL-2.0-or-later AND ISC AND OpenSSL AND (MPL-1.1 OR GPL-2.0-only OR LGPL-2.0-only)
@@ -464,8 +464,9 @@ Patch511: 0002-Fix-Missing-OPENSSL_NO_ENGINE-Guard.patch
 # ../../base/containers/span.h:1387:63: error: arithmetic on a pointer to an incomplete type 'element_type' (aka 'const autofill::FormFieldData')
 # 1387 |         typename iterator::AssumeValid(data(), data(), data() + size())));
 Patch1000: chromium-142-missing-include-for-form_field_data.patch
-# Fix Wayland URI DnD issue
+# Fix Wayland URI DnD issues
 Patch1001: chromium-142-Add-ExtractData-support-for-text-uri-list.patch
+Patch1002: chromium-142-Update-pointer-position-during-draggin.patch
 
 # Use chromium-latest.py to generate clean tarball from released build tarballs, found here:
 # http://build.chromium.org/buildbot/official/
@@ -1134,6 +1135,7 @@ Qt6 UI for chromium.
 # Upstream patches
 %patch -P1000 -p1 -b .missing-include-for-form_field_data.patch
 %patch -P1001 -p1 -b .Add-ExtractData-support-for-text-uri-list.patch
+%patch -P1002 -p1 -b .Update-pointer-position-during-draggin.patch
 
 # Change shebang in all relevant files in this directory and all subdirectories
 # See `man find` for how the `-exec command {} +` syntax works
@@ -1771,6 +1773,9 @@ fi
 %endif
 
 %changelog
+* Mon Dec 01 2025 LuK1337 <priv.luk@gmail.com> - 142.0.7444.175-5
+- Backport one more Wayland DnD bug fix from upstream
+
 * Mon Nov 24 2025 Than Ngo <than@redhat.com> - 142.0.7444.175-4
 - Enable system libcxx
 - Fix link error when building with system libcxx

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2026-08-07 16:08 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-08-07 16:08 [rpms/chromium] epel9-next: Backport one more Wayland DnD bug fix from upstream LuK1337

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox