Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1499)

Unified Diff: Source/core/rendering/RenderBlock.cpp

Issue 349103002: Revert of Strip anonymous blocks when change in style removes need for them (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Updated Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/core/rendering/RenderBlock.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/rendering/RenderBlock.cpp
diff --git a/Source/core/rendering/RenderBlock.cpp b/Source/core/rendering/RenderBlock.cpp
index 5a83a7715c369eed18e61eab9e3b5124511a1658..ca4ff243d42e22c68bf317cdc7e13bfd3d943e77 100644
--- a/Source/core/rendering/RenderBlock.cpp
+++ b/Source/core/rendering/RenderBlock.cpp
@@ -330,9 +330,6 @@ void RenderBlock::styleDidChange(StyleDifference diff, const RenderStyle* oldSty
{
RenderBox::styleDidChange(diff, oldStyle);
- if (isFloatingOrOutOfFlowPositioned() && oldStyle && !oldStyle->isFloating() && !oldStyle->hasOutOfFlowPosition() && parent() && parent()->isRenderBlockFlow())
- toRenderBlock(parent())->removeAnonymousWrappersIfRequired();
-
RenderStyle* newStyle = style();
if (!isAnonymousBlock()) {
@@ -1087,25 +1084,6 @@ static bool canMergeContiguousAnonymousBlocks(RenderObject* oldChild, RenderObje
&& prev->isAnonymousColumnSpanBlock() == next->isAnonymousColumnSpanBlock();
}
-void RenderBlock::removeAnonymousWrappersIfRequired()
-{
- ASSERT(isRenderBlockFlow());
- Vector<RenderBox*, 16> blocksToRemove;
- for (RenderBox* child = firstChildBox(); child; child = child->nextSiblingBox()) {
- // There are still block children in the container, so any anonymous wrappers are still needed.
- if (!child->isAnonymousBlock() && !child->isFloatingOrOutOfFlowPositioned())
- return;
- // We can't remove anonymous wrappers if they contain continuations as this means there are block children present.
- if (child->isRenderBlock() && toRenderBlock(child)->continuation())
- return;
- if (child->isAnonymousBlock())
- blocksToRemove.append(child);
- }
-
- for (size_t i = 0; i < blocksToRemove.size(); i++)
- collapseAnonymousBlockChild(this, toRenderBlock(blocksToRemove[i]));
-}
-
void RenderBlock::collapseAnonymousBlockChild(RenderBlock* parent, RenderBlock* child)
{
// It's possible that this block's destruction may have been triggered by the
« no previous file with comments | « Source/core/rendering/RenderBlock.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698