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

Side by Side Diff: chrome/browser/ui/cocoa/apps/native_app_window_cocoa.mm

Issue 280483004: [Mac] Update fullscreen state when window is fullscreened natively. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address comments Created 6 years, 7 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/ui/cocoa/apps/native_app_window_cocoa.h" 5 #include "chrome/browser/ui/cocoa/apps/native_app_window_cocoa.h"
6 6
7 #include "apps/app_shim/extension_app_shim_handler_mac.h" 7 #include "apps/app_shim/extension_app_shim_handler_mac.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/mac/mac_util.h" 9 #include "base/mac/mac_util.h"
10 #include "base/strings/sys_string_conversions.h" 10 #include "base/strings/sys_string_conversions.h"
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
153 appWindow_->WindowDidResize(); 153 appWindow_->WindowDidResize();
154 } 154 }
155 155
156 - (void)windowDidEndLiveResize:(NSNotification*)notification { 156 - (void)windowDidEndLiveResize:(NSNotification*)notification {
157 if (appWindow_) 157 if (appWindow_)
158 appWindow_->WindowDidFinishResize(); 158 appWindow_->WindowDidFinishResize();
159 } 159 }
160 160
161 - (void)windowDidEnterFullScreen:(NSNotification*)notification { 161 - (void)windowDidEnterFullScreen:(NSNotification*)notification {
162 if (appWindow_) 162 if (appWindow_)
163 appWindow_->WindowDidFinishResize(); 163 appWindow_->WindowDidEnterFullscreen();
164 } 164 }
165 165
166 - (void)windowDidExitFullScreen:(NSNotification*)notification { 166 - (void)windowDidExitFullScreen:(NSNotification*)notification {
167 if (appWindow_) 167 if (appWindow_)
168 appWindow_->WindowDidFinishResize(); 168 appWindow_->WindowDidExitFullscreen();
169 } 169 }
170 170
171 - (void)windowDidMove:(NSNotification*)notification { 171 - (void)windowDidMove:(NSNotification*)notification {
172 if (appWindow_) 172 if (appWindow_)
173 appWindow_->WindowDidMove(); 173 appWindow_->WindowDidMove();
174 } 174 }
175 175
176 - (void)windowDidMiniaturize:(NSNotification*)notification { 176 - (void)windowDidMiniaturize:(NSNotification*)notification {
177 if (appWindow_) 177 if (appWindow_)
178 appWindow_->WindowDidMiniaturize(); 178 appWindow_->WindowDidMiniaturize();
(...skipping 639 matching lines...) Expand 10 before | Expand all | Expand 10 after
818 // - Exit maximized state if resized. 818 // - Exit maximized state if resized.
819 // - Consider us maximized if resize places us back to maximized location. 819 // - Consider us maximized if resize places us back to maximized location.
820 // This happens when returning from fullscreen. 820 // This happens when returning from fullscreen.
821 NSRect frame = [window() frame]; 821 NSRect frame = [window() frame];
822 NSRect screen = [[window() screen] visibleFrame]; 822 NSRect screen = [[window() screen] visibleFrame];
823 if (!NSEqualSizes(frame.size, screen.size)) 823 if (!NSEqualSizes(frame.size, screen.size))
824 is_maximized_ = false; 824 is_maximized_ = false;
825 else if (NSEqualPoints(frame.origin, screen.origin)) 825 else if (NSEqualPoints(frame.origin, screen.origin))
826 is_maximized_ = true; 826 is_maximized_ = true;
827 827
828 // Update |is_fullscreen_| if needed.
829 is_fullscreen_ = ([window() styleMask] & NSFullScreenWindowMask) != 0;
830 // If not fullscreen but the window is constrained, disable the fullscreen UI
831 // control.
832 if (!is_fullscreen_ && !shows_fullscreen_controls_)
833 SetFullScreenCollectionBehavior(window(), false);
834
835 UpdateRestoredBounds(); 828 UpdateRestoredBounds();
836 } 829 }
837 830
838 void NativeAppWindowCocoa::WindowDidResize() { 831 void NativeAppWindowCocoa::WindowDidResize() {
839 app_window_->OnNativeWindowChanged(); 832 app_window_->OnNativeWindowChanged();
840 UpdateDraggableRegionViews(); 833 UpdateDraggableRegionViews();
841 } 834 }
842 835
843 void NativeAppWindowCocoa::WindowDidMove() { 836 void NativeAppWindowCocoa::WindowDidMove() {
844 UpdateRestoredBounds(); 837 UpdateRestoredBounds();
845 app_window_->OnNativeWindowChanged(); 838 app_window_->OnNativeWindowChanged();
846 } 839 }
847 840
848 void NativeAppWindowCocoa::WindowDidMiniaturize() { 841 void NativeAppWindowCocoa::WindowDidMiniaturize() {
849 app_window_->OnNativeWindowChanged(); 842 app_window_->OnNativeWindowChanged();
850 } 843 }
851 844
852 void NativeAppWindowCocoa::WindowDidDeminiaturize() { 845 void NativeAppWindowCocoa::WindowDidDeminiaturize() {
853 app_window_->OnNativeWindowChanged(); 846 app_window_->OnNativeWindowChanged();
854 } 847 }
855 848
849 void NativeAppWindowCocoa::WindowDidEnterFullscreen() {
850 is_fullscreen_ = true;
851 app_window_->OSFullscreen();
852 app_window_->OnNativeWindowChanged();
853 }
854
855 void NativeAppWindowCocoa::WindowDidExitFullscreen() {
856 is_fullscreen_ = false;
857 if (!shows_fullscreen_controls_)
858 SetFullScreenCollectionBehavior(window(), false);
859
860 app_window_->Restore();
861 app_window_->OnNativeWindowChanged();
862 }
863
856 void NativeAppWindowCocoa::WindowWillZoom() { 864 void NativeAppWindowCocoa::WindowWillZoom() {
857 // See top of file NOTE: Maximize and Zoom. 865 // See top of file NOTE: Maximize and Zoom.
858 if (IsMaximized()) 866 if (IsMaximized())
859 Restore(); 867 Restore();
860 else 868 else
861 Maximize(); 869 Maximize();
862 } 870 }
863 871
864 bool NativeAppWindowCocoa::HandledByExtensionCommand(NSEvent* event) { 872 bool NativeAppWindowCocoa::HandledByExtensionCommand(NSEvent* event) {
865 return extension_keybinding_registry_->ProcessKeyEvent( 873 return extension_keybinding_registry_->ProcessKeyEvent(
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
949 } 957 }
950 958
951 void NativeAppWindowCocoa::UpdateRestoredBounds() { 959 void NativeAppWindowCocoa::UpdateRestoredBounds() {
952 if (IsRestored(*this)) 960 if (IsRestored(*this))
953 restored_bounds_ = [window() frame]; 961 restored_bounds_ = [window() frame];
954 } 962 }
955 963
956 void NativeAppWindowCocoa::HideWithoutMarkingHidden() { 964 void NativeAppWindowCocoa::HideWithoutMarkingHidden() {
957 [window() orderOut:window_controller_]; 965 [window() orderOut:window_controller_];
958 } 966 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698