From 3aefa5f5495a8893c86324bda6c5ec94007b6640 Mon Sep 17 00:00:00 2001 From: Robo Date: Tue, 31 Mar 2015 21:15:06 +0530 Subject: [PATCH] browserWindow: adding devtools-focused event --- atom/browser/api/atom_api_window.cc | 4 ++++ atom/browser/api/atom_api_window.h | 1 + atom/browser/native_window.cc | 4 ++++ atom/browser/native_window.h | 1 + atom/browser/native_window_observer.h | 3 +++ docs/api/browser-window.md | 4 ++++ 6 files changed, 17 insertions(+) diff --git a/atom/browser/api/atom_api_window.cc b/atom/browser/api/atom_api_window.cc index ced81ae29d8..22f40be27e3 100644 --- a/atom/browser/api/atom_api_window.cc +++ b/atom/browser/api/atom_api_window.cc @@ -139,6 +139,10 @@ void Window::OnRendererResponsive() { Emit("responsive"); } +void Window::OnDevToolsFocus() { + Emit("devtools-focused"); +} + // static mate::Wrappable* Window::New(v8::Isolate* isolate, const mate::Dictionary& options) { diff --git a/atom/browser/api/atom_api_window.h b/atom/browser/api/atom_api_window.h index 39c8efc245a..2894f0e5037 100644 --- a/atom/browser/api/atom_api_window.h +++ b/atom/browser/api/atom_api_window.h @@ -64,6 +64,7 @@ class Window : public mate::EventEmitter, void OnWindowLeaveFullScreen() override; void OnRendererUnresponsive() override; void OnRendererResponsive() override; + void OnDevToolsFocus() override; private: // APIs for NativeWindow. diff --git a/atom/browser/native_window.cc b/atom/browser/native_window.cc index 7d54af028e5..bb5928dae77 100644 --- a/atom/browser/native_window.cc +++ b/atom/browser/native_window.cc @@ -762,6 +762,10 @@ void NativeWindow::DevToolsAppendToFile(const std::string& url, CallDevToolsFunction("DevToolsAPI.appendedToURL", &url_value); } +void NativeWindow::DevToolsFocused() { + FOR_EACH_OBSERVER(NativeWindowObserver, observers_, OnDevToolsFocus()); +} + void NativeWindow::ScheduleUnresponsiveEvent(int ms) { if (!window_unresposive_closure_.IsCancelled()) return; diff --git a/atom/browser/native_window.h b/atom/browser/native_window.h index 7a975062f1c..d7661bf7487 100644 --- a/atom/browser/native_window.h +++ b/atom/browser/native_window.h @@ -290,6 +290,7 @@ class NativeWindow : public brightray::DefaultWebContentsDelegate, bool save_as) override; void DevToolsAppendToFile(const std::string& url, const std::string& content) override; + void DevToolsFocused() override; // Whether window has standard frame. bool has_frame_; diff --git a/atom/browser/native_window_observer.h b/atom/browser/native_window_observer.h index 38d19600af5..aa582494673 100644 --- a/atom/browser/native_window_observer.h +++ b/atom/browser/native_window_observer.h @@ -50,6 +50,9 @@ class NativeWindowObserver { virtual void OnWindowEnterFullScreen() {} virtual void OnWindowLeaveFullScreen() {} + // Called when devtools window gets focused. + virtual void OnDevToolsFocus() {} + // Called when renderer is hung. virtual void OnRendererUnresponsive() {} diff --git a/docs/api/browser-window.md b/docs/api/browser-window.md index 5d8976a0e69..e108256c984 100644 --- a/docs/api/browser-window.md +++ b/docs/api/browser-window.md @@ -184,6 +184,10 @@ Emitted when devtools is opened. Emitted when devtools is closed. +### Event: 'devtools-focused' + +Emitted when devtools is focused / opened. + ### Class Method: BrowserWindow.getAllWindows() Returns an array of all opened browser windows.