Need to Remove Anonymous Wrappers When All Children Become Inline
authorrobert@webkit.org <robert@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 22 May 2013 18:59:38 +0000 (18:59 +0000)
committerrobert@webkit.org <robert@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 22 May 2013 18:59:38 +0000 (18:59 +0000)
commitf5515716873aa13d05990a66ce00a0c0b16fd469
tree07dd4d983062b4d6124c1e12a2fa423a5e695ee1
parentbe1d39d3d1a0b4979e8bac604e8062a229cf0b6c
Need to Remove Anonymous Wrappers When All Children Become Inline
https://bugs.webkit.org/show_bug.cgi?id=115687

Reviewed by David Hyatt.

Source/WebCore:

Remove a simple subset of anonymous wrappers, i.e. anonymous blocks without continuations,
when a block becoming float or positioned removes the need for them.

Test: fast/block/remove-anonymous-wrappers-when-element-changes-to-float-or-positioned.html

* rendering/RenderBlock.h:
(RenderBlock):
* rendering/RenderObject.cpp:
(WebCore):
(WebCore::RenderObject::removeAnonymousWrappersFromLineIfNecessary):
(WebCore::RenderObject::styleWillChange):
(WebCore::RenderObject::styleDidChange):
* rendering/RenderObject.h:
(RenderObject):

LayoutTests:

* fast/block/remove-anonymous-wrappers-when-element-changes-to-float-or-positioned-expected.txt: Added.
* fast/block/remove-anonymous-wrappers-when-element-changes-to-float-or-positioned.html: Added.
* platform/qt/fast/block/float/float-not-removed-from-next-sibling2-expected.txt:
* platform/qt/fast/dynamic/002-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@150527 268f45cc-cd09-0410-ab3c-d52691b4dbfc
LayoutTests/ChangeLog
LayoutTests/fast/block/float/float-not-removed-from-next-sibling2-expected.txt
LayoutTests/fast/block/remove-anonymous-wrappers-when-element-changes-to-float-or-positioned-expected.txt [new file with mode: 0644]
LayoutTests/fast/block/remove-anonymous-wrappers-when-element-changes-to-float-or-positioned.html [new file with mode: 0644]
LayoutTests/platform/mac/fast/dynamic/002-expected.txt
LayoutTests/platform/qt/fast/block/float/float-not-removed-from-next-sibling2-expected.txt
LayoutTests/platform/qt/fast/dynamic/002-expected.txt
Source/WebCore/ChangeLog
Source/WebCore/rendering/RenderBlock.h
Source/WebCore/rendering/RenderObject.cpp
Source/WebCore/rendering/RenderObject.h