From 00969fe1e5ed8cab35b1fbbd682fa12ee263c1a8 Mon Sep 17 00:00:00 2001 From: "trop[bot]" <37223003+trop[bot]@users.noreply.github.com> Date: Thu, 30 Sep 2021 08:39:21 -0400 Subject: [PATCH] fix: BrowserView drag now delegates to the OS when possible (#31176) Co-authored-by: @anulman <@anulman> --- 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; }