Browse Source

Save a fullScreen state for Kiosk mode

Daijiro Wachi 8 years ago
parent
commit
436a6d5c0f
2 changed files with 5 additions and 1 deletions
  1. 2 0
      atom/browser/native_window_mac.h
  2. 3 1
      atom/browser/native_window_mac.mm

+ 2 - 0
atom/browser/native_window_mac.h

@@ -162,6 +162,8 @@ class NativeWindowMac : public NativeWindow,
 
   bool is_kiosk_;
 
+  bool was_fullscreen_;
+
   bool zoom_to_page_width_;
 
   NSInteger attention_request_id_;  // identifier from requestUserAttention

+ 3 - 1
atom/browser/native_window_mac.mm

@@ -619,6 +619,7 @@ NativeWindowMac::NativeWindowMac(
     NativeWindow* parent)
     : NativeWindow(web_contents, options, parent),
       is_kiosk_(false),
+      was_fullscreen_(false),
       zoom_to_page_width_(false),
       attention_request_id_(0),
       title_bar_style_(NORMAL) {
@@ -1126,10 +1127,11 @@ void NativeWindowMac::SetKiosk(bool kiosk) {
         NSApplicationPresentationDisableHideApplication;
     [NSApp setPresentationOptions:options];
     is_kiosk_ = true;
+    was_fullscreen_ = IsFullscreen();
     SetFullScreen(true);
   } else if (!kiosk && is_kiosk_) {
     is_kiosk_ = false;
-    SetFullScreen(false);
+    if (!was_fullscreen_) SetFullScreen(false);
     [NSApp setPresentationOptions:kiosk_options_];
   }
 }