| Index: sky/engine/core/rendering/RenderBlock.cpp
|
| diff --git a/sky/engine/core/rendering/RenderBlock.cpp b/sky/engine/core/rendering/RenderBlock.cpp
|
| index e88fe5f79e3e1ae04cf8a986e95545851bf4f675..a7e4e92425f49a21fe4cf5db2e7dbfd393561828 100644
|
| --- a/sky/engine/core/rendering/RenderBlock.cpp
|
| +++ b/sky/engine/core/rendering/RenderBlock.cpp
|
| @@ -402,15 +402,6 @@ void RenderBlock::layoutPositionedObjects(bool relayoutChildren, PositionedLayou
|
| for (TrackedRendererListHashSet::iterator it = positionedDescendants->begin(); it != end; ++it) {
|
| r = *it;
|
|
|
| - SubtreeLayoutScope layoutScope(*r);
|
| -
|
| - // When a non-positioned block element moves, it may have positioned children that are implicitly positioned relative to the
|
| - // non-positioned block. Rather than trying to detect all of these movement cases, we just always lay out positioned
|
| - // objects that are positioned implicitly like this. Such objects are rare, and so in typical DHTML menu usage (where everything is
|
| - // positioned explicitly) this should not incur a performance penalty.
|
| - if (relayoutChildren || (r->style()->hasStaticBlockPosition() && r->parent() != this))
|
| - layoutScope.setChildNeedsLayout(r);
|
| -
|
| // If relayoutChildren is set and the child has percentage padding or an embedded content box, we also need to invalidate the childs pref widths.
|
| if (relayoutChildren && r->needsPreferredWidthsRecalculation())
|
| r->setPreferredLogicalWidthsDirty(MarkOnlyThis);
|
|
|