Upstream version 7.35.139.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / core / rendering / RenderBlock.cpp
index 146ebda..dc88bdb 100644 (file)
@@ -1550,7 +1550,7 @@ bool RenderBlock::simplifiedLayout()
         // are statically positioned and thus need to move with their absolute ancestors.
         bool canContainFixedPosObjects = canContainFixedPositionObjects();
         if (posChildNeedsLayout() || canContainFixedPosObjects)
-            layoutPositionedObjects(false, !posChildNeedsLayout() && canContainFixedPosObjects ? LayoutOnlyFixedPositionedObjects : DefaultLayout);
+            layoutPositionedObjects(false, !posChildNeedsLayout() && canContainFixedPosObjects);
 
         // Recompute our overflow information.
         // FIXME: We could do better here by computing a temporary overflow object from layoutPositionedObjects and only
@@ -1617,7 +1617,7 @@ LayoutUnit RenderBlock::marginIntrinsicLogicalWidthForChild(RenderBox* child) co
     return margin;
 }
 
-void RenderBlock::layoutPositionedObjects(bool relayoutChildren, PositionedLayoutBehavior info)
+void RenderBlock::layoutPositionedObjects(bool relayoutChildren, bool fixedPositionObjectsOnly)
 {
     TrackedRendererListHashSet* positionedDescendants = positionedObjects();
     if (!positionedDescendants)
@@ -1638,7 +1638,7 @@ void RenderBlock::layoutPositionedObjects(bool relayoutChildren, PositionedLayou
         // if this is a fixed position element, mark it for layout if it has an abspos ancestor and needs to move with that ancestor, i.e.
         // it has static position.
         markFixedPositionObjectForLayoutIfNeeded(r, layoutScope);
-        if (info == LayoutOnlyFixedPositionedObjects) {
+        if (fixedPositionObjectsOnly) {
             r->layoutIfNeeded();
             continue;
         }
@@ -1674,11 +1674,6 @@ void RenderBlock::layoutPositionedObjects(bool relayoutChildren, PositionedLayou
             oldLogicalTop = logicalTopForChild(r);
         }
 
-        // FIXME: We should be able to do a r->setNeedsPositionedMovementLayout() here instead of a full layout. Need
-        // to investigate why it does not trigger the correct invalidations in that case. crbug.com/350756
-        if (info == ForcedLayoutAfterContainingBlockMoved)
-            r->setNeedsLayout();
-
         r->layoutIfNeeded();
 
         // Lay out again if our estimate was wrong.