REGRESSION (r107836): fast/box-shadow/spread.html and fast/writing-mode/box-shadow...
authormitz@apple.com <mitz@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 16 Feb 2012 03:32:07 +0000 (03:32 +0000)
committermitz@apple.com <mitz@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 16 Feb 2012 03:32:07 +0000 (03:32 +0000)
commit602642f3cda5a7bc3bb68bcab3ded0fe04238d5c
tree464b5b07f2153275285b64381986eaf29acbdad0
parent1cc909f79d0a1e8f02146a190e5f70c1c57800ba
REGRESSION (r107836): fast/box-shadow/spread.html and fast/writing-mode/box-shadow-*.html tests failing
https://bugs.webkit.org/show_bug.cgi?id=78759

Reviewed by Simon Fraser.

* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::boxShadowCanBeAppliedToBackground): Added. Returns false if
paintFillLayer() would push a clip before painting the layer, thus preventing it from casting
its own shadow.
(WebCore::InlineFlowBox::paintBoxDecorations): Pass this as an additional parameter to
boxShadowShouldBeAppliedToBackground().
* rendering/InlineFlowBox.h:
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintFillLayerExtended): Pass the InlineFlowBox along to
boxShadowShouldBeAppliedToBackground().
(WebCore::RenderBoxModelObject::boxShadowShouldBeAppliedToBackground): Added an InlineFlowBox
parameter. If non-0, check boxShadowCanBeAppliedToBackground(). Also check for shadow spread,
and for the case of border radius with a background image, in which paintFillLayerExtended uses
clipping. Finally, fixed a bug in the for() loop for finding the last background layer which
was noticed by Tony Chang.
* rendering/RenderBoxModelObject.h:
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::boxShadowShouldBeAppliedToBackground):
* rendering/RenderTableCell.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@107874 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore/ChangeLog
Source/WebCore/rendering/InlineFlowBox.cpp
Source/WebCore/rendering/InlineFlowBox.h
Source/WebCore/rendering/RenderBoxModelObject.cpp
Source/WebCore/rendering/RenderBoxModelObject.h
Source/WebCore/rendering/RenderTableCell.cpp
Source/WebCore/rendering/RenderTableCell.h