* Electron version: 1.4.12
* Operating system: OSX 10.11

If a BrowserWindow is created in full screen mode (fullScreen: true), but programmatically enters and exits kiosk mode (setKiosk(false)), I would expect the app to stay fullScreen at all times.  

This issue appears to be in **NativeWindowMac::SetKiosk(bool kiosk)**. It calls SetFullScreen(true) when entering kiosk and SetFullScreen(false) when leaving kiosk. It would be nice if a check was made to see if the window was already full screen and then just skip these calls. This would allow more graceful kiosking for full screen apps.  


atom/browser/native_window_mac.h
void SetContentSizeConstraints(
      const extensions::SizeConstraints& size_constraints) override;
  void SetResizable(bool resizable) override;
  bool IsResizable() override;
  void SetMovable(bool movable) override;
  void SetAspectRatio(double aspect_ratio, const gfx::Size& extra_size)
    override;
  void PreviewFile(const std::string& path, const std::string& display_name)
    override;
  void CloseFilePreview() override;
  bool IsMovable() override;
  void SetMinimizable(bool minimizable) override;
  bool IsMinimizable() override;
  void SetMaximizable(bool maximizable) override;
  bool IsMaximizable() override;
  void SetFullScreenable(bool fullscreenable) override;
  bool IsFullScreenable() override;
  void SetClosable(bool closable) override;
  bool IsClosable() override;
  void SetAlwaysOnTop(bool top, const std::string& level) override;
  bool IsAlwaysOnTop() override;
  void Center() override;
  void SetTitle(const std::string& title) override;
  std::string GetTitle() override;
  void FlashFrame(bool flash) override;
  void SetSkipTaskbar(bool skip) override;
  void SetKiosk(bool kiosk) override;
  bool IsKiosk() override;
  void SetBackgroundColor(const std::string& color_name) override;
  void SetHasShadow(bool has_shadow) override;