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

Side by Side Diff: ui/views/cocoa/bridged_native_widget.mm

Issue 2271653006: base::mac::IsOSSierra() -> base::mac::IsOS10_12(), etc. (Closed) Base URL: https://chromium.googlesource.com/chromium/src@master
Patch Set: Nits Created 4 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
« no previous file with comments | « ui/views/cocoa/bridged_content_view.mm ('k') | ui/views/controls/menu/menu_config_mac.mm » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/views/cocoa/bridged_native_widget.h" 5 #import "ui/views/cocoa/bridged_native_widget.h"
6 6
7 #import <objc/runtime.h> 7 #import <objc/runtime.h>
8 #include <stddef.h> 8 #include <stddef.h>
9 #include <stdint.h> 9 #include <stdint.h>
10 10
(...skipping 764 matching lines...) Expand 10 before | Expand all | Expand 10 after
775 UpdateLayerProperties(); 775 UpdateLayerProperties();
776 if ([window_ inLiveResize]) 776 if ([window_ inLiveResize])
777 MaybeWaitForFrame(new_size); 777 MaybeWaitForFrame(new_size);
778 } 778 }
779 779
780 // 10.9 is unable to generate a window shadow from the composited CALayer, so 780 // 10.9 is unable to generate a window shadow from the composited CALayer, so
781 // use Quartz. 781 // use Quartz.
782 // We don't update the window mask during a live resize, instead it is done 782 // We don't update the window mask during a live resize, instead it is done
783 // after the resize is completed in viewDidEndLiveResize: in 783 // after the resize is completed in viewDidEndLiveResize: in
784 // BridgedContentView. 784 // BridgedContentView.
785 if (base::mac::IsOSMavericks() && ![window_ inLiveResize]) 785 if (base::mac::IsOS10_9() && ![window_ inLiveResize])
786 [bridged_view_ updateWindowMask]; 786 [bridged_view_ updateWindowMask];
787 } 787 }
788 788
789 void BridgedNativeWidget::OnPositionChanged() { 789 void BridgedNativeWidget::OnPositionChanged() {
790 native_widget_mac_->GetWidget()->OnNativeWidgetMove(); 790 native_widget_mac_->GetWidget()->OnNativeWidgetMove();
791 } 791 }
792 792
793 void BridgedNativeWidget::OnVisibilityChanged() { 793 void BridgedNativeWidget::OnVisibilityChanged() {
794 const bool window_visible = [window_ isVisible]; 794 const bool window_visible = [window_ isVisible];
795 if (window_visible_ == window_visible) 795 if (window_visible_ == window_visible)
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after
972 // blocks the UI thread, so there's no way to invalidate the shadow to match 972 // blocks the UI thread, so there's no way to invalidate the shadow to match
973 // the composited layer. This assumes the native window shape is a good match 973 // the composited layer. This assumes the native window shape is a good match
974 // for the composited NonClientFrameView, which should be the case since the 974 // for the composited NonClientFrameView, which should be the case since the
975 // native shape is what's most appropriate for displaying sheets on Mac. 975 // native shape is what's most appropriate for displaying sheets on Mac.
976 if (translucent && !native_widget_mac_->IsWindowModalSheet()) { 976 if (translucent && !native_widget_mac_->IsWindowModalSheet()) {
977 [window_ setOpaque:NO]; 977 [window_ setOpaque:NO];
978 // For Mac OS versions earlier than Yosemite, the Window server isn't able 978 // For Mac OS versions earlier than Yosemite, the Window server isn't able
979 // to generate a window shadow from the composited CALayer. To get around 979 // to generate a window shadow from the composited CALayer. To get around
980 // this, let the window background remain opaque and clip the window 980 // this, let the window background remain opaque and clip the window
981 // boundary in drawRect method of BridgedContentView. See crbug.com/543671. 981 // boundary in drawRect method of BridgedContentView. See crbug.com/543671.
982 if (base::mac::IsOSYosemiteOrLater()) 982 if (base::mac::IsAtLeastOS10_10())
983 [window_ setBackgroundColor:[NSColor clearColor]]; 983 [window_ setBackgroundColor:[NSColor clearColor]];
984 } 984 }
985 985
986 UpdateLayerProperties(); 986 UpdateLayerProperties();
987 } 987 }
988 988
989 void BridgedNativeWidget::SetAssociationForView(const views::View* view, 989 void BridgedNativeWidget::SetAssociationForView(const views::View* view,
990 NSView* native_view) { 990 NSView* native_view) {
991 DCHECK_EQ(0u, associated_views_.count(view)); 991 DCHECK_EQ(0u, associated_views_.count(view));
992 associated_views_[view] = native_view; 992 associated_views_[view] = native_view;
(...skipping 270 matching lines...) Expand 10 before | Expand all | Expand 10 after
1263 [compositor_superview_ setWantsBestResolutionOpenGLSurface:YES]; 1263 [compositor_superview_ setWantsBestResolutionOpenGLSurface:YES];
1264 } 1264 }
1265 1265
1266 base::scoped_nsobject<CALayer> background_layer([[CALayer alloc] init]); 1266 base::scoped_nsobject<CALayer> background_layer([[CALayer alloc] init]);
1267 [background_layer 1267 [background_layer
1268 setAutoresizingMask:kCALayerWidthSizable | kCALayerHeightSizable]; 1268 setAutoresizingMask:kCALayerWidthSizable | kCALayerHeightSizable];
1269 1269
1270 if (widget_type_ == Widget::InitParams::TYPE_MENU) { 1270 if (widget_type_ == Widget::InitParams::TYPE_MENU) {
1271 // Giving the canvas opacity messes up subpixel font rendering, so use a 1271 // Giving the canvas opacity messes up subpixel font rendering, so use a
1272 // solid background, but make the CALayer transparent. 1272 // solid background, but make the CALayer transparent.
1273 if (base::mac::IsOSYosemiteOrLater()) { 1273 if (base::mac::IsAtLeastOS10_10()) {
1274 [background_layer setOpacity:kYosemiteMenuOpacity]; 1274 [background_layer setOpacity:kYosemiteMenuOpacity];
1275 CGSSetWindowBackgroundBlurRadius( 1275 CGSSetWindowBackgroundBlurRadius(
1276 _CGSDefaultConnection(), [window_ windowNumber], kYosemiteMenuBlur); 1276 _CGSDefaultConnection(), [window_ windowNumber], kYosemiteMenuBlur);
1277 // The blur effect does not occur with a fully transparent (or fully 1277 // The blur effect does not occur with a fully transparent (or fully
1278 // layer-backed) window. Setting a window background will use square 1278 // layer-backed) window. Setting a window background will use square
1279 // corners, so ask the contentView to draw one instead. 1279 // corners, so ask the contentView to draw one instead.
1280 [bridged_view_ setDrawMenuBackgroundForBlur:YES]; 1280 [bridged_view_ setDrawMenuBackgroundForBlur:YES];
1281 } else { 1281 } else {
1282 [background_layer setOpacity:kMavericksMenuOpacity]; 1282 [background_layer setOpacity:kMavericksMenuOpacity];
1283 } 1283 }
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
1365 [bridged_view_ setMouseDownCanMoveWindow:draggable]; 1365 [bridged_view_ setMouseDownCanMoveWindow:draggable];
1366 // AppKit will not update its cache of mouseDownCanMoveWindow unless something 1366 // AppKit will not update its cache of mouseDownCanMoveWindow unless something
1367 // changes. Previously we tried adding an NSView and removing it, but for some 1367 // changes. Previously we tried adding an NSView and removing it, but for some
1368 // reason it required reposting the mouse-down event, and didn't always work. 1368 // reason it required reposting the mouse-down event, and didn't always work.
1369 // Calling the below seems to be an effective solution. 1369 // Calling the below seems to be an effective solution.
1370 [window_ setMovableByWindowBackground:NO]; 1370 [window_ setMovableByWindowBackground:NO];
1371 [window_ setMovableByWindowBackground:YES]; 1371 [window_ setMovableByWindowBackground:YES];
1372 } 1372 }
1373 1373
1374 } // namespace views 1374 } // namespace views
OLDNEW
« no previous file with comments | « ui/views/cocoa/bridged_content_view.mm ('k') | ui/views/controls/menu/menu_config_mac.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698