Title: [114066] branches/subpixellayout/Source/WebCore
Revision
114066
Author
[email protected]
Date
2012-04-12 18:29:45 -0700 (Thu, 12 Apr 2012)

Log Message

Add size_t versions of multiplication and division operators to FractionalLayoutUnit and remove unneeded casts.

Modified Paths

Diff

Modified: branches/subpixellayout/Source/WebCore/platform/FractionalLayoutUnit.h (114065 => 114066)


--- branches/subpixellayout/Source/WebCore/platform/FractionalLayoutUnit.h	2012-04-13 01:26:17 UTC (rev 114065)
+++ branches/subpixellayout/Source/WebCore/platform/FractionalLayoutUnit.h	2012-04-13 01:29:45 UTC (rev 114066)
@@ -36,6 +36,10 @@
 #include <math.h>
 #include <stdlib.h>
 
+#if PLATFORM(CHROMIUM) || PLATFORM(MAC) || PLATFORM(WIN) || PLATFORM(QT)
+#define LAYOUT_UNIT_SIZE_T
+#endif
+
 namespace WebCore {
 
 static const int kFixedPointDenominator = 60;
@@ -51,6 +55,9 @@
     FractionalLayoutUnit(float value) { ASSERT(isInBounds(value)); m_value = value * kFixedPointDenominator; }
     FractionalLayoutUnit(double value) { ASSERT(isInBounds(value)); m_value = value * kFixedPointDenominator; }
     FractionalLayoutUnit(const FractionalLayoutUnit& value) { m_value = value.rawValue(); }
+#ifdef LAYOUT_UNIT_SIZE_T
+    FractionalLayoutUnit(size_t value) { ASSERT(isInBounds(value)); m_value = static_cast<int>(value * kFixedPointDenominator); }
+#endif
 
     inline int toInt() const { return m_value / kFixedPointDenominator; }
     inline unsigned toUnsigned() const { ASSERT(m_value >= 0); return toInt(); }
@@ -126,6 +133,12 @@
     {
         return ::abs(value) <= std::numeric_limits<int>::max() / kFixedPointDenominator;
     }
+#ifdef LAYOUT_UNIT_SIZE_T
+    inline bool isInBounds(size_t value)
+    {
+        return value <= static_cast<size_t>(std::numeric_limits<int>::max()) / kFixedPointDenominator;
+    }
+#endif
 
     int m_value;
 };
@@ -331,6 +344,13 @@
     return a * FractionalLayoutUnit(b);
 }
 
+#ifdef LAYOUT_UNIT_SIZE_T
+inline FractionalLayoutUnit operator*(const FractionalLayoutUnit& a, size_t b)
+{
+    return a * FractionalLayoutUnit(b);
+}
+#endif
+
 inline FractionalLayoutUnit operator*(unsigned a, const FractionalLayoutUnit& b)
 {
     return FractionalLayoutUnit(a) * b;
@@ -351,6 +371,13 @@
     return a * b.toDouble();
 }
 
+#ifdef LAYOUT_UNIT_SIZE_T
+inline FractionalLayoutUnit operator*(size_t a, const FractionalLayoutUnit& b)
+{
+    return FractionalLayoutUnit(a) * b;
+}
+#endif
+
 inline FractionalLayoutUnit operator/(const FractionalLayoutUnit& a, const FractionalLayoutUnit& b)
 {
     FractionalLayoutUnit returnVal;
@@ -379,6 +406,13 @@
     return a / FractionalLayoutUnit(b);
 }
 
+#ifdef LAYOUT_UNIT_SIZE_T
+inline FractionalLayoutUnit operator/(const FractionalLayoutUnit& a, size_t b)
+{
+    return a / FractionalLayoutUnit(b);
+}
+#endif
+
 inline float operator/(const float a, const FractionalLayoutUnit& b)
 {
     return a / b.toFloat();
@@ -399,6 +433,13 @@
     return FractionalLayoutUnit(a) / b;
 }
 
+#ifdef LAYOUT_UNIT_SIZE_T
+inline FractionalLayoutUnit operator/(size_t a, const FractionalLayoutUnit& b)
+{
+    return FractionalLayoutUnit(a) / b;
+}
+#endif
+
 inline FractionalLayoutUnit operator+(const FractionalLayoutUnit& a, const FractionalLayoutUnit& b)
 {
     FractionalLayoutUnit returnVal;

Modified: branches/subpixellayout/Source/WebCore/rendering/RenderBlock.cpp (114065 => 114066)


--- branches/subpixellayout/Source/WebCore/rendering/RenderBlock.cpp	2012-04-13 01:26:17 UTC (rev 114065)
+++ branches/subpixellayout/Source/WebCore/rendering/RenderBlock.cpp	2012-04-13 01:29:45 UTC (rev 114066)
@@ -5186,11 +5186,11 @@
     ColumnInfo* colInfo = columnInfo();
 
     LayoutUnit logicalLeft = logicalLeftOffsetForContent();
-    unsigned colCount = columnCount(colInfo);
+    size_t colCount = columnCount(colInfo);
     LayoutUnit colLogicalWidth = colInfo->desiredColumnWidth();
     LayoutUnit colLogicalHeight = colInfo->columnHeight();
 
-    for (unsigned i = 0; i < colCount; ++i) {
+    for (size_t i = 0; i < colCount; ++i) {
         // Compute the edges for a given column in the block progression direction.
         LayoutRect sliceRect = LayoutRect(logicalLeft, borderBefore() + paddingBefore() + i * colLogicalHeight, colLogicalWidth, colLogicalHeight);
         if (!isHorizontalWritingMode())

Modified: branches/subpixellayout/Source/WebCore/rendering/RenderFlexibleBox.cpp (114065 => 114066)


--- branches/subpixellayout/Source/WebCore/rendering/RenderFlexibleBox.cpp	2012-04-13 01:26:17 UTC (rev 114065)
+++ branches/subpixellayout/Source/WebCore/rendering/RenderFlexibleBox.cpp	2012-04-13 01:29:45 UTC (rev 114066)
@@ -814,7 +814,7 @@
         return availableFreeSpace / 2;
     if (flexPack == PackDistribute) {
         if (availableFreeSpace > 0 && numberOfChildren)
-            return availableFreeSpace / static_cast<unsigned>(2 * numberOfChildren);
+            return availableFreeSpace / (2 * numberOfChildren);
         if (availableFreeSpace < 0)
             return availableFreeSpace / 2;
     }
@@ -825,9 +825,9 @@
 {
     if (availableFreeSpace > 0 && numberOfChildren > 1) {
         if (flexPack == PackJustify)
-            return availableFreeSpace / static_cast<unsigned>(numberOfChildren - 1);
+            return availableFreeSpace / (numberOfChildren - 1);
         if (flexPack == PackDistribute)
-            return availableFreeSpace / static_cast<unsigned>(numberOfChildren);
+            return availableFreeSpace / numberOfChildren;
     }
     return 0;
 }
@@ -977,7 +977,7 @@
         return availableFreeSpace / 2;
     if (linePack == LinePackDistribute) {
         if (availableFreeSpace > 0 && numberOfLines)
-            return availableFreeSpace / static_cast<unsigned>(2 * numberOfLines);
+            return availableFreeSpace / (2 * numberOfLines);
         if (availableFreeSpace < 0)
             return availableFreeSpace / 2;
     }
@@ -988,9 +988,9 @@
 {
     if (availableFreeSpace > 0 && numberOfLines > 1) {
         if (linePack == LinePackJustify)
-            return availableFreeSpace / static_cast<unsigned>(numberOfLines - 1);
+            return availableFreeSpace / (numberOfLines - 1);
         if (linePack == LinePackDistribute || linePack == LinePackStretch)
-            return availableFreeSpace / static_cast<unsigned>(numberOfLines);
+            return availableFreeSpace / numberOfLines;
     }
     return 0;
 }
@@ -1012,7 +1012,7 @@
             adjustAlignmentForChild(child, lineOffset);
 
         if (style()->flexLinePack() == LinePackStretch && availableCrossAxisSpace > 0)
-            lineContexts[lineNumber].crossAxisExtent += availableCrossAxisSpace / static_cast<unsigned>(lineContexts.size());
+            lineContexts[lineNumber].crossAxisExtent += availableCrossAxisSpace / lineContexts.size();
 
         lineOffset += linePackingSpaceBetweenChildren(availableCrossAxisSpace, style()->flexLinePack(), lineContexts.size());
     }
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to