fix: BrowserView drag now delegates to the OS when possible (#31114)
This commit is contained in:
parent
4da66b9d68
commit
abf6f1cf78
1 changed files with 6 additions and 6 deletions
|
@ -59,7 +59,8 @@ const NSAutoresizingMaskOptions kDefaultAutoResizingMask =
|
||||||
}
|
}
|
||||||
|
|
||||||
- (BOOL)mouseDownCanMoveWindow {
|
- (BOOL)mouseDownCanMoveWindow {
|
||||||
return NO;
|
return
|
||||||
|
[self.window respondsToSelector:@selector(performWindowDragWithEvent:)];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (BOOL)acceptsFirstMouse:(NSEvent*)event {
|
- (BOOL)acceptsFirstMouse:(NSEvent*)event {
|
||||||
|
@ -85,16 +86,15 @@ const NSAutoresizingMaskOptions kDefaultAutoResizingMask =
|
||||||
- (void)mouseDown:(NSEvent*)event {
|
- (void)mouseDown:(NSEvent*)event {
|
||||||
[super mouseDown:event];
|
[super mouseDown:event];
|
||||||
|
|
||||||
if ([self.window respondsToSelector:@selector(performWindowDragWithEvent)]) {
|
if ([self.window respondsToSelector:@selector(performWindowDragWithEvent:)]) {
|
||||||
// According to Google, using performWindowDragWithEvent:
|
// According to Google, using performWindowDragWithEvent:
|
||||||
// does not generate a NSWindowWillMoveNotification. Hence post one.
|
// does not generate a NSWindowWillMoveNotification. Hence post one.
|
||||||
[[NSNotificationCenter defaultCenter]
|
[[NSNotificationCenter defaultCenter]
|
||||||
postNotificationName:NSWindowWillMoveNotification
|
postNotificationName:NSWindowWillMoveNotification
|
||||||
object:self];
|
object:self];
|
||||||
|
|
||||||
if (@available(macOS 10.11, *)) {
|
|
||||||
[self.window performWindowDragWithEvent:event];
|
[self.window performWindowDragWithEvent:event];
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -106,7 +106,7 @@ const NSAutoresizingMaskOptions kDefaultAutoResizingMask =
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)mouseDragged:(NSEvent*)event {
|
- (void)mouseDragged:(NSEvent*)event {
|
||||||
if ([self.window respondsToSelector:@selector(performWindowDragWithEvent)]) {
|
if ([self.window respondsToSelector:@selector(performWindowDragWithEvent:)]) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue