OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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 } |
OLD | NEW |