Index: ui/views/cocoa/bridged_native_widget.mm |
diff --git a/ui/views/cocoa/bridged_native_widget.mm b/ui/views/cocoa/bridged_native_widget.mm |
index 6a4971bb827c5b17dad1302d43a29ca3bec829ea..6f5dec0f96864ede56c8a7cf940de5ebf964aa92 100644 |
--- a/ui/views/cocoa/bridged_native_widget.mm |
+++ b/ui/views/cocoa/bridged_native_widget.mm |
@@ -682,6 +682,14 @@ void BridgedNativeWidget::OnSizeChanged() { |
if ([window_ inLiveResize]) |
MaybeWaitForFrame(new_size); |
} |
+ |
+ // 10.9 is unable to generate a window shadow from the composited CALayer, so |
+ // use Quartz. |
+ // We don't update the window mask during a live resize, instead it is done |
+ // after the resize is completed in viewDidEndLiveResize: in |
+ // BridgedContentView. |
+ if (base::mac::IsOSMavericksOrEarlier() && ![window_ inLiveResize]) |
+ [bridged_view_ updateWindowMask]; |
} |
void BridgedNativeWidget::OnVisibilityChanged() { |
@@ -865,7 +873,12 @@ void BridgedNativeWidget::CreateLayer(ui::LayerType layer_type, |
// native shape is what's most appropriate for displaying sheets on Mac. |
if (translucent && !native_widget_mac_->IsWindowModalSheet()) { |
[window_ setOpaque:NO]; |
- [window_ setBackgroundColor:[NSColor clearColor]]; |
+ // For Mac OS versions earlier than Yosemite, the Window server isn't able |
+ // to generate a window shadow from the composited CALayer. To get around |
+ // this, let the window background remain opaque and clip the window |
+ // boundary in drawRect method of BridgedContentView. See crbug.com/543671. |
+ if (base::mac::IsOSYosemiteOrLater()) |
+ [window_ setBackgroundColor:[NSColor clearColor]]; |
} |
UpdateLayerProperties(); |