[css-grid] Remove compilation flag ENABLE_CSS_GRID_LAYOUT
[WebKit-https.git] / Source / WebCore / rendering / style / GridPosition.h
index 68f2f39..7190c4c 100644 (file)
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#ifndef GridPosition_h
-#define GridPosition_h
-
-#if ENABLE(CSS_GRID_LAYOUT)
+#pragma once
 
 #include <wtf/text/WTFString.h>
 
 namespace WebCore {
 
+// Recommended maximum size for both explicit and implicit grids.
+const int kGridMaxTracks = 1000000;
+
 enum GridPositionType {
     AutoPosition,
     ExplicitPosition, // [ <integer> || <string> ]
@@ -60,20 +60,6 @@ public:
     {
     }
 
-    static inline size_t adjustGridPositionForRowEndColumnEndSide(size_t resolvedPosition)
-    {
-        return resolvedPosition ? resolvedPosition - 1 : 0;
-    }
-
-    static size_t adjustGridPositionForSide(size_t resolvedPosition, GridPositionSide side)
-    {
-        // An item finishing on the N-th line belongs to the N-1-th cell.
-        if (side == ColumnEndSide || side == RowEndSide)
-            return adjustGridPositionForRowEndColumnEndSide(resolvedPosition);
-
-        return resolvedPosition;
-    }
-
     bool isPositive() const { return integerPosition() > 0; }
 
     GridPositionType type() const { return m_type; }
@@ -84,7 +70,7 @@ public:
     void setExplicitPosition(int position, const String& namedGridLine)
     {
         m_type = ExplicitPosition;
-        m_integerPosition = position;
+        setIntegerPosition(position);
         m_namedGridLine = namedGridLine;
     }
 
@@ -100,7 +86,7 @@ public:
     void setSpanPosition(int position, const String& namedGridLine)
     {
         m_type = SpanPosition;
-        m_integerPosition = position;
+        setIntegerPosition(position);
         m_namedGridLine = namedGridLine;
     }
 
@@ -137,14 +123,16 @@ public:
     {
         return isAuto() || isSpan();
     }
+
 private:
+    void setIntegerPosition(int integerPosition)
+    {
+        m_integerPosition = clampTo(integerPosition, -kGridMaxTracks, kGridMaxTracks);
+    }
+
     GridPositionType m_type;
     int m_integerPosition;
     String m_namedGridLine;
 };
 
 } // namespace WebCore
-
-#endif /* ENABLE(CSS_GRID_LAYOUT) */
-
-#endif // GridPosition_h