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

Side by Side Diff: ui/base/cocoa/underlay_opengl_hosting_window.mm

Issue 17593006: mac: Update clients of scoped_nsobject.h. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: iwyu, scoped_nsprotocol Created 7 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 "ui/base/cocoa/underlay_opengl_hosting_window.h" 5 #import "ui/base/cocoa/underlay_opengl_hosting_window.h"
6 6
7 #import <objc/runtime.h> 7 #import <objc/runtime.h>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/mac/mac_util.h" 10 #include "base/mac/mac_util.h"
11 #include "base/mac/scoped_nsautorelease_pool.h" 11 #include "base/mac/scoped_nsautorelease_pool.h"
12 #include "base/memory/scoped_nsobject.h" 12 #include "base/mac/scoped_nsobject.h"
13 13
14 @interface NSWindow (UndocumentedAPI) 14 @interface NSWindow (UndocumentedAPI)
15 // Normally, punching a hole in a window by painting a subview with a 15 // Normally, punching a hole in a window by painting a subview with a
16 // transparent color causes the shadow for that area to also not be present. 16 // transparent color causes the shadow for that area to also not be present.
17 // That feature is "content has shadow", which means that shadows are effective 17 // That feature is "content has shadow", which means that shadows are effective
18 // even in the content area of the window. If, however, "content has shadow" is 18 // even in the content area of the window. If, however, "content has shadow" is
19 // turned off, then the transparent area of the content casts a shadow. The one 19 // turned off, then the transparent area of the content casts a shadow. The one
20 // tricky part is that even if "content has shadow" is turned off, "the content" 20 // tricky part is that even if "content has shadow" is turned off, "the content"
21 // is defined as being the scanline from the leftmost opaque part to the 21 // is defined as being the scanline from the leftmost opaque part to the
22 // rightmost opaque part. Therefore, to force the entire window to have a 22 // rightmost opaque part. Therefore, to force the entire window to have a
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
114 114
115 NSView* rootView = [[self contentView] superview]; 115 NSView* rootView = [[self contentView] superview];
116 const NSRect rootBounds = [rootView bounds]; 116 const NSRect rootBounds = [rootView bounds];
117 117
118 // On 10.7/8, the bottom corners of the window are rounded by magic at a 118 // On 10.7/8, the bottom corners of the window are rounded by magic at a
119 // deeper level than the NSThemeFrame, so it is OK to have the opaques 119 // deeper level than the NSThemeFrame, so it is OK to have the opaques
120 // go all the way to the bottom. 120 // go all the way to the bottom.
121 const CGFloat kTopEdgeInset = 16; 121 const CGFloat kTopEdgeInset = 16;
122 const CGFloat kAlphaValueJustOpaqueEnough = 0.005; 122 const CGFloat kAlphaValueJustOpaqueEnough = 0.005;
123 123
124 scoped_nsobject<NSView> leftOpaque([[OpaqueView alloc] initWithFrame: 124 base::scoped_nsobject<NSView> leftOpaque([[OpaqueView alloc]
125 NSMakeRect(NSMinX(rootBounds), NSMinY(rootBounds), 125 initWithFrame:NSMakeRect(NSMinX(rootBounds),
126 1, NSHeight(rootBounds) - kTopEdgeInset)]); 126 NSMinY(rootBounds),
127 1,
128 NSHeight(rootBounds) - kTopEdgeInset)]);
127 [leftOpaque setAutoresizingMask:NSViewMaxXMargin | 129 [leftOpaque setAutoresizingMask:NSViewMaxXMargin |
128 NSViewHeightSizable]; 130 NSViewHeightSizable];
129 [leftOpaque setAlphaValue:kAlphaValueJustOpaqueEnough]; 131 [leftOpaque setAlphaValue:kAlphaValueJustOpaqueEnough];
130 [rootView addSubview:leftOpaque]; 132 [rootView addSubview:leftOpaque];
131 133
132 scoped_nsobject<NSView> rightOpaque([[OpaqueView alloc] initWithFrame: 134 base::scoped_nsobject<NSView> rightOpaque([[OpaqueView alloc]
133 NSMakeRect(NSMaxX(rootBounds) - 1, NSMinY(rootBounds), 135 initWithFrame:NSMakeRect(NSMaxX(rootBounds) - 1,
134 1, NSHeight(rootBounds) - kTopEdgeInset)]); 136 NSMinY(rootBounds),
137 1,
138 NSHeight(rootBounds) - kTopEdgeInset)]);
135 [rightOpaque setAutoresizingMask:NSViewMinXMargin | 139 [rightOpaque setAutoresizingMask:NSViewMinXMargin |
136 NSViewHeightSizable]; 140 NSViewHeightSizable];
137 [rightOpaque setAlphaValue:kAlphaValueJustOpaqueEnough]; 141 [rightOpaque setAlphaValue:kAlphaValueJustOpaqueEnough];
138 [rootView addSubview:rightOpaque]; 142 [rootView addSubview:rightOpaque];
139 } 143 }
140 } 144 }
141 145
142 return self; 146 return self;
143 } 147 }
144 148
145 @end 149 @end
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698