<rdar://problem/8153214> Continuation outlines in layers do not paint correctly
Reviewed by Anders Carlsson.
WebCore:
Test: fast/inline/continuation-outlines-with-layers-2.html
Continuation outlines are normally painted by the containing block. However, when the
block and the inline are not enclosed by the same self-painting layer, the inline has to
paint its own outlines. This was handled correctly only for the case where the inline had
its own self-painting layer, but now when an ancestor inline had the self-painting layer.
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::paint): Instead of testing for having a self-painting layer, test
whether any intermediate box between the inline and the containing block has a self-painting
layer.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintObject): Ditto.
* rendering/RenderObject.cpp:
(WebCore::RenderObject::enclosingBoxModelObject): Added this utility method.
* rendering/RenderObject.h:
LayoutTests:
* fast/inline/continuation-outlines-with-layers-2.html: Added.
* platform/mac/fast/inline/continuation-outlines-with-layers-2-expected.checksum: Added.
* platform/mac/fast/inline/continuation-outlines-with-layers-2-expected.png: Added.
* platform/mac/fast/inline/continuation-outlines-with-layers-2-expected.txt: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@63048 268f45cc-cd09-0410-ab3c-d52691b4dbfc
10 files changed