Get the status of devtools from brightray, fixed #27.
authorCheng Zhao <zcbenz@gmail.com>
Tue, 5 Nov 2013 02:32:45 +0000 (10:32 +0800)
committerCheng Zhao <zcbenz@gmail.com>
Tue, 5 Nov 2013 02:32:45 +0000 (10:32 +0800)
browser/api/atom_api_window.cc
browser/api/atom_api_window.h
browser/api/lib/browser-window.coffee
browser/native_window.cc
browser/native_window.h
vendor/brightray

index 0223996..42404a4 100644 (file)
@@ -429,6 +429,12 @@ v8::Handle<v8::Value> Window::CloseDevTools(const v8::Arguments &args) {
 }
 
 // static
+v8::Handle<v8::Value> Window::IsDevToolsOpened(const v8::Arguments& args) {
+  UNWRAP_WINDOW_AND_CHECK;
+  return ToV8Value(self->window_->IsDevToolsOpened());
+}
+
+// static
 v8::Handle<v8::Value> Window::InspectElement(const v8::Arguments& args) {
   UNWRAP_WINDOW_AND_CHECK;
 
@@ -707,6 +713,7 @@ void Window::Initialize(v8::Handle<v8::Object> target) {
   NODE_SET_PROTOTYPE_METHOD(t, "isKiosk", IsKiosk);
   NODE_SET_PROTOTYPE_METHOD(t, "openDevTools", OpenDevTools);
   NODE_SET_PROTOTYPE_METHOD(t, "closeDevTools", CloseDevTools);
+  NODE_SET_PROTOTYPE_METHOD(t, "isDevToolsOpened", IsDevToolsOpened);
   NODE_SET_PROTOTYPE_METHOD(t, "inspectElement", InspectElement);
   NODE_SET_PROTOTYPE_METHOD(t, "focusOnWebView", FocusOnWebView);
   NODE_SET_PROTOTYPE_METHOD(t, "blurWebView", BlurWebView);
index 5318476..14a707e 100644 (file)
@@ -80,6 +80,7 @@ class Window : public EventEmitter,
   static v8::Handle<v8::Value> IsKiosk(const v8::Arguments &args);
   static v8::Handle<v8::Value> OpenDevTools(const v8::Arguments &args);
   static v8::Handle<v8::Value> CloseDevTools(const v8::Arguments &args);
+  static v8::Handle<v8::Value> IsDevToolsOpened(const v8::Arguments &args);
   static v8::Handle<v8::Value> InspectElement(const v8::Arguments &args);
   static v8::Handle<v8::Value> FocusOnWebView(const v8::Arguments &args);
   static v8::Handle<v8::Value> BlurWebView(const v8::Arguments &args);
index cd76840..3da9910 100644 (file)
@@ -12,13 +12,7 @@ BrowserWindow::_init = ->
     @setMenu menu if menu?
 
 BrowserWindow::toggleDevTools = ->
-  opened = v8Util.getHiddenValue this, 'devtoolsOpened'
-  if opened
-    @closeDevTools()
-    v8Util.setHiddenValue this, 'devtoolsOpened', false
-  else
-    @openDevTools()
-    v8Util.setHiddenValue this, 'devtoolsOpened', true
+  if @isDevToolsOpened() then @closeDevTools() else @openDevTools()
 
 BrowserWindow::restart = ->
   @loadUrl(@getUrl())
index f602819..de39108 100644 (file)
@@ -141,6 +141,10 @@ void NativeWindow::CloseDevTools() {
   inspectable_web_contents()->GetView()->CloseDevTools();
 }
 
+bool NativeWindow::IsDevToolsOpened() {
+  return inspectable_web_contents()->IsDevToolsOpened();
+}
+
 void NativeWindow::InspectElement(int x, int y) {
   OpenDevTools();
   content::RenderViewHost* rvh = GetWebContents()->GetRenderViewHost();
index f9c11e9..761f429 100644 (file)
@@ -99,6 +99,7 @@ class NativeWindow : public brightray::DefaultWebContentsDelegate,
   virtual bool IsClosed() const { return is_closed_; }
   virtual void OpenDevTools();
   virtual void CloseDevTools();
+  virtual bool IsDevToolsOpened();
   virtual void InspectElement(int x, int y);
   virtual void FocusOnWebView();
   virtual void BlurWebView();
index b207f0e..69d145e 160000 (submodule)
@@ -1 +1 @@
-Subproject commit b207f0e5bed9c06142879abdd6749ac954eff8b8
+Subproject commit 69d145e64a519f254ae29097905a5599c1d8d48a