Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(648)

Unified Diff: chrome/browser/ui/cocoa/browser_window_controller_private.mm

Issue 1813693003: Fixed a fullscreen race condition on OSX (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/cocoa/browser_window_controller_private.mm
diff --git a/chrome/browser/ui/cocoa/browser_window_controller_private.mm b/chrome/browser/ui/cocoa/browser_window_controller_private.mm
index ebb3bd4f108bc7b2d6d7d13a286aa63e0e570e3e..826b0c2e1119bdef5994af08b2059f8bc68044aa 100644
--- a/chrome/browser/ui/cocoa/browser_window_controller_private.mm
+++ b/chrome/browser/ui/cocoa/browser_window_controller_private.mm
@@ -21,7 +21,6 @@
#include "chrome/browser/ui/bookmarks/bookmark_tab_helper.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/browser_window_state.h"
-#import "chrome/browser/ui/cocoa/browser_window_fullscreen_transition.h"
#import "chrome/browser/ui/cocoa/browser_window_layout.h"
#import "chrome/browser/ui/cocoa/browser/exclusive_access_controller_views.h"
#import "chrome/browser/ui/cocoa/constrained_window/constrained_window_sheet_controller.h"
@@ -778,6 +777,15 @@ willPositionSheet:(NSWindow*)sheet
- (void)windowDidExitFullScreen:(NSNotification*)notification {
DCHECK(exitingAppKitFullscreen_);
+ // If the custom transition isn't complete, then just set the flag and
+ // return. Once the transition is completed, windowDidExitFullscreen will
+ // be called again.
+ if (isUsingCustomAnimation_ &&
+ ![fullscreenTransition_ isTransitionCompleted]) {
+ appKitDidExitFullscreen_ = YES;
+ return;
+ }
+
if (notification) // For System Fullscreen when non-nil.
[self deregisterForContentViewResizeNotifications];
@@ -1196,6 +1204,7 @@ willPositionSheet:(NSWindow*)sheet
base::mac::ObjCCast<FramedBrowserWindow>([self window]);
fullscreenTransition_.reset([[BrowserWindowFullscreenTransition alloc]
initExitWithWindow:framedBrowserWindow
+ delegate:self
frame:savedRegularWindowFrame_
tabStripBackgroundView:[self tabStripBackgroundView]]);

Powered by Google App Engine
This is Rietveld 408576698