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

Side by Side Diff: Source/core/rendering/RenderBox.cpp

Issue 194713009: Make sure table cells are laid out again when fragmentainer height changes. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Use the old multicol implementation in the tests. The new one has a bug that needs to be fixed befo… Created 6 years, 9 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 unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) 3 * (C) 1999 Antti Koivisto (koivisto@kde.org)
4 * (C) 2005 Allan Sandfeld Jensen (kde@carewolf.com) 4 * (C) 2005 Allan Sandfeld Jensen (kde@carewolf.com)
5 * (C) 2005, 2006 Samuel Weinig (sam.weinig@gmail.com) 5 * (C) 2005, 2006 Samuel Weinig (sam.weinig@gmail.com)
6 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserv ed. 6 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserv ed.
7 * Copyright (C) 2013 Adobe Systems Incorporated. All rights reserved. 7 * Copyright (C) 2013 Adobe Systems Incorporated. All rights reserved.
8 * 8 *
9 * This library is free software; you can redistribute it and/or 9 * This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU Library General Public 10 * modify it under the terms of the GNU Library General Public
(...skipping 4125 matching lines...) Expand 10 before | Expand all | Expand 10 after
4136 4136
4137 // Only auto width objects can possibly shrink to avoid floats. 4137 // Only auto width objects can possibly shrink to avoid floats.
4138 return style()->width().isAuto(); 4138 return style()->width().isAuto();
4139 } 4139 }
4140 4140
4141 bool RenderBox::avoidsFloats() const 4141 bool RenderBox::avoidsFloats() const
4142 { 4142 {
4143 return isReplaced() || hasOverflowClip() || isHR() || isLegend() || isWritin gModeRoot() || isFlexItemIncludingDeprecated(); 4143 return isReplaced() || hasOverflowClip() || isHR() || isLegend() || isWritin gModeRoot() || isFlexItemIncludingDeprecated();
4144 } 4144 }
4145 4145
4146 void RenderBox::markForPaginationRelayoutIfNeeded(SubtreeLayoutScope& layoutScop e)
Julien - ping for review 2014/03/12 15:58:23 Ideally this should be only used for table parts b
mstensho (USE GERRIT) 2014/03/13 08:26:48 We used to only do this for blocks (well.. RenderB
4147 {
4148 ASSERT(!needsLayout());
4149 if (needsLayout())
Julien - ping for review 2014/03/12 15:58:23 This is a bad pattern. Either we know the ASSERT i
mstensho (USE GERRIT) 2014/03/13 08:26:48 Done. Indeed. I stole this code, but bad indeed. :
4150 return;
4151
4152 // If fragmentation height has changed, we need to lay out. No need to enter the renderer if it
4153 // is childless, though.
4154 if (view()->layoutState()->pageLogicalHeightChanged() && firstChild())
4155 layoutScope.setChildNeedsLayout(this);
4156 }
4157
4146 void RenderBox::addVisualEffectOverflow() 4158 void RenderBox::addVisualEffectOverflow()
4147 { 4159 {
4148 if (!style()->boxShadow() && !style()->hasBorderImageOutsets()) 4160 if (!style()->boxShadow() && !style()->hasBorderImageOutsets())
4149 return; 4161 return;
4150 4162
4151 bool isFlipped = style()->isFlippedBlocksWritingMode(); 4163 bool isFlipped = style()->isFlippedBlocksWritingMode();
4152 bool isHorizontal = isHorizontalWritingMode(); 4164 bool isHorizontal = isHorizontalWritingMode();
4153 4165
4154 LayoutRect borderBox = borderBoxRect(); 4166 LayoutRect borderBox = borderBoxRect();
4155 LayoutUnit overflowMinX = borderBox.x(); 4167 LayoutUnit overflowMinX = borderBox.x();
(...skipping 534 matching lines...) Expand 10 before | Expand all | Expand 10 after
4690 return 0; 4702 return 0;
4691 4703
4692 if (!layoutState && !flowThreadContainingBlock()) 4704 if (!layoutState && !flowThreadContainingBlock())
4693 return 0; 4705 return 0;
4694 4706
4695 RenderBlock* containerBlock = containingBlock(); 4707 RenderBlock* containerBlock = containingBlock();
4696 return containerBlock->offsetFromLogicalTopOfFirstPage() + logicalTop(); 4708 return containerBlock->offsetFromLogicalTopOfFirstPage() + logicalTop();
4697 } 4709 }
4698 4710
4699 } // namespace WebCore 4711 } // namespace WebCore
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698