diff --git a/CSSLayout/CSSLayout.c b/CSSLayout/CSSLayout.c
index 94e34421..8ba14c0a 100644
--- a/CSSLayout/CSSLayout.c
+++ b/CSSLayout/CSSLayout.c
@@ -2092,27 +2092,23 @@ static void layoutNodeImpl(const CSSNodeRef node,
// If the user didn't specify a width or height for the node, set the
// dimensions based on the children.
- if (measureModeMainDim == CSSMeasureModeUndefined ||
- (node->style.overflow != CSSOverflowScroll && measureModeMainDim == CSSMeasureModeAtMost)) {
+ if (measureModeMainDim == CSSMeasureModeUndefined) {
// Clamp the size to the min/max size, if specified, and make sure it
// doesn't go below the padding and border amount.
node->layout.measuredDimensions[dim[mainAxis]] = boundAxis(node, mainAxis, maxLineMainDim);
- } else if (node->style.overflow == CSSOverflowScroll &&
- measureModeMainDim == CSSMeasureModeAtMost) {
+ } else if (measureModeMainDim == CSSMeasureModeAtMost) {
node->layout.measuredDimensions[dim[mainAxis]] =
fmaxf(fminf(availableInnerMainDim + paddingAndBorderAxisMain,
boundAxisWithinMinAndMax(node, mainAxis, maxLineMainDim)),
paddingAndBorderAxisMain);
}
- if (measureModeCrossDim == CSSMeasureModeUndefined ||
- (node->style.overflow != CSSOverflowScroll && measureModeCrossDim == CSSMeasureModeAtMost)) {
+ if (measureModeCrossDim == CSSMeasureModeUndefined) {
// Clamp the size to the min/max size, if specified, and make sure it
// doesn't go below the padding and border amount.
node->layout.measuredDimensions[dim[crossAxis]] =
boundAxis(node, crossAxis, totalLineCrossDim + paddingAndBorderAxisCross);
- } else if (node->style.overflow == CSSOverflowScroll &&
- measureModeCrossDim == CSSMeasureModeAtMost) {
+ } else if (measureModeCrossDim == CSSMeasureModeAtMost) {
node->layout.measuredDimensions[dim[crossAxis]] =
fmaxf(fminf(availableInnerCrossDim + paddingAndBorderAxisCross,
boundAxisWithinMinAndMax(node,
diff --git a/csharp/tests/Facebook.CSSLayout/CSSSizeOverflowTest.cs b/csharp/tests/Facebook.CSSLayout/CSSSizeOverflowTest.cs
deleted file mode 100644
index bee15ef5..00000000
--- a/csharp/tests/Facebook.CSSLayout/CSSSizeOverflowTest.cs
+++ /dev/null
@@ -1,140 +0,0 @@
-/**
- * Copyright (c) 2014-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- */
-
-/**
- * @Generated by gentest/gentest.sh with the following input
- *
-
-
-
- *
- */
-
-using System;
-using NUnit.Framework;
-
-namespace Facebook.CSSLayout
-{
- [TestFixture]
- public class CSSSizeOverflowTest
- {
- [Test]
- public void Test_nested_overflowing_child()
- {
- CSSNode root = new CSSNode();
- root.StyleWidth = 100;
- root.StyleHeight = 100;
-
- CSSNode root_child0 = new CSSNode();
- root.Insert(0, root_child0);
-
- CSSNode root_child0_child0 = new CSSNode();
- root_child0_child0.StyleWidth = 200;
- root_child0_child0.StyleHeight = 200;
- root_child0.Insert(0, root_child0_child0);
- root.StyleDirection = CSSDirection.LeftToRight;
- root.CalculateLayout();
-
- Assert.AreEqual(0, root.LayoutX);
- Assert.AreEqual(0, root.LayoutY);
- Assert.AreEqual(100, root.LayoutWidth);
- Assert.AreEqual(100, root.LayoutHeight);
-
- Assert.AreEqual(0, root_child0.LayoutX);
- Assert.AreEqual(0, root_child0.LayoutY);
- Assert.AreEqual(100, root_child0.LayoutWidth);
- Assert.AreEqual(200, root_child0.LayoutHeight);
-
- Assert.AreEqual(0, root_child0_child0.LayoutX);
- Assert.AreEqual(0, root_child0_child0.LayoutY);
- Assert.AreEqual(200, root_child0_child0.LayoutWidth);
- Assert.AreEqual(200, root_child0_child0.LayoutHeight);
-
- root.StyleDirection = CSSDirection.RightToLeft;
- root.CalculateLayout();
-
- Assert.AreEqual(0, root.LayoutX);
- Assert.AreEqual(0, root.LayoutY);
- Assert.AreEqual(100, root.LayoutWidth);
- Assert.AreEqual(100, root.LayoutHeight);
-
- Assert.AreEqual(0, root_child0.LayoutX);
- Assert.AreEqual(0, root_child0.LayoutY);
- Assert.AreEqual(100, root_child0.LayoutWidth);
- Assert.AreEqual(200, root_child0.LayoutHeight);
-
- Assert.AreEqual(-100, root_child0_child0.LayoutX);
- Assert.AreEqual(0, root_child0_child0.LayoutY);
- Assert.AreEqual(200, root_child0_child0.LayoutWidth);
- Assert.AreEqual(200, root_child0_child0.LayoutHeight);
- }
-
- [Test]
- public void Test_nested_overflowing_child_in_constraint_parent()
- {
- CSSNode root = new CSSNode();
- root.StyleWidth = 100;
- root.StyleHeight = 100;
-
- CSSNode root_child0 = new CSSNode();
- root_child0.StyleWidth = 100;
- root_child0.StyleHeight = 100;
- root.Insert(0, root_child0);
-
- CSSNode root_child0_child0 = new CSSNode();
- root_child0_child0.StyleWidth = 200;
- root_child0_child0.StyleHeight = 200;
- root_child0.Insert(0, root_child0_child0);
- root.StyleDirection = CSSDirection.LeftToRight;
- root.CalculateLayout();
-
- Assert.AreEqual(0, root.LayoutX);
- Assert.AreEqual(0, root.LayoutY);
- Assert.AreEqual(100, root.LayoutWidth);
- Assert.AreEqual(100, root.LayoutHeight);
-
- Assert.AreEqual(0, root_child0.LayoutX);
- Assert.AreEqual(0, root_child0.LayoutY);
- Assert.AreEqual(100, root_child0.LayoutWidth);
- Assert.AreEqual(100, root_child0.LayoutHeight);
-
- Assert.AreEqual(0, root_child0_child0.LayoutX);
- Assert.AreEqual(0, root_child0_child0.LayoutY);
- Assert.AreEqual(200, root_child0_child0.LayoutWidth);
- Assert.AreEqual(200, root_child0_child0.LayoutHeight);
-
- root.StyleDirection = CSSDirection.RightToLeft;
- root.CalculateLayout();
-
- Assert.AreEqual(0, root.LayoutX);
- Assert.AreEqual(0, root.LayoutY);
- Assert.AreEqual(100, root.LayoutWidth);
- Assert.AreEqual(100, root.LayoutHeight);
-
- Assert.AreEqual(0, root_child0.LayoutX);
- Assert.AreEqual(0, root_child0.LayoutY);
- Assert.AreEqual(100, root_child0.LayoutWidth);
- Assert.AreEqual(100, root_child0.LayoutHeight);
-
- Assert.AreEqual(-100, root_child0_child0.LayoutX);
- Assert.AreEqual(0, root_child0_child0.LayoutY);
- Assert.AreEqual(200, root_child0_child0.LayoutWidth);
- Assert.AreEqual(200, root_child0_child0.LayoutHeight);
- }
-
- }
-}
diff --git a/gentest/fixtures/CSSSizeOverflowTest.html b/gentest/fixtures/CSSSizeOverflowTest.html
deleted file mode 100644
index fd06adba..00000000
--- a/gentest/fixtures/CSSSizeOverflowTest.html
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
diff --git a/java/tests/com/facebook/csslayout/CSSSizeOverflowTest.java b/java/tests/com/facebook/csslayout/CSSSizeOverflowTest.java
deleted file mode 100644
index 5394fe75..00000000
--- a/java/tests/com/facebook/csslayout/CSSSizeOverflowTest.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/**
- * Copyright (c) 2014-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- */
-
-/**
- * @Generated by gentest/gentest.sh with the following input
- *
-
-
-
- *
- */
-
-package com.facebook.csslayout;
-
-import org.junit.Test;
-
-import static org.junit.Assert.assertEquals;
-
-public class CSSSizeOverflowTest {
- @Test
- public void test_nested_overflowing_child() {
- final CSSNode root = new CSSNode();
- root.setStyleWidth(100);
- root.setStyleHeight(100);
-
- final CSSNode root_child0 = new CSSNode();
- root.addChildAt(root_child0, 0);
-
- final CSSNode root_child0_child0 = new CSSNode();
- root_child0_child0.setStyleWidth(200);
- root_child0_child0.setStyleHeight(200);
- root_child0.addChildAt(root_child0_child0, 0);
- root.setDirection(CSSDirection.LTR);
- root.calculateLayout(null);
-
- assertEquals(0, root.getLayoutX(), 0.0f);
- assertEquals(0, root.getLayoutY(), 0.0f);
- assertEquals(100, root.getLayoutWidth(), 0.0f);
- assertEquals(100, root.getLayoutHeight(), 0.0f);
-
- assertEquals(0, root_child0.getLayoutX(), 0.0f);
- assertEquals(0, root_child0.getLayoutY(), 0.0f);
- assertEquals(100, root_child0.getLayoutWidth(), 0.0f);
- assertEquals(200, root_child0.getLayoutHeight(), 0.0f);
-
- assertEquals(0, root_child0_child0.getLayoutX(), 0.0f);
- assertEquals(0, root_child0_child0.getLayoutY(), 0.0f);
- assertEquals(200, root_child0_child0.getLayoutWidth(), 0.0f);
- assertEquals(200, root_child0_child0.getLayoutHeight(), 0.0f);
-
- root.setDirection(CSSDirection.RTL);
- root.calculateLayout(null);
-
- assertEquals(0, root.getLayoutX(), 0.0f);
- assertEquals(0, root.getLayoutY(), 0.0f);
- assertEquals(100, root.getLayoutWidth(), 0.0f);
- assertEquals(100, root.getLayoutHeight(), 0.0f);
-
- assertEquals(0, root_child0.getLayoutX(), 0.0f);
- assertEquals(0, root_child0.getLayoutY(), 0.0f);
- assertEquals(100, root_child0.getLayoutWidth(), 0.0f);
- assertEquals(200, root_child0.getLayoutHeight(), 0.0f);
-
- assertEquals(-100, root_child0_child0.getLayoutX(), 0.0f);
- assertEquals(0, root_child0_child0.getLayoutY(), 0.0f);
- assertEquals(200, root_child0_child0.getLayoutWidth(), 0.0f);
- assertEquals(200, root_child0_child0.getLayoutHeight(), 0.0f);
- }
-
- @Test
- public void test_nested_overflowing_child_in_constraint_parent() {
- final CSSNode root = new CSSNode();
- root.setStyleWidth(100);
- root.setStyleHeight(100);
-
- final CSSNode root_child0 = new CSSNode();
- root_child0.setStyleWidth(100);
- root_child0.setStyleHeight(100);
- root.addChildAt(root_child0, 0);
-
- final CSSNode root_child0_child0 = new CSSNode();
- root_child0_child0.setStyleWidth(200);
- root_child0_child0.setStyleHeight(200);
- root_child0.addChildAt(root_child0_child0, 0);
- root.setDirection(CSSDirection.LTR);
- root.calculateLayout(null);
-
- assertEquals(0, root.getLayoutX(), 0.0f);
- assertEquals(0, root.getLayoutY(), 0.0f);
- assertEquals(100, root.getLayoutWidth(), 0.0f);
- assertEquals(100, root.getLayoutHeight(), 0.0f);
-
- assertEquals(0, root_child0.getLayoutX(), 0.0f);
- assertEquals(0, root_child0.getLayoutY(), 0.0f);
- assertEquals(100, root_child0.getLayoutWidth(), 0.0f);
- assertEquals(100, root_child0.getLayoutHeight(), 0.0f);
-
- assertEquals(0, root_child0_child0.getLayoutX(), 0.0f);
- assertEquals(0, root_child0_child0.getLayoutY(), 0.0f);
- assertEquals(200, root_child0_child0.getLayoutWidth(), 0.0f);
- assertEquals(200, root_child0_child0.getLayoutHeight(), 0.0f);
-
- root.setDirection(CSSDirection.RTL);
- root.calculateLayout(null);
-
- assertEquals(0, root.getLayoutX(), 0.0f);
- assertEquals(0, root.getLayoutY(), 0.0f);
- assertEquals(100, root.getLayoutWidth(), 0.0f);
- assertEquals(100, root.getLayoutHeight(), 0.0f);
-
- assertEquals(0, root_child0.getLayoutX(), 0.0f);
- assertEquals(0, root_child0.getLayoutY(), 0.0f);
- assertEquals(100, root_child0.getLayoutWidth(), 0.0f);
- assertEquals(100, root_child0.getLayoutHeight(), 0.0f);
-
- assertEquals(-100, root_child0_child0.getLayoutX(), 0.0f);
- assertEquals(0, root_child0_child0.getLayoutY(), 0.0f);
- assertEquals(200, root_child0_child0.getLayoutWidth(), 0.0f);
- assertEquals(200, root_child0_child0.getLayoutHeight(), 0.0f);
- }
-
-}
diff --git a/tests/CSSSizeOverflowTest.cpp b/tests/CSSSizeOverflowTest.cpp
deleted file mode 100644
index 14c23ff4..00000000
--- a/tests/CSSSizeOverflowTest.cpp
+++ /dev/null
@@ -1,128 +0,0 @@
-/**
- * Copyright (c) 2014-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- */
-
-/**
- * @Generated by gentest/gentest.sh with the following input
- *
-
-
-
- *
- */
-
-#include
-#include
-
-TEST(CSSLayoutTest, nested_overflowing_child) {
- const CSSNodeRef root = CSSNodeNew();
- CSSNodeStyleSetWidth(root, 100);
- CSSNodeStyleSetHeight(root, 100);
-
- const CSSNodeRef root_child0 = CSSNodeNew();
- CSSNodeInsertChild(root, root_child0, 0);
-
- const CSSNodeRef root_child0_child0 = CSSNodeNew();
- CSSNodeStyleSetWidth(root_child0_child0, 200);
- CSSNodeStyleSetHeight(root_child0_child0, 200);
- CSSNodeInsertChild(root_child0, root_child0_child0, 0);
- CSSNodeCalculateLayout(root, CSSUndefined, CSSUndefined, CSSDirectionLTR);
-
- ASSERT_EQ(0, CSSNodeLayoutGetLeft(root));
- ASSERT_EQ(0, CSSNodeLayoutGetTop(root));
- ASSERT_EQ(100, CSSNodeLayoutGetWidth(root));
- ASSERT_EQ(100, CSSNodeLayoutGetHeight(root));
-
- ASSERT_EQ(0, CSSNodeLayoutGetLeft(root_child0));
- ASSERT_EQ(0, CSSNodeLayoutGetTop(root_child0));
- ASSERT_EQ(100, CSSNodeLayoutGetWidth(root_child0));
- ASSERT_EQ(200, CSSNodeLayoutGetHeight(root_child0));
-
- ASSERT_EQ(0, CSSNodeLayoutGetLeft(root_child0_child0));
- ASSERT_EQ(0, CSSNodeLayoutGetTop(root_child0_child0));
- ASSERT_EQ(200, CSSNodeLayoutGetWidth(root_child0_child0));
- ASSERT_EQ(200, CSSNodeLayoutGetHeight(root_child0_child0));
-
- CSSNodeCalculateLayout(root, CSSUndefined, CSSUndefined, CSSDirectionRTL);
-
- ASSERT_EQ(0, CSSNodeLayoutGetLeft(root));
- ASSERT_EQ(0, CSSNodeLayoutGetTop(root));
- ASSERT_EQ(100, CSSNodeLayoutGetWidth(root));
- ASSERT_EQ(100, CSSNodeLayoutGetHeight(root));
-
- ASSERT_EQ(0, CSSNodeLayoutGetLeft(root_child0));
- ASSERT_EQ(0, CSSNodeLayoutGetTop(root_child0));
- ASSERT_EQ(100, CSSNodeLayoutGetWidth(root_child0));
- ASSERT_EQ(200, CSSNodeLayoutGetHeight(root_child0));
-
- ASSERT_EQ(-100, CSSNodeLayoutGetLeft(root_child0_child0));
- ASSERT_EQ(0, CSSNodeLayoutGetTop(root_child0_child0));
- ASSERT_EQ(200, CSSNodeLayoutGetWidth(root_child0_child0));
- ASSERT_EQ(200, CSSNodeLayoutGetHeight(root_child0_child0));
-
- CSSNodeFreeRecursive(root);
-}
-
-TEST(CSSLayoutTest, nested_overflowing_child_in_constraint_parent) {
- const CSSNodeRef root = CSSNodeNew();
- CSSNodeStyleSetWidth(root, 100);
- CSSNodeStyleSetHeight(root, 100);
-
- const CSSNodeRef root_child0 = CSSNodeNew();
- CSSNodeStyleSetWidth(root_child0, 100);
- CSSNodeStyleSetHeight(root_child0, 100);
- CSSNodeInsertChild(root, root_child0, 0);
-
- const CSSNodeRef root_child0_child0 = CSSNodeNew();
- CSSNodeStyleSetWidth(root_child0_child0, 200);
- CSSNodeStyleSetHeight(root_child0_child0, 200);
- CSSNodeInsertChild(root_child0, root_child0_child0, 0);
- CSSNodeCalculateLayout(root, CSSUndefined, CSSUndefined, CSSDirectionLTR);
-
- ASSERT_EQ(0, CSSNodeLayoutGetLeft(root));
- ASSERT_EQ(0, CSSNodeLayoutGetTop(root));
- ASSERT_EQ(100, CSSNodeLayoutGetWidth(root));
- ASSERT_EQ(100, CSSNodeLayoutGetHeight(root));
-
- ASSERT_EQ(0, CSSNodeLayoutGetLeft(root_child0));
- ASSERT_EQ(0, CSSNodeLayoutGetTop(root_child0));
- ASSERT_EQ(100, CSSNodeLayoutGetWidth(root_child0));
- ASSERT_EQ(100, CSSNodeLayoutGetHeight(root_child0));
-
- ASSERT_EQ(0, CSSNodeLayoutGetLeft(root_child0_child0));
- ASSERT_EQ(0, CSSNodeLayoutGetTop(root_child0_child0));
- ASSERT_EQ(200, CSSNodeLayoutGetWidth(root_child0_child0));
- ASSERT_EQ(200, CSSNodeLayoutGetHeight(root_child0_child0));
-
- CSSNodeCalculateLayout(root, CSSUndefined, CSSUndefined, CSSDirectionRTL);
-
- ASSERT_EQ(0, CSSNodeLayoutGetLeft(root));
- ASSERT_EQ(0, CSSNodeLayoutGetTop(root));
- ASSERT_EQ(100, CSSNodeLayoutGetWidth(root));
- ASSERT_EQ(100, CSSNodeLayoutGetHeight(root));
-
- ASSERT_EQ(0, CSSNodeLayoutGetLeft(root_child0));
- ASSERT_EQ(0, CSSNodeLayoutGetTop(root_child0));
- ASSERT_EQ(100, CSSNodeLayoutGetWidth(root_child0));
- ASSERT_EQ(100, CSSNodeLayoutGetHeight(root_child0));
-
- ASSERT_EQ(-100, CSSNodeLayoutGetLeft(root_child0_child0));
- ASSERT_EQ(0, CSSNodeLayoutGetTop(root_child0_child0));
- ASSERT_EQ(200, CSSNodeLayoutGetWidth(root_child0_child0));
- ASSERT_EQ(200, CSSNodeLayoutGetHeight(root_child0_child0));
-
- CSSNodeFreeRecursive(root);
-}