Index: chrome/browser/ui/cocoa/browser_window_controller.mm |
diff --git a/chrome/browser/ui/cocoa/browser_window_controller.mm b/chrome/browser/ui/cocoa/browser_window_controller.mm |
index e6616ac621bc604468998f4b4b2f16716dea9dd5..29a1dc14443af9e94e20ba416fd400e11094bbbd 100644 |
--- a/chrome/browser/ui/cocoa/browser_window_controller.mm |
+++ b/chrome/browser/ui/cocoa/browser_window_controller.mm |
@@ -101,6 +101,7 @@ |
#include "ui/base/l10n/l10n_util_mac.h" |
#import "ui/gfx/mac/coordinate_conversion.h" |
#include "ui/gfx/mac/scoped_cocoa_disable_screen_updates.h" |
+#include "ui/gfx/screen.h" |
using bookmarks::BookmarkModel; |
using bookmarks::BookmarkNode; |
@@ -2017,11 +2018,18 @@ willAnimateFromState:(BookmarkBar::State)oldState |
- (void)enterWebContentFullscreen { |
// HTML5 Fullscreen should only use AppKit fullscreen in 10.10+. |
+ // However, if the user is using multiple monitors and turned off |
+ // "Separate Space in Each Display", use Immersive Fullscreen so |
+ // that the other monitors won't blank out. |
+ gfx::Screen* screen = gfx::Screen::GetScreen(); |
+ BOOL hasMultipleMonitors = screen && screen->GetNumDisplays() > 1; |
if (chrome::mac::SupportsSystemFullscreen() && |
- base::mac::IsOSYosemiteOrLater()) |
+ base::mac::IsOSYosemiteOrLater() && |
+ !(hasMultipleMonitors && ![NSScreen screensHaveSeparateSpaces])) { |
[self enterAppKitFullscreen]; |
- else |
+ } else { |
[self enterImmersiveFullscreen]; |
+ } |
if (!exclusiveAccessController_->url().is_empty()) |
[self updateFullscreenExitBubble]; |