From 6a506a765673da389efd6c4715425d22f16ceb01 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 06a86ebc0e0b4..b5a25c747eb53 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; }