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 e2b524c968d67..daaf0c04c8b79 100644 --- content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm +++ content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm @@ -173,6 +173,13 @@ void ExtractUnderlines(NSAttributedString* string, // RenderWidgetHostViewCocoa --------------------------------------------------- +@interface NSWindow (CefCustomMethods) +- (int)acceptsFirstMouse; +@end + +constexpr int kStateEnabled = 1; +constexpr int kStateDisabled = 2; + // Private methods: @interface RenderWidgetHostViewCocoa () @@ -785,6 +792,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; }