cef/patch/patches/mac_render_widget_3680.patch
2024-06-20 12:09:46 -04:00

35 lines
1.2 KiB
Diff

diff --git content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm
index a14c65728ec51..2c40d6074f8b8 100644
--- content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm
+++ content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm
@@ -171,6 +171,13 @@ void ExtractUnderlines(NSAttributedString* string,
// RenderWidgetHostViewCocoa ---------------------------------------------------
+@interface NSWindow (CefCustomMethods)
+- (int)acceptsFirstMouse;
+@end
+
+constexpr int kStateEnabled = 1;
+constexpr int kStateDisabled = 2;
+
// Private methods:
@interface RenderWidgetHostViewCocoa ()
@@ -767,6 +774,15 @@ void ExtractUnderlines(NSAttributedString* string,
}
- (BOOL)acceptsFirstMouse:(NSEvent*)theEvent {
+ if ([self.window respondsToSelector:@selector(acceptsFirstMouse)]) {
+ const auto mode = [self.window acceptsFirstMouse];
+ if (mode == kStateEnabled) {
+ return YES;
+ } else if (mode == kStateDisabled) {
+ return NO;
+ }
+ }
+
// Enable "click-through" if mouse clicks are accepted in inactive windows
return [self acceptsMouseEventsOption] > kAcceptMouseEventsInActiveWindow;
}