123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 |
- From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
- From: Cheng Zhao <[email protected]>
- Date: Thu, 20 Sep 2018 17:48:49 -0700
- Subject: mas_disable_custom_window_frame.patch
- Disable private window frame APIs (NSNextStepFrame and NSThemeFrame) for MAS
- build.
- diff --git a/components/remote_cocoa/app_shim/browser_native_widget_window_mac.mm b/components/remote_cocoa/app_shim/browser_native_widget_window_mac.mm
- index 677279352ba9a0415814654cfb676a240a316bc3..2194a762c6a14233f2246fb320ea158879a196cd 100644
- --- a/components/remote_cocoa/app_shim/browser_native_widget_window_mac.mm
- +++ b/components/remote_cocoa/app_shim/browser_native_widget_window_mac.mm
- @@ -9,6 +9,7 @@
- #include "components/remote_cocoa/app_shim/bridged_native_widget_impl.h"
- #include "components/remote_cocoa/common/bridged_native_widget_host.mojom.h"
-
- +#ifndef MAS_BUILD
- @interface NSWindow (PrivateBrowserNativeWidgetAPI)
- + (Class)frameViewClassForStyleMask:(NSUInteger)windowStyle;
- @end
- @@ -69,10 +70,13 @@
-
- @end
-
- +#endif // MAS_BUILD
- +
- @implementation BrowserNativeWidgetWindow
-
- // NSWindow (PrivateAPI) overrides.
-
- +#ifndef MAS_BUILD
- + (Class)frameViewClassForStyleMask:(NSUInteger)windowStyle {
- // - NSThemeFrame and its subclasses will be nil if it's missing at runtime.
- if ([BrowserWindowFrame class])
- @@ -87,6 +91,8 @@
- return NO;
- }
-
- +#endif // MAS_BUILD
- +
- // Handle "Move focus to the window toolbar" configured in System Preferences ->
- // Keyboard -> Shortcuts -> Keyboard. Usually Ctrl+F5. The argument (|unknown|)
- // tends to just be nil.
- diff --git a/components/remote_cocoa/app_shim/native_widget_mac_frameless_nswindow.mm b/components/remote_cocoa/app_shim/native_widget_mac_frameless_nswindow.mm
- index 8416c7c6e052dafb2aad61c0bd3224c36e945d23..cd356beda023ab2409b16d58ca38c70ba3674913 100644
- --- a/components/remote_cocoa/app_shim/native_widget_mac_frameless_nswindow.mm
- +++ b/components/remote_cocoa/app_shim/native_widget_mac_frameless_nswindow.mm
- @@ -4,6 +4,8 @@
-
- #import "components/remote_cocoa/app_shim/native_widget_mac_frameless_nswindow.h"
-
- +#ifndef MAS_BUILD
- +
- @interface NSWindow (PrivateAPI)
- + (Class)frameViewClassForStyleMask:(NSUInteger)windowStyle;
- @end
- @@ -18,8 +20,12 @@
- }
- @end
-
- +#endif // MAS_BUILD
- +
- @implementation NativeWidgetMacFramelessNSWindow
-
- +#ifndef MAS_BUILD
- +
- + (Class)frameViewClassForStyleMask:(NSUInteger)windowStyle {
- if ([NativeWidgetMacFramelessNSWindowFrame class]) {
- return [NativeWidgetMacFramelessNSWindowFrame class];
- @@ -27,4 +33,6 @@
- return [super frameViewClassForStyleMask:windowStyle];
- }
-
- +#endif // MAS_BUILD
- +
- @end
- diff --git a/components/remote_cocoa/app_shim/native_widget_mac_nswindow.h b/components/remote_cocoa/app_shim/native_widget_mac_nswindow.h
- index 5b481e482e27f455ec4ecf03de3883d5be0d25f7..6f551699f09879f08e8f9298758a8ab0ec09c84c 100644
- --- a/components/remote_cocoa/app_shim/native_widget_mac_nswindow.h
- +++ b/components/remote_cocoa/app_shim/native_widget_mac_nswindow.h
- @@ -17,6 +17,7 @@ class BridgedNativeWidgetImpl;
-
- @protocol WindowTouchBarDelegate;
-
- +#ifndef MAS_BUILD
- // Weak lets Chrome launch even if a future macOS doesn't have the below classes
- WEAK_IMPORT_ATTRIBUTE
- @interface NSNextStepFrame : NSView
- @@ -33,6 +34,7 @@ REMOTE_COCOA_APP_SHIM_EXPORT
- REMOTE_COCOA_APP_SHIM_EXPORT
- @interface NativeWidgetMacNSWindowTitledFrame : NSThemeFrame
- @end
- +#endif
-
- // The NSWindow used by BridgedNativeWidget. Provides hooks into AppKit that
- // can only be accomplished by overriding methods.
- diff --git a/components/remote_cocoa/app_shim/native_widget_mac_nswindow.mm b/components/remote_cocoa/app_shim/native_widget_mac_nswindow.mm
- index aa2bb3a5f886c44f8217eaca8b0d19526090b47e..198d2f03d5b4c41f280bc4d9ce93bdcd209410df 100644
- --- a/components/remote_cocoa/app_shim/native_widget_mac_nswindow.mm
- +++ b/components/remote_cocoa/app_shim/native_widget_mac_nswindow.mm
- @@ -15,7 +15,9 @@
- #import "ui/base/cocoa/window_size_constants.h"
-
- @interface NSWindow (Private)
- +#ifndef MAS_BUILD
- + (Class)frameViewClassForStyleMask:(NSWindowStyleMask)windowStyle;
- +#endif
- - (BOOL)hasKeyAppearance;
- - (long long)_resizeDirectionForMouseLocation:(CGPoint)location;
-
- @@ -56,6 +58,8 @@
- }
- @end
-
- +#ifndef MAS_BUILD
- +
- @implementation NativeWidgetMacNSWindowTitledFrame
- - (void)mouseDown:(NSEvent*)event {
- [self cr_mouseDownOnFrameView:event];
- @@ -76,6 +80,8 @@
- }
- @end
-
- +#endif // MAS_BUILD
- +
- @implementation NativeWidgetMacNSWindow {
- @private
- base::scoped_nsobject<CommandDispatcher> commandDispatcher_;
- @@ -153,6 +159,8 @@
-
- // NSWindow overrides.
-
- +#ifndef MAS_BUILD
- +
- + (Class)frameViewClassForStyleMask:(NSWindowStyleMask)windowStyle {
- if (windowStyle & NSWindowStyleMaskTitled) {
- if (Class customFrame = [NativeWidgetMacNSWindowTitledFrame class])
- @@ -164,6 +172,8 @@
- return [super frameViewClassForStyleMask:windowStyle];
- }
-
- +#endif
- +
- - (BOOL)_isTitleHidden {
- bool shouldShowWindowTitle = YES;
- if (bridgeImpl_)
|