Files
electron/patches/chromium/revert_partial_remove_unused_prehandlemouseevent.patch
electron-roller[bot] eee60f202c chore: bump chromium to 145.0.7618.0 (main) (#49314)
* chore: bump chromium in DEPS to 145.0.7618.0

* 7399531: [GTK] Don't preselect file dialog accept buttons | https://chromium-review.googlesource.com/c/chromium/src/+/7399531

* chore: update patches

---------

Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Keeley Hammond <khammond@slack-corp.com>
2026-01-07 15:01:56 -05:00

120 lines
6.2 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: deepak1556 <hop2deep@gmail.com>
Date: Mon, 1 Sep 2025 23:31:49 +0900
Subject: Revert: partial "Remove unused PreHandleMouseEvent"
Refs https://chromium-review.googlesource.com/c/chromium/src/+/6880411
diff --git a/content/browser/renderer_host/render_widget_host_delegate.cc b/content/browser/renderer_host/render_widget_host_delegate.cc
index 74fea36ea7f9a345b3474ea18be00704831a685e..c75785d5a26fa52a39d1a3552da9a7621e4c8430 100644
--- a/content/browser/renderer_host/render_widget_host_delegate.cc
+++ b/content/browser/renderer_host/render_widget_host_delegate.cc
@@ -13,6 +13,11 @@
namespace content {
+bool RenderWidgetHostDelegate::PreHandleMouseEvent(
+ const blink::WebMouseEvent& event) {
+ return false;
+}
+
KeyboardEventProcessingResult RenderWidgetHostDelegate::PreHandleKeyboardEvent(
const input::NativeWebKeyboardEvent& event) {
return KeyboardEventProcessingResult::NOT_HANDLED;
diff --git a/content/browser/renderer_host/render_widget_host_delegate.h b/content/browser/renderer_host/render_widget_host_delegate.h
index 2cff43e9fc4374ae48d87dd048a295a00e5575e4..9cb5baccaa083a8030d4d0d57dc000403f575a28 100644
--- a/content/browser/renderer_host/render_widget_host_delegate.h
+++ b/content/browser/renderer_host/render_widget_host_delegate.h
@@ -103,6 +103,12 @@ class CONTENT_EXPORT RenderWidgetHostDelegate {
virtual void ResizeDueToAutoResize(RenderWidgetHostImpl* render_widget_host,
const gfx::Size& new_size) {}
+ // Callback to give the browser a chance to handle the specified mouse
+ // event before sending it to the renderer. Returns true if the event was
+ // handled, false otherwise. A true value means no more processing should
+ // happen on the event. The default return value is false.
+ virtual bool PreHandleMouseEvent(const blink::WebMouseEvent& event);
+
// Callback to give the browser a chance to handle the specified keyboard
// event before sending it to the renderer. See enum for details on return
// value.
diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc
index c7719a7bb973624f7932d7f9614ba71a98a8a0ed..b0184201376fe4b13c9e87fa8d957a465eedf6c8 100644
--- a/content/browser/renderer_host/render_widget_host_impl.cc
+++ b/content/browser/renderer_host/render_widget_host_impl.cc
@@ -1593,6 +1593,10 @@ void RenderWidgetHostImpl::ForwardMouseEventWithLatencyInfo(
CHECK_GE(mouse_event.GetType(), WebInputEvent::Type::kMouseTypeFirst);
CHECK_LE(mouse_event.GetType(), WebInputEvent::Type::kMouseTypeLast);
+ if (delegate_ && delegate_->PreHandleMouseEvent(mouse_event)) {
+ return;
+ }
+
for (auto& mouse_event_callback : mouse_event_callbacks_) {
if (mouse_event_callback.Run(mouse_event)) {
return;
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index 9bdbb9c52fff9e9dcbeac54861c73a1b213c36de..cb7dcefd02f7b26767acb1da4e0e64d466a18000 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -4480,6 +4480,12 @@ void WebContentsImpl::RenderWidgetWasResized(
width_changed);
}
+bool WebContentsImpl::PreHandleMouseEvent(const blink::WebMouseEvent& event) {
+ OPTIONAL_TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("content.verbose"),
+ "WebContentsImpl::PreHandleMouseEvent");
+ return delegate_ ? delegate_->PreHandleMouseEvent(this, event) : false;
+}
+
void WebContentsImpl::PreHandleDragUpdate(const DropData& drop_data,
const gfx::PointF& client_pt) {
if (delegate_) {
diff --git a/content/browser/web_contents/web_contents_impl.h b/content/browser/web_contents/web_contents_impl.h
index 4845fcd9286daabcf8cbf404439ab54a6c631193..383d6884871b0d2fed35891cce00a8447c632785 100644
--- a/content/browser/web_contents/web_contents_impl.h
+++ b/content/browser/web_contents/web_contents_impl.h
@@ -1124,6 +1124,7 @@ class CONTENT_EXPORT WebContentsImpl
double GetPendingZoomLevel(RenderWidgetHostImpl* rwh) override;
+ bool PreHandleMouseEvent(const blink::WebMouseEvent& event) override;
void PreHandleDragUpdate(const DropData& drop_data,
const gfx::PointF& client_pt);
void PreHandleDragExit();
diff --git a/content/public/browser/web_contents_delegate.cc b/content/public/browser/web_contents_delegate.cc
index 4083a3de23b451fa41cf20d8ebd5f7e9e2b5327a..52c09b87d6f844e2bd617301162b2cd3f738dc62 100644
--- a/content/public/browser/web_contents_delegate.cc
+++ b/content/public/browser/web_contents_delegate.cc
@@ -127,6 +127,12 @@ bool WebContentsDelegate::HandleContextMenu(RenderFrameHost& render_frame_host,
return false;
}
+bool WebContentsDelegate::PreHandleMouseEvent(
+ WebContents* source,
+ const blink::WebMouseEvent& event) {
+ return false;
+}
+
KeyboardEventProcessingResult WebContentsDelegate::PreHandleKeyboardEvent(
WebContents* source,
const input::NativeWebKeyboardEvent& event) {
diff --git a/content/public/browser/web_contents_delegate.h b/content/public/browser/web_contents_delegate.h
index 58f34bc33426136d2040f241f2cb5928dc19fb2d..951ef162e4783979857d1d1d2eb15695618a2021 100644
--- a/content/public/browser/web_contents_delegate.h
+++ b/content/public/browser/web_contents_delegate.h
@@ -326,6 +326,13 @@ class CONTENT_EXPORT WebContentsDelegate {
virtual bool HandleContextMenu(RenderFrameHost& render_frame_host,
const ContextMenuParams& params);
+ // Allows delegates to handle mouse events before sending to the renderer.
+ // Returns true if the event was handled, false otherwise. A true value means
+ // no more processing should happen on the event. The default return value is
+ // false.
+ virtual bool PreHandleMouseEvent(WebContents* source,
+ const blink::WebMouseEvent& event);
+
// Allows delegates to handle mouse drag events before sending to the
// renderer. Returns true if the event was handled, false otherwise. A true
// value means no more processing should happen on the event. The default