From 9cc92d72a75c97cb1b363662fd197f3aeabed234 Mon Sep 17 00:00:00 2001 From: "@anulman" <@anulman> Date: Fri, 24 Sep 2021 13:38:11 -0400 Subject: [PATCH] fix: BrowserView drag now delegates to the OS when possible --- shell/browser/native_browser_view_mac.mm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/shell/browser/native_browser_view_mac.mm b/shell/browser/native_browser_view_mac.mm index 0fa1fa9aafae6..9cb5d11d8610b 100644 --- a/shell/browser/native_browser_view_mac.mm +++ b/shell/browser/native_browser_view_mac.mm @@ -59,7 +59,8 @@ + (void)load { } - (BOOL)mouseDownCanMoveWindow { - return NO; + return + [self.window respondsToSelector:@selector(performWindowDragWithEvent:)]; } - (BOOL)acceptsFirstMouse:(NSEvent*)event { @@ -85,16 +86,15 @@ - (NSView*)hitTest:(NSPoint)point { - (void)mouseDown:(NSEvent*)event { [super mouseDown:event]; - if ([self.window respondsToSelector:@selector(performWindowDragWithEvent)]) { + if ([self.window respondsToSelector:@selector(performWindowDragWithEvent:)]) { // According to Google, using performWindowDragWithEvent: // does not generate a NSWindowWillMoveNotification. Hence post one. [[NSNotificationCenter defaultCenter] postNotificationName:NSWindowWillMoveNotification object:self]; - if (@available(macOS 10.11, *)) { - [self.window performWindowDragWithEvent:event]; - } + [self.window performWindowDragWithEvent:event]; + return; } @@ -106,7 +106,7 @@ - (void)mouseDown:(NSEvent*)event { } - (void)mouseDragged:(NSEvent*)event { - if ([self.window respondsToSelector:@selector(performWindowDragWithEvent)]) { + if ([self.window respondsToSelector:@selector(performWindowDragWithEvent:)]) { return; }