Cloning and linebox issues in multi-column layout.
authorinferno@chromium.org <inferno@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 22 Feb 2012 21:07:18 +0000 (21:07 +0000)
committerinferno@chromium.org <inferno@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 22 Feb 2012 21:07:18 +0000 (21:07 +0000)
commit84396bd10413153b07945af16f7f80d8b6070bc1
tree30c643709d5efa418bd23381e8ec1f3364e8e6aa
parentbddfb4b1162c409f9c12bd045e21f56395c782e4
Cloning and linebox issues in multi-column layout.
https://bugs.webkit.org/show_bug.cgi?id=78273

Reviewed by Eric Seidel.

Source/WebCore:

Tests: fast/multicol/span/clone-flexbox.html
       fast/multicol/span/clone-summary.html
       fast/multicol/span/textbox-not-removed-crash.html

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::clone): Fix cloning algorithm to take
care of cloning descendant classes of RenderBlock.
(WebCore::RenderBlock::splitBlocks): When we move our inline children
to cloneBlock, we need to clear our entire line box tree. Any descendant
child in the hierarchy could be a part of our line box tree and will
never get cleared since the child has moved to new parent cloneBlock.

LayoutTests:

* fast/multicol/span/clone-flexbox-expected.png:
* fast/multicol/span/clone-flexbox-expected.txt: Added.
* fast/multicol/span/clone-flexbox.html: Added. Test passes if we
see two RenderFlexibox in the rendertree.
* fast/multicol/span/clone-summary-expected.png: Added.
* fast/multicol/span/clone-summary-expected.txt: Added.
* fast/multicol/span/clone-summary.html: Added. Test passes if we
see two RenderSummary in the rendertree.
* fast/multicol/span/textbox-not-removed-crash-expected.txt: Added.
* fast/multicol/span/textbox-not-removed-crash.html: Added. Test
passes it we do not crash on m_hasBadParent assert in InlineBox.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108543 268f45cc-cd09-0410-ab3c-d52691b4dbfc
LayoutTests/ChangeLog
LayoutTests/fast/multicol/span/clone-flexbox-expected.txt [new file with mode: 0644]
LayoutTests/fast/multicol/span/clone-flexbox.html [new file with mode: 0755]
LayoutTests/fast/multicol/span/clone-summary-expected.png [new file with mode: 0644]
LayoutTests/fast/multicol/span/clone-summary-expected.txt [new file with mode: 0644]
LayoutTests/fast/multicol/span/clone-summary.html [new file with mode: 0755]
LayoutTests/fast/multicol/span/textbox-not-removed-crash-expected.txt [new file with mode: 0644]
LayoutTests/fast/multicol/span/textbox-not-removed-crash.html [new file with mode: 0755]
Source/WebCore/ChangeLog
Source/WebCore/rendering/RenderBlock.cpp