Add a content shadow layer to the render layer compositor
authorandersca@apple.com <andersca@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 8 Feb 2012 20:24:57 +0000 (20:24 +0000)
committerandersca@apple.com <andersca@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 8 Feb 2012 20:24:57 +0000 (20:24 +0000)
commitb2abfa647a97da815a7adeacc692a6b797e27982
tree4baf1cfe7b633e2e9dd4061c6e9a2b34365ee871
parent87b89d153cd7357d3c90f713230b97bc610e4129
Add a content shadow layer to the render layer compositor
https://bugs.webkit.org/show_bug.cgi?id=78133
<rdar://problem/10797742>

Reviewed by Beth Dakin.

Have the render layer compositor optionally create a content shadow layer,
and add a ScrollbarTheme::setUpContentShadowLayer member function that subclasses
can use to set content shadow properties.

* platform/mac/ScrollbarThemeMac.mm:
(WebCore::ScrollbarThemeMac::setUpContentShadowLayer):
Set the layer properties once, and set the shadow path on every call, since we know that this
function will be called every time the size of the content shadow layer changes.

* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateRootLayerPosition):
Reposition the content shadow layer, and call ScrollbarTheme::setUpContentShadowLayer if the size changes.

(WebCore::RenderLayerCompositor::requiresContentShadowLayer):
Add new helper function.

(WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
Create a content shadow layer if needed.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@107119 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore/ChangeLog
Source/WebCore/platform/ScrollbarTheme.h
Source/WebCore/platform/mac/ScrollbarThemeMac.h
Source/WebCore/platform/mac/ScrollbarThemeMac.mm
Source/WebCore/rendering/RenderLayerCompositor.cpp
Source/WebCore/rendering/RenderLayerCompositor.h