|
@@ -473,6 +473,7 @@ NativeWindowMac::NativeWindowMac(const mate::Dictionary& options,
|
|
|
AddContentViewLayers();
|
|
|
|
|
|
original_frame_ = [window_ frame];
|
|
|
+ original_level_ = [window_ level];
|
|
|
}
|
|
|
|
|
|
NativeWindowMac::~NativeWindowMac() {
|
|
@@ -892,9 +893,11 @@ void NativeWindowMac::SetSimpleFullScreen(bool simple_fullscreen) {
|
|
|
if (simple_fullscreen && !is_simple_fullscreen_) {
|
|
|
is_simple_fullscreen_ = true;
|
|
|
|
|
|
- // Take note of the current window size
|
|
|
- if (IsNormal())
|
|
|
+ // Take note of the current window size and level
|
|
|
+ if (IsNormal()) {
|
|
|
original_frame_ = [window_ frame];
|
|
|
+ original_level_ = [window_ level];
|
|
|
+ }
|
|
|
|
|
|
simple_fullscreen_options_ = [NSApp currentSystemPresentationOptions];
|
|
|
simple_fullscreen_mask_ = [window styleMask];
|
|
@@ -911,6 +914,13 @@ void NativeWindowMac::SetSimpleFullScreen(bool simple_fullscreen) {
|
|
|
|
|
|
NSRect fullscreenFrame = [window.screen frame];
|
|
|
|
|
|
+ // If our app has dock hidden, set the window level higher so another app's
|
|
|
+ // menu bar doesn't appear on top of our fullscreen app.
|
|
|
+ if ([[NSRunningApplication currentApplication] activationPolicy] !=
|
|
|
+ NSApplicationActivationPolicyRegular) {
|
|
|
+ window.level = NSPopUpMenuWindowLevel;
|
|
|
+ }
|
|
|
+
|
|
|
if (!fullscreen_window_title()) {
|
|
|
// Hide the titlebar
|
|
|
SetStyleMask(false, NSWindowStyleMaskTitled);
|
|
@@ -951,6 +961,7 @@ void NativeWindowMac::SetSimpleFullScreen(bool simple_fullscreen) {
|
|
|
setHidden:window_button_hidden];
|
|
|
|
|
|
[window setFrame:original_frame_ display:YES animate:YES];
|
|
|
+ window.level = original_level_;
|
|
|
|
|
|
[NSApp setPresentationOptions:simple_fullscreen_options_];
|
|
|
|