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

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

Issue 246783004: Revert of Recompute overflow after transform changes (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Local revert Created 6 years, 8 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') | Source/core/rendering/RenderLayerModelObject.cpp » ('j') | 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 893f02a5e99c80ca095e858c4f6e2e2613403b81..d54ecf624f1ce1b3de5fa03529f2079a6eac7ca4 100644
--- a/Source/core/rendering/RenderBlock.cpp
+++ b/Source/core/rendering/RenderBlock.cpp
@@ -4849,93 +4849,6 @@ RenderBlockFlow* RenderBlock::createAnonymousColumnSpanWithParentRenderer(const
return newBox;
}
-bool RenderBlock::recalcChildOverflowAfterStyleChange()
-{
- ASSERT(childNeedsOverflowRecalcAfterStyleChange());
- setChildNeedsOverflowRecalcAfterStyleChange(false);
-
- bool childrenOverflowChanged = false;
-
- if (childrenInline()) {
- ListHashSet<RootInlineBox*> lineBoxes;
- for (InlineWalker walker(this); !walker.atEnd(); walker.advance()) {
- RenderObject* renderer = walker.current();
- if (renderer->isOutOfFlowPositioned() || !renderer->needsOverflowRecalcAfterStyleChange())
- continue;
-
- RenderBlock* block = toRenderBlock(renderer);
- if (!block->recalcOverflowAfterStyleChange())
- continue;
-
- childrenOverflowChanged = true;
- if (InlineBox* inlineBoxWrapper = block->inlineBoxWrapper())
- lineBoxes.add(&inlineBoxWrapper->root());
- }
-
- // FIXME: Glyph overflow will get lost in this case, but not really a big deal.
- GlyphOverflowAndFallbackFontsMap textBoxDataMap;
- for (ListHashSet<RootInlineBox*>::const_iterator it = lineBoxes.begin(); it != lineBoxes.end(); ++it) {
- RootInlineBox* box = *it;
- box->computeOverflow(box->lineTop(), box->lineBottom(), textBoxDataMap);
- }
- } else {
- for (RenderBox* box = firstChildBox(); box; box = box->nextSiblingBox()) {
- if (box->isOutOfFlowPositioned() || !box->needsOverflowRecalcAfterStyleChange())
- continue;
-
- RenderBlock* block = toRenderBlock(box);
- if (!block->recalcOverflowAfterStyleChange())
- continue;
-
- childrenOverflowChanged = true;
- }
- }
-
- TrackedRendererListHashSet* positionedDescendants = positionedObjects();
- if (!positionedDescendants)
- return childrenOverflowChanged;
-
- TrackedRendererListHashSet::iterator end = positionedDescendants->end();
- for (TrackedRendererListHashSet::iterator it = positionedDescendants->begin(); it != end; ++it) {
- RenderBox* box = *it;
-
- if (!box->needsOverflowRecalcAfterStyleChange())
- continue;
- RenderBlock* block = toRenderBlock(box);
- if (!block->recalcOverflowAfterStyleChange() || box->style()->position() == FixedPosition)
- continue;
-
- childrenOverflowChanged = true;
- }
- return childrenOverflowChanged;
-}
-
-bool RenderBlock::recalcOverflowAfterStyleChange()
-{
- ASSERT(needsOverflowRecalcAfterStyleChange());
-
- bool childrenOverflowChanged = false;
- if (childNeedsOverflowRecalcAfterStyleChange())
- childrenOverflowChanged = recalcChildOverflowAfterStyleChange();
-
- if (!selfNeedsOverflowRecalcAfterStyleChange() && !childrenOverflowChanged)
- return false;
-
- setSelfNeedsOverflowRecalcAfterStyleChange(false);
- // If the current block needs layout, overflow will be recalculated during
- // layout time anyway. We can safely exit here.
- if (needsLayout())
- return false;
-
- LayoutUnit oldClientAfterEdge = hasRenderOverflow() ? m_overflow->layoutClientAfterEdge() : clientLogicalBottom();
- computeOverflow(oldClientAfterEdge, true);
-
- if (hasOverflowClip())
- layer()->scrollableArea()->updateAfterOverflowRecalc();
-
- return !hasOverflowClip();
-}
-
#ifndef NDEBUG
void RenderBlock::checkPositionedObjectsNeedLayout()
{
« no previous file with comments | « Source/core/rendering/RenderBlock.h ('k') | Source/core/rendering/RenderLayerModelObject.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698