electron/shell/browser/ui/cocoa/electron_native_widget_mac.mm
isailaandrei 21ef8501e7
feat: add panel support for BrowserWindow (#34388)
* feat: add NSPanel support for BrowserWindow

* change header guard to satisfy linter

* change panel wording in browser-window

* Revert "change panel wording in browser-window"

This reverts commit 6f3f80f94a7040e1d612a2a65952753bbafd437d.

* change wording in browser-window

* Update shell/browser/ui/cocoa/electron_native_widget_mac.mm

Co-authored-by: Cheng Zhao <github@zcbenz.com>

* Update shell/browser/ui/cocoa/electron_native_widget_mac.h

Co-authored-by: Cheng Zhao <github@zcbenz.com>

* Changed ScopedDisableResize class to allow for nesting

Co-authored-by: andreiisaila <andreiisaila@microsoft.com>
Co-authored-by: Cheng Zhao <github@zcbenz.com>
2022-06-14 12:24:52 -04:00

37 lines
1.2 KiB
Text

// Copyright (c) 2018 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#include "shell/browser/ui/cocoa/electron_native_widget_mac.h"
#include <string>
#include "shell/browser/ui/cocoa/electron_ns_panel.h"
#include "shell/browser/ui/cocoa/electron_ns_window.h"
namespace electron {
ElectronNativeWidgetMac::ElectronNativeWidgetMac(
NativeWindowMac* shell,
const std::string& window_type,
NSUInteger style_mask,
views::internal::NativeWidgetDelegate* delegate)
: views::NativeWidgetMac(delegate),
shell_(shell),
window_type_(window_type),
style_mask_(style_mask) {}
ElectronNativeWidgetMac::~ElectronNativeWidgetMac() = default;
NativeWidgetMacNSWindow* ElectronNativeWidgetMac::CreateNSWindow(
const remote_cocoa::mojom::CreateWindowParams* params) {
if (window_type_ == "panel") {
return [[[ElectronNSPanel alloc] initWithShell:shell_
styleMask:style_mask_] autorelease];
} else {
return [[[ElectronNSWindow alloc] initWithShell:shell_
styleMask:style_mask_] autorelease];
}
}
} // namespace electron