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

Side by Side Diff: chrome/browser/ui/cocoa/framed_browser_window.mm

Issue 329793003: Don't draw a window title on browser windows. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: new 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 #import "chrome/browser/ui/cocoa/framed_browser_window.h" 5 #import "chrome/browser/ui/cocoa/framed_browser_window.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/mac/sdk_forward_declarations.h" 8 #include "base/mac/sdk_forward_declarations.h"
9 #include "chrome/browser/global_keyboard_shortcuts_mac.h" 9 #include "chrome/browser/global_keyboard_shortcuts_mac.h"
10 #include "chrome/browser/profiles/profile_avatar_icon_util.h" 10 #include "chrome/browser/profiles/profile_avatar_icon_util.h"
(...skipping 18 matching lines...) Expand all
29 namespace { 29 namespace {
30 30
31 const CGFloat kBrowserFrameViewPaintHeight = 60.0; 31 const CGFloat kBrowserFrameViewPaintHeight = 60.0;
32 32
33 // Size of the gradient. Empirically determined so that the gradient looks 33 // Size of the gradient. Empirically determined so that the gradient looks
34 // like what the heuristic does when there are just a few tabs. 34 // like what the heuristic does when there are just a few tabs.
35 const CGFloat kWindowGradientHeight = 24.0; 35 const CGFloat kWindowGradientHeight = 24.0;
36 36
37 } 37 }
38 38
39 @interface FramedBrowserWindow (Private) 39 @interface FramedBrowserWindow ()
40 40
41 - (void)adjustCloseButton:(NSNotification*)notification; 41 - (void)adjustCloseButton:(NSNotification*)notification;
42 - (void)adjustMiniaturizeButton:(NSNotification*)notification; 42 - (void)adjustMiniaturizeButton:(NSNotification*)notification;
43 - (void)adjustZoomButton:(NSNotification*)notification; 43 - (void)adjustZoomButton:(NSNotification*)notification;
44 - (void)adjustButton:(NSButton*)button 44 - (void)adjustButton:(NSButton*)button
45 ofKind:(NSWindowButton)kind; 45 ofKind:(NSWindowButton)kind;
46 - (NSView*)frameView; 46 - (NSView*)frameView;
47 47
48 @end 48 @end
49 49
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after
245 eventHandled = YES; 245 eventHandled = YES;
246 } 246 }
247 } 247 }
248 } 248 }
249 if (!eventHandled) { 249 if (!eventHandled) {
250 [super sendEvent:event]; 250 [super sendEvent:event];
251 } 251 }
252 } 252 }
253 253
254 - (void)setShouldHideTitle:(BOOL)flag { 254 - (void)setShouldHideTitle:(BOOL)flag {
255 shouldHideTitle_ = flag; 255 if ([self respondsToSelector:@selector(setTitleVisibility:)])
256 self.titleVisibility = flag ? NSWindowTitleHidden : NSWindowTitleVisible;
257 else
258 shouldHideTitle_ = flag;
256 } 259 }
257 260
258 - (BOOL)_isTitleHidden { 261 - (BOOL)_isTitleHidden {
259 return shouldHideTitle_; 262 // Only intervene with 10.6-10.9.
263 if ([self respondsToSelector:@selector(setTitleVisibility:)])
264 return [super _isTitleHidden];
265 else
266 return shouldHideTitle_;
260 } 267 }
261 268
262 - (CGFloat)windowButtonsInterButtonSpacing { 269 - (CGFloat)windowButtonsInterButtonSpacing {
263 return windowButtonsInterButtonSpacing_; 270 return windowButtonsInterButtonSpacing_;
264 } 271 }
265 272
266 // This method is called whenever a window is moved in order to ensure it fits 273 // This method is called whenever a window is moved in order to ensure it fits
267 // on the screen. We cannot always handle resizes without breaking, so we 274 // on the screen. We cannot always handle resizes without breaking, so we
268 // prevent frame constraining in those cases. 275 // prevent frame constraining in those cases.
269 - (NSRect)constrainFrameRect:(NSRect)frame toScreen:(NSScreen*)screen { 276 - (NSRect)constrainFrameRect:(NSRect)frame toScreen:(NSScreen*)screen {
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
342 yRadius:cornerRadius] addClip]; 349 yRadius:cornerRadius] addClip];
343 [[NSBezierPath bezierPathWithRect:rect] addClip]; 350 [[NSBezierPath bezierPathWithRect:rect] addClip];
344 351
345 // Do the theming. 352 // Do the theming.
346 BOOL themed = [FramedBrowserWindow 353 BOOL themed = [FramedBrowserWindow
347 drawWindowThemeInDirtyRect:rect 354 drawWindowThemeInDirtyRect:rect
348 forView:view 355 forView:view
349 bounds:windowRect 356 bounds:windowRect
350 forceBlackBackground:NO]; 357 forceBlackBackground:NO];
351 358
352 // If the window needs a title and we painted over the title as drawn by the 359 // In Yosemite: The title is drawn by a subview and not painted on. Therefore,
353 // default window paint, paint it ourselves. 360 // never worry about drawing it. Pre-Yosemite: If the window needs a title and
354 if (themed && [view respondsToSelector:@selector(_titlebarTitleRect)] && 361 // we painted over the title as drawn by the default window paint, paint it
362 // ourselves.
363 if (![self respondsToSelector:@selector(setTitleVisibility:)] &&
364 themed && [view respondsToSelector:@selector(_titlebarTitleRect)] &&
355 [view respondsToSelector:@selector(_drawTitleStringIn:withColor:)] && 365 [view respondsToSelector:@selector(_drawTitleStringIn:withColor:)] &&
356 ![self _isTitleHidden]) { 366 ![self _isTitleHidden]) {
357 [view _drawTitleStringIn:[view _titlebarTitleRect] 367 [view _drawTitleStringIn:[view _titlebarTitleRect]
358 withColor:[self titleColor]]; 368 withColor:[self titleColor]];
359 } 369 }
360 370
361 // Pinstripe the top. 371 // Pinstripe the top.
362 if (themed) { 372 if (themed) {
363 CGFloat lineWidth = [view cr_lineWidth]; 373 CGFloat lineWidth = [view cr_lineWidth];
364 374
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
487 ThemedWindowStyle windowStyle = [self themedWindowStyle]; 497 ThemedWindowStyle windowStyle = [self themedWindowStyle];
488 BOOL incognito = windowStyle & THEMED_INCOGNITO; 498 BOOL incognito = windowStyle & THEMED_INCOGNITO;
489 499
490 if (incognito) 500 if (incognito)
491 return [NSColor whiteColor]; 501 return [NSColor whiteColor];
492 else 502 else
493 return [NSColor windowFrameTextColor]; 503 return [NSColor windowFrameTextColor];
494 } 504 }
495 505
496 @end 506 @end
OLDNEW
« no previous file with comments | « chrome/browser/ui/cocoa/framed_browser_window.h ('k') | chrome/browser/ui/cocoa/framed_browser_window_unittest.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698