diff --git a/browser/native_window_gtk.cc b/browser/native_window_gtk.cc index 9b73882023..f749e19d09 100644 --- a/browser/native_window_gtk.cc +++ b/browser/native_window_gtk.cc @@ -8,8 +8,10 @@ #include "common/options_switches.h" #include "content/public/browser/web_contents.h" #include "content/public/browser/web_contents_view.h" +#include "content/public/common/renderer_preferences.h" #include "ui/gfx/gtk_util.h" #include "ui/gfx/rect.h" +#include "ui/gfx/skia_utils_gtk.h" namespace atom { @@ -44,6 +46,8 @@ NativeWindowGtk::NativeWindowGtk(content::WebContents* web_contents, g_signal_connect(window_, "delete-event", G_CALLBACK(OnWindowDeleteEventThunk), this); + g_signal_connect(window_, "focus-out-event", + G_CALLBACK(OnFocusOutThunk), this); SetWebKitColorStyle(); } @@ -271,6 +275,11 @@ gboolean NativeWindowGtk::OnWindowDeleteEvent(GtkWidget* widget, return TRUE; } +gboolean NativeWindowGtk::OnFocusOut(GtkWidget* window, GdkEventFocus*) { + NotifyWindowBlur(); + return FALSE; +} + // static NativeWindow* NativeWindow::Create(content::WebContents* web_contents, base::DictionaryValue* options) { diff --git a/browser/native_window_gtk.h b/browser/native_window_gtk.h index 553d13116a..96ca18edd4 100644 --- a/browser/native_window_gtk.h +++ b/browser/native_window_gtk.h @@ -65,6 +65,7 @@ class NativeWindowGtk : public NativeWindow { CHROMEGTK_CALLBACK_1(NativeWindowGtk, gboolean, OnWindowDeleteEvent, GdkEvent*); + CHROMEGTK_CALLBACK_1(NativeWindowGtk, gboolean, OnFocusOut, GdkEventFocus*); GtkWindow* window_;