diff --git a/browser/native_window_mac.mm b/browser/native_window_mac.mm index d538d983c..47fabbfa0 100644 --- a/browser/native_window_mac.mm +++ b/browser/native_window_mac.mm @@ -209,7 +209,10 @@ void NativeWindowMac::Move(const gfx::Rect& pos) { } void NativeWindowMac::Focus(bool focus) { - if (focus && [window() isVisible]) { + if (!IsVisible()) + return; + + if (focus) { [[NSApplication sharedApplication] activateIgnoringOtherApps:YES]; [window() makeKeyAndOrderFront:nil]; } else { diff --git a/spec/api/window.coffee b/spec/api/window.coffee index a291af594..ebaf69a42 100644 --- a/spec/api/window.coffee +++ b/spec/api/window.coffee @@ -67,6 +67,14 @@ describe 'window module', -> ++count w.loadUrl 'about:blank' + describe 'BrowserWindow.focus()', -> + it 'does not make the window become visible', -> + w = new BrowserWindow(show: false) + assert.equal w.isVisible(), false + w.focus() + assert.equal w.isVisible(), false + w.close() + describe 'beforeunload handler', -> it 'returning true would not prevent close', (done) -> w = new BrowserWindow(show: false)