Index: chrome/browser/ui/cocoa/apps/native_app_window_cocoa.mm |
diff --git a/chrome/browser/ui/cocoa/apps/native_app_window_cocoa.mm b/chrome/browser/ui/cocoa/apps/native_app_window_cocoa.mm |
index 43107fe03f8e28976e23036e44051d0a26e28c98..a94e173c4f4cd68c0369a3d47e33a8a1d85a44bd 100644 |
--- a/chrome/browser/ui/cocoa/apps/native_app_window_cocoa.mm |
+++ b/chrome/browser/ui/cocoa/apps/native_app_window_cocoa.mm |
@@ -56,7 +56,8 @@ using apps::ShellWindow; |
@end |
enum { |
- NSWindowCollectionBehaviorFullScreenPrimary = 1 << 7 |
+ NSWindowCollectionBehaviorFullScreenPrimary = 1 << 7, |
+ NSFullScreenWindowMask = 1 << 14 |
}; |
#endif // MAC_OS_X_VERSION_10_7 |
@@ -85,6 +86,21 @@ enum { |
appWindow_->WindowDidResize(); |
} |
+- (void)windowDidEndLiveResize:(NSNotification*)notification { |
+ if (appWindow_) |
+ appWindow_->WindowDidFinishResize(); |
+} |
+ |
+- (void)windowDidEnterFullScreen:(NSNotification*)notification { |
+ if (appWindow_) |
+ appWindow_->WindowDidFinishResize(); |
+} |
+ |
+- (void)windowDidExitFullScreen:(NSNotification*)notification { |
+ if (appWindow_) |
+ appWindow_->WindowDidFinishResize(); |
+} |
+ |
- (void)windowDidMove:(NSNotification*)notification { |
if (appWindow_) |
appWindow_->WindowDidMove(); |
@@ -839,7 +855,7 @@ void NativeAppWindowCocoa::WindowDidResignKey() { |
rwhv->SetActive(false); |
} |
-void NativeAppWindowCocoa::WindowDidResize() { |
+void NativeAppWindowCocoa::WindowDidFinishResize() { |
// Update |is_maximized_| if needed: |
// - Exit maximized state if resized. |
// - Consider us maximized if resize places us back to maximized location. |
@@ -851,7 +867,13 @@ void NativeAppWindowCocoa::WindowDidResize() { |
else if (NSEqualPoints(frame.origin, screen.origin)) |
is_maximized_ = true; |
+ // Update |is_fullscreen_| if needed. |
+ is_fullscreen_ = ([window() styleMask] & NSFullScreenWindowMask) != 0; |
+ |
UpdateRestoredBounds(); |
+} |
+ |
+void NativeAppWindowCocoa::WindowDidResize() { |
scheib
2013/09/24 16:04:15
Certain you don't need UpdaterestoredBounds() in t
jackhou1
2013/09/24 21:34:25
WindowDidResize is called repeatedly while a windo
tapted
2013/09/24 23:23:14
I got the impression from the Apple docs (i.e. htt
jackhou1
2013/09/30 01:46:33
You're right, the frame size is the same.
|
shell_window_->OnNativeWindowChanged(); |
} |