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

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

Issue 494033002: Move AppWindow to extensions (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Remove unneeded include in chrome_shell_delegate.cc Created 6 years, 3 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/foundation_util.h" 9 #include "base/mac/foundation_util.h"
10 #include "base/mac/mac_util.h" 10 #include "base/mac/mac_util.h"
(...skipping 24 matching lines...) Expand all
35 // 35 //
36 // Zooming is implemented manually in order to implement maximize functionality 36 // Zooming is implemented manually in order to implement maximize functionality
37 // and to support non resizable windows. The window will be resized explicitly 37 // and to support non resizable windows. The window will be resized explicitly
38 // in the |WindowWillZoom| call. 38 // in the |WindowWillZoom| call.
39 // 39 //
40 // Attempting maximize and restore functionality with non resizable windows 40 // Attempting maximize and restore functionality with non resizable windows
41 // using the native zoom method did not work, even with 41 // using the native zoom method did not work, even with
42 // windowWillUseStandardFrame, as the window would not restore back to the 42 // windowWillUseStandardFrame, as the window would not restore back to the
43 // desired size. 43 // desired size.
44 44
45 using apps::AppWindow; 45 using extensions::AppWindow;
46 46
47 @interface NSWindow (NSPrivateApis) 47 @interface NSWindow (NSPrivateApis)
48 - (void)setBottomCornerRounded:(BOOL)rounded; 48 - (void)setBottomCornerRounded:(BOOL)rounded;
49 - (BOOL)_isTitleHidden; 49 - (BOOL)_isTitleHidden;
50 @end 50 @end
51 51
52 namespace { 52 namespace {
53 53
54 void SetFullScreenCollectionBehavior(NSWindow* window, bool allow_fullscreen) { 54 void SetFullScreenCollectionBehavior(NSWindow* window, bool allow_fullscreen) {
55 NSWindowCollectionBehavior behavior = [window collectionBehavior]; 55 NSWindowCollectionBehavior behavior = [window collectionBehavior];
(...skipping 15 matching lines...) Expand all
71 } 71 }
72 72
73 // Returns the level for windows that are configured to be always on top. 73 // Returns the level for windows that are configured to be always on top.
74 // This is not a constant because NSFloatingWindowLevel is a macro defined 74 // This is not a constant because NSFloatingWindowLevel is a macro defined
75 // as a function call. 75 // as a function call.
76 NSInteger AlwaysOnTopWindowLevel() { 76 NSInteger AlwaysOnTopWindowLevel() {
77 return NSFloatingWindowLevel; 77 return NSFloatingWindowLevel;
78 } 78 }
79 79
80 NSRect GfxToCocoaBounds(gfx::Rect bounds) { 80 NSRect GfxToCocoaBounds(gfx::Rect bounds) {
81 typedef apps::AppWindow::BoundsSpecification BoundsSpecification; 81 typedef AppWindow::BoundsSpecification BoundsSpecification;
82 82
83 NSRect main_screen_rect = [[[NSScreen screens] objectAtIndex:0] frame]; 83 NSRect main_screen_rect = [[[NSScreen screens] objectAtIndex:0] frame];
84 84
85 // If coordinates are unspecified, center window on primary screen. 85 // If coordinates are unspecified, center window on primary screen.
86 if (bounds.x() == BoundsSpecification::kUnspecifiedPosition) 86 if (bounds.x() == BoundsSpecification::kUnspecifiedPosition)
87 bounds.set_x(floor((NSWidth(main_screen_rect) - bounds.width()) / 2)); 87 bounds.set_x(floor((NSWidth(main_screen_rect) - bounds.width()) / 2));
88 if (bounds.y() == BoundsSpecification::kUnspecifiedPosition) 88 if (bounds.y() == BoundsSpecification::kUnspecifiedPosition)
89 bounds.set_y(floor((NSHeight(main_screen_rect) - bounds.height()) / 2)); 89 bounds.set_y(floor((NSHeight(main_screen_rect) - bounds.height()) / 2));
90 90
91 // Convert to Mac coordinates. 91 // Convert to Mac coordinates.
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
198 } 198 }
199 199
200 @end 200 @end
201 201
202 // This is really a method on NSGrayFrame, so it should only be called on the 202 // This is really a method on NSGrayFrame, so it should only be called on the
203 // view passed into -[NSWindow drawCustomFrameRect:forView:]. 203 // view passed into -[NSWindow drawCustomFrameRect:forView:].
204 @interface NSView (PrivateMethods) 204 @interface NSView (PrivateMethods)
205 - (CGFloat)roundedCornerRadius; 205 - (CGFloat)roundedCornerRadius;
206 @end 206 @end
207 207
208 // TODO(jamescook): Should these be AppNSWindow to match apps::AppWindow? 208 // TODO(jamescook): Should these be AppNSWindow to match AppWindow?
209 // http://crbug.com/344082 209 // http://crbug.com/344082
210 @interface ShellNSWindow : ChromeEventProcessingWindow 210 @interface ShellNSWindow : ChromeEventProcessingWindow
211 @end 211 @end
212 @implementation ShellNSWindow 212 @implementation ShellNSWindow
213 213
214 // Similar to ChromeBrowserWindow, don't draw the title, but allow it to be seen 214 // Similar to ChromeBrowserWindow, don't draw the title, but allow it to be seen
215 // in menus, Expose, etc. 215 // in menus, Expose, etc.
216 - (BOOL)_isTitleHidden { 216 - (BOOL)_isTitleHidden {
217 return YES; 217 return YES;
218 } 218 }
(...skipping 762 matching lines...) Expand 10 before | Expand all | Expand 10 after
981 } 981 }
982 982
983 void NativeAppWindowCocoa::UpdateRestoredBounds() { 983 void NativeAppWindowCocoa::UpdateRestoredBounds() {
984 if (IsRestored(*this)) 984 if (IsRestored(*this))
985 restored_bounds_ = [window() frame]; 985 restored_bounds_ = [window() frame];
986 } 986 }
987 987
988 void NativeAppWindowCocoa::HideWithoutMarkingHidden() { 988 void NativeAppWindowCocoa::HideWithoutMarkingHidden() {
989 [window() orderOut:window_controller_]; 989 [window() orderOut:window_controller_];
990 } 990 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698