| Index: Source/core/rendering/RenderListItem.cpp
|
| diff --git a/Source/core/rendering/RenderListItem.cpp b/Source/core/rendering/RenderListItem.cpp
|
| index 3b6b21cb02b08fd33e2504c331faf990cd082dff..2367f0a93058ddede84c670fc34aadfcf1f05fac 100644
|
| --- a/Source/core/rendering/RenderListItem.cpp
|
| +++ b/Source/core/rendering/RenderListItem.cpp
|
| @@ -315,6 +315,16 @@ void RenderListItem::updateMarkerLocation()
|
|
|
| void RenderListItem::layout()
|
| {
|
| + internalLayout(true);
|
| +}
|
| +
|
| +void RenderListItem::preLayout()
|
| +{
|
| + internalLayout(false);
|
| +}
|
| +
|
| +void RenderListItem::internalLayout(bool fullLayout)
|
| +{
|
| ASSERT(needsLayout());
|
|
|
| // The marker must be autosized before calling updateMarkerLocation.
|
| @@ -325,7 +335,15 @@ void RenderListItem::layout()
|
|
|
| LayoutRectRecorder recorder(*this);
|
| updateMarkerLocation();
|
| - RenderBlockFlow::layout();
|
| + if (fullLayout)
|
| + RenderBlockFlow::layout(); // this will traverse children...
|
| + else
|
| + RenderBlockFlow::preLayout();
|
| +}
|
| +
|
| +void RenderListItem::postLayout()
|
| +{
|
| + RenderBlockFlow::postLayout();
|
| }
|
|
|
| void RenderListItem::addOverflowFromChildren()
|
|
|