Get the status of devtools from brightray, fixed #27.

This commit is contained in:
Cheng Zhao 2013-11-05 10:32:45 +08:00
parent 8bb3b53833
commit dc1a8b644a
6 changed files with 15 additions and 8 deletions

View file

@ -428,6 +428,12 @@ v8::Handle<v8::Value> Window::CloseDevTools(const v8::Arguments &args) {
return v8::Undefined(); return v8::Undefined();
} }
// static
v8::Handle<v8::Value> Window::IsDevToolsOpened(const v8::Arguments& args) {
UNWRAP_WINDOW_AND_CHECK;
return ToV8Value(self->window_->IsDevToolsOpened());
}
// static // static
v8::Handle<v8::Value> Window::InspectElement(const v8::Arguments& args) { v8::Handle<v8::Value> Window::InspectElement(const v8::Arguments& args) {
UNWRAP_WINDOW_AND_CHECK; 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, "isKiosk", IsKiosk);
NODE_SET_PROTOTYPE_METHOD(t, "openDevTools", OpenDevTools); NODE_SET_PROTOTYPE_METHOD(t, "openDevTools", OpenDevTools);
NODE_SET_PROTOTYPE_METHOD(t, "closeDevTools", CloseDevTools); 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, "inspectElement", InspectElement);
NODE_SET_PROTOTYPE_METHOD(t, "focusOnWebView", FocusOnWebView); NODE_SET_PROTOTYPE_METHOD(t, "focusOnWebView", FocusOnWebView);
NODE_SET_PROTOTYPE_METHOD(t, "blurWebView", BlurWebView); NODE_SET_PROTOTYPE_METHOD(t, "blurWebView", BlurWebView);

View file

@ -80,6 +80,7 @@ class Window : public EventEmitter,
static v8::Handle<v8::Value> IsKiosk(const v8::Arguments &args); 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> OpenDevTools(const v8::Arguments &args);
static v8::Handle<v8::Value> CloseDevTools(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> InspectElement(const v8::Arguments &args);
static v8::Handle<v8::Value> FocusOnWebView(const v8::Arguments &args); static v8::Handle<v8::Value> FocusOnWebView(const v8::Arguments &args);
static v8::Handle<v8::Value> BlurWebView(const v8::Arguments &args); static v8::Handle<v8::Value> BlurWebView(const v8::Arguments &args);

View file

@ -12,13 +12,7 @@ BrowserWindow::_init = ->
@setMenu menu if menu? @setMenu menu if menu?
BrowserWindow::toggleDevTools = -> BrowserWindow::toggleDevTools = ->
opened = v8Util.getHiddenValue this, 'devtoolsOpened' if @isDevToolsOpened() then @closeDevTools() else @openDevTools()
if opened
@closeDevTools()
v8Util.setHiddenValue this, 'devtoolsOpened', false
else
@openDevTools()
v8Util.setHiddenValue this, 'devtoolsOpened', true
BrowserWindow::restart = -> BrowserWindow::restart = ->
@loadUrl(@getUrl()) @loadUrl(@getUrl())

View file

@ -141,6 +141,10 @@ void NativeWindow::CloseDevTools() {
inspectable_web_contents()->GetView()->CloseDevTools(); inspectable_web_contents()->GetView()->CloseDevTools();
} }
bool NativeWindow::IsDevToolsOpened() {
return inspectable_web_contents()->IsDevToolsOpened();
}
void NativeWindow::InspectElement(int x, int y) { void NativeWindow::InspectElement(int x, int y) {
OpenDevTools(); OpenDevTools();
content::RenderViewHost* rvh = GetWebContents()->GetRenderViewHost(); content::RenderViewHost* rvh = GetWebContents()->GetRenderViewHost();

View file

@ -99,6 +99,7 @@ class NativeWindow : public brightray::DefaultWebContentsDelegate,
virtual bool IsClosed() const { return is_closed_; } virtual bool IsClosed() const { return is_closed_; }
virtual void OpenDevTools(); virtual void OpenDevTools();
virtual void CloseDevTools(); virtual void CloseDevTools();
virtual bool IsDevToolsOpened();
virtual void InspectElement(int x, int y); virtual void InspectElement(int x, int y);
virtual void FocusOnWebView(); virtual void FocusOnWebView();
virtual void BlurWebView(); virtual void BlurWebView();

2
vendor/brightray vendored

@ -1 +1 @@
Subproject commit b207f0e5bed9c06142879abdd6749ac954eff8b8 Subproject commit 69d145e64a519f254ae29097905a5599c1d8d48a