<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