electron/shell/browser/ui/cocoa/electron_native_widget_mac.mm

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

38 lines
1.2 KiB
Text
Raw Normal View History

2018-04-19 06:36:14 +00:00
// 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"
2018-04-19 06:36:14 +00:00
#include <string>
#include "shell/browser/ui/cocoa/electron_ns_panel.h"
#include "shell/browser/ui/cocoa/electron_ns_window.h"
2018-04-24 08:23:08 +00:00
2018-04-19 06:36:14 +00:00
namespace electron {
ElectronNativeWidgetMac::ElectronNativeWidgetMac(
NativeWindowMac* shell,
const std::string& window_type,
2018-04-24 08:23:08 +00:00
NSUInteger style_mask,
2018-04-19 06:36:14 +00:00
views::internal::NativeWidgetDelegate* delegate)
2018-04-24 08:23:08 +00:00
: views::NativeWidgetMac(delegate),
shell_(shell),
window_type_(window_type),
2018-04-24 08:23:08 +00:00
style_mask_(style_mask) {}
2018-04-19 06:36:14 +00:00
ElectronNativeWidgetMac::~ElectronNativeWidgetMac() = default;
2018-04-19 06:36:14 +00:00
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];
}
2018-04-19 06:36:14 +00:00
}
} // namespace electron