Add BrowserWindow.isVisible() API.
authorCheng Zhao <zcbenz@gmail.com>
Thu, 3 Oct 2013 00:27:59 +0000 (08:27 +0800)
committerCheng Zhao <zcbenz@gmail.com>
Thu, 3 Oct 2013 00:28:22 +0000 (08:28 +0800)
browser/api/atom_api_window.cc
browser/api/atom_api_window.h
browser/native_window.h
browser/native_window_mac.h
browser/native_window_mac.mm
browser/native_window_win.cc
browser/native_window_win.h
docs/api/browser/browser-window.md

index 8d1cd0a..95740bc 100644 (file)
@@ -156,6 +156,12 @@ v8::Handle<v8::Value> Window::Hide(const v8::Arguments &args) {
 }
 
 // static
+v8::Handle<v8::Value> Window::IsVisible(const v8::Arguments& args) {
+  UNWRAP_WINDOW_AND_CHECK;
+  return ToV8Value(self->window_->IsVisible());
+}
+
+// static
 v8::Handle<v8::Value> Window::Maximize(const v8::Arguments &args) {
   UNWRAP_WINDOW_AND_CHECK;
 
@@ -671,6 +677,7 @@ void Window::Initialize(v8::Handle<v8::Object> target) {
   NODE_SET_PROTOTYPE_METHOD(t, "isFocused", IsFocused);
   NODE_SET_PROTOTYPE_METHOD(t, "show", Show);
   NODE_SET_PROTOTYPE_METHOD(t, "hide", Hide);
+  NODE_SET_PROTOTYPE_METHOD(t, "isVisible", IsVisible);
   NODE_SET_PROTOTYPE_METHOD(t, "maximize", Maximize);
   NODE_SET_PROTOTYPE_METHOD(t, "unmaximize", Unmaximize);
   NODE_SET_PROTOTYPE_METHOD(t, "minimize", Minimize);
index 1de7178..5318476 100644 (file)
@@ -53,6 +53,7 @@ class Window : public EventEmitter,
   static v8::Handle<v8::Value> IsFocused(const v8::Arguments &args);
   static v8::Handle<v8::Value> Show(const v8::Arguments &args);
   static v8::Handle<v8::Value> Hide(const v8::Arguments &args);
+  static v8::Handle<v8::Value> IsVisible(const v8::Arguments &args);
   static v8::Handle<v8::Value> Maximize(const v8::Arguments &args);
   static v8::Handle<v8::Value> Unmaximize(const v8::Arguments &args);
   static v8::Handle<v8::Value> Minimize(const v8::Arguments &args);
index b170c57..f9c11e9 100644 (file)
@@ -69,6 +69,7 @@ class NativeWindow : public brightray::DefaultWebContentsDelegate,
   virtual bool IsFocused() = 0;
   virtual void Show() = 0;
   virtual void Hide() = 0;
+  virtual bool IsVisible() = 0;
   virtual void Maximize() = 0;
   virtual void Unmaximize() = 0;
   virtual void Minimize() = 0;
index ef3ed3a..d1729a0 100644 (file)
@@ -28,6 +28,7 @@ class NativeWindowMac : public NativeWindow {
   virtual bool IsFocused() OVERRIDE;
   virtual void Show() OVERRIDE;
   virtual void Hide() OVERRIDE;
+  virtual bool IsVisible() OVERRIDE;
   virtual void Maximize() OVERRIDE;
   virtual void Unmaximize() OVERRIDE;
   virtual void Minimize() OVERRIDE;
index 65ff9e7..d538d98 100644 (file)
@@ -229,6 +229,10 @@ void NativeWindowMac::Hide() {
   [window() orderOut:nil];
 }
 
+bool NativeWindowMac::IsVisible() {
+  return [window() isVisible];
+}
+
 void NativeWindowMac::Maximize() {
   [window() zoom:nil];
 }
index c8ac370..46d6939 100644 (file)
@@ -231,6 +231,10 @@ void NativeWindowWin::Unmaximize() {
   window_->Restore();
 }
 
+bool NativeWindowWin::IsVisible() {
+  return window_->IsVisible();
+}
+
 void NativeWindowWin::Minimize() {
   window_->Minimize();
 }
index 810b3ee..c44f31a 100644 (file)
@@ -34,6 +34,7 @@ class NativeWindowWin : public NativeWindow,
   virtual bool IsFocused() OVERRIDE;
   virtual void Show() OVERRIDE;
   virtual void Hide() OVERRIDE;
+  virtual bool IsVisible() OVERRIDE;
   virtual void Maximize() OVERRIDE;
   virtual void Unmaximize() OVERRIDE;
   virtual void Minimize() OVERRIDE;
index fce37fb..0977b07 100644 (file)
@@ -141,6 +141,10 @@ Shows the window.
 
 Hides the window.
 
+### BrowserWindow.isVisible()
+
+Returns whether the window is visible to the user.
+
 ### BrowserWindow.maximize()
 
 Maximizes the window.