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>
This commit is contained in:
parent
bed38e0985
commit
21ef8501e7
9 changed files with 92 additions and 9 deletions
|
@ -317,7 +317,8 @@ NativeWindowMac::NativeWindowMac(const gin_helper::Dictionary& options,
|
|||
params.bounds = bounds;
|
||||
params.delegate = this;
|
||||
params.type = views::Widget::InitParams::TYPE_WINDOW;
|
||||
params.native_widget = new ElectronNativeWidgetMac(this, styleMask, widget());
|
||||
params.native_widget =
|
||||
new ElectronNativeWidgetMac(this, windowType, styleMask, widget());
|
||||
widget()->Init(std::move(params));
|
||||
SetCanResize(resizable);
|
||||
window_ = static_cast<ElectronNSWindow*>(
|
||||
|
@ -355,6 +356,10 @@ NativeWindowMac::NativeWindowMac(const gin_helper::Dictionary& options,
|
|||
NSWindowCollectionBehaviorIgnoresCycle)];
|
||||
}
|
||||
|
||||
if (windowType == "panel") {
|
||||
[window_ setLevel:NSFloatingWindowLevel];
|
||||
}
|
||||
|
||||
bool focusable;
|
||||
if (options.Get(options::kFocusable, &focusable) && !focusable)
|
||||
[window_ setDisableKeyOrMainWindow:YES];
|
||||
|
@ -807,6 +812,7 @@ void NativeWindowMac::MoveTop() {
|
|||
}
|
||||
|
||||
void NativeWindowMac::SetResizable(bool resizable) {
|
||||
ScopedDisableResize disable_resize;
|
||||
SetStyleMask(resizable, NSWindowStyleMaskResizable);
|
||||
SetCanResize(resizable);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue