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

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

Issue 338773002: [Mac] Make app window backgrounds white. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Clip the native implementation to only draw the title bar. Created 6 years, 6 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 199 matching lines...) Expand 10 before | Expand all | Expand 10 after
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 }
219 219
220 - (void)drawCustomFrameRect:(NSRect)rect forView:(NSView*)view {
221 // Make the background color of the content area white. We can't just call
222 // -setBackgroundColor as that causes the title bar to be drawn in a solid
223 // color.
224 NSRect contentRect = [NSWindow contentRectForFrameRect:rect
tapted 2014/06/17 06:09:51 I think you can use [self contentRectForFrameRect:
jackhou1 2014/06/17 07:00:14 Done.
225 styleMask:[self styleMask]];
226 [[NSColor whiteColor] set];
227 NSRectFill(contentRect);
228
229 // Draw the native title bar. We clip the content area since the native
230 // implementation draws a grey background.
tapted 2014/06/17 06:09:52 nit: grey -> gray to be consistent with color :p
jackhou1 2014/06/17 07:00:14 Done.
231 NSRect titleBarRect = NSIntersectionRect(rect,
232 NSMakeRect(NSMinX(contentRect),
tapted 2014/06/17 06:09:51 I stared at the second argument for a while before
jackhou1 2014/06/17 07:00:14 Done.
233 NSMaxY(contentRect),
234 NSWidth(contentRect),
235 CGFLOAT_MAX));
236 [NSBezierPath clipRect:titleBarRect];
tapted 2014/06/17 06:09:52 It's possible clipping will be more expensive than
237 [super drawCustomFrameRect:rect
238 forView:view];
239 }
240
220 @end 241 @end
221 242
222 @interface ShellCustomFrameNSWindow : ShellNSWindow { 243 @interface ShellCustomFrameNSWindow : ShellNSWindow {
223 @private 244 @private
224 base::scoped_nsobject<NSColor> color_; 245 base::scoped_nsobject<NSColor> color_;
225 base::scoped_nsobject<NSColor> inactiveColor_; 246 base::scoped_nsobject<NSColor> inactiveColor_;
226 } 247 }
227 248
228 - (void)setColor:(NSColor*)color 249 - (void)setColor:(NSColor*)color
229 inactiveColor:(NSColor*)inactiveColor; 250 inactiveColor:(NSColor*)inactiveColor;
(...skipping 733 matching lines...) Expand 10 before | Expand all | Expand 10 after
963 } 984 }
964 985
965 void NativeAppWindowCocoa::UpdateRestoredBounds() { 986 void NativeAppWindowCocoa::UpdateRestoredBounds() {
966 if (IsRestored(*this)) 987 if (IsRestored(*this))
967 restored_bounds_ = [window() frame]; 988 restored_bounds_ = [window() frame];
968 } 989 }
969 990
970 void NativeAppWindowCocoa::HideWithoutMarkingHidden() { 991 void NativeAppWindowCocoa::HideWithoutMarkingHidden() {
971 [window() orderOut:window_controller_]; 992 [window() orderOut:window_controller_];
972 } 993 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698