From 6a5f732bbaeef6e1304483489600c49ca7dec83f Mon Sep 17 00:00:00 2001 From: Cheng Zhao Date: Thu, 31 Jul 2014 17:35:08 +0800 Subject: [PATCH] mac: Emit focus/blur events after page has actually focus/blur-ed. Otherwise the page would receive the blur event when it has not blured yet. Fixes atom/atom#3124. --- atom/browser/native_window_mac.mm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/atom/browser/native_window_mac.mm b/atom/browser/native_window_mac.mm index 804595edbc..919ffcf1a2 100644 --- a/atom/browser/native_window_mac.mm +++ b/atom/browser/native_window_mac.mm @@ -49,8 +49,6 @@ static const CGFloat kAtomWindowCornerRadius = 4.0; } - (void)windowDidBecomeMain:(NSNotification*)notification { - shell_->NotifyWindowFocus(); - content::WebContents* web_contents = shell_->GetWebContents(); if (!web_contents) return; @@ -60,11 +58,11 @@ static const CGFloat kAtomWindowCornerRadius = 4.0; content::RenderWidgetHostView* rwhv = web_contents->GetRenderWidgetHostView(); if (rwhv) rwhv->SetActive(true); + + shell_->NotifyWindowFocus(); } - (void)windowDidResignMain:(NSNotification*)notification { - shell_->NotifyWindowBlur(); - content::WebContents* web_contents = shell_->GetWebContents(); if (!web_contents) return; @@ -74,6 +72,8 @@ static const CGFloat kAtomWindowCornerRadius = 4.0; content::RenderWidgetHostView* rwhv = web_contents->GetRenderWidgetHostView(); if (rwhv) rwhv->SetActive(false); + + shell_->NotifyWindowBlur(); } - (void)windowDidResize:(NSNotification*)otification {