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