Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / platform / LayoutUnit.h
index 5606ef2..09c9d2b 100644 (file)
@@ -38,9 +38,9 @@
 #include <limits>
 #include <stdlib.h>
 
-namespace WebCore {
+namespace blink {
 
-#ifdef NDEBUG
+#if !ERROR_DISABLED
 
 #define REPORT_OVERFLOW(doesOverflow) ((void)0)
 
@@ -144,7 +144,7 @@ public:
             return (m_value + kFixedPointDenominator - 1) / kFixedPointDenominator;
         return toInt();
     }
-    int round() const
+    ALWAYS_INLINE int round() const
     {
         return saturatedAddition(rawValue(), kFixedPointDenominator / 2) >> kLayoutUnitFractionalBits;
     }
@@ -220,21 +220,14 @@ private:
         return ::fabs(value) <= std::numeric_limits<int>::max() / kFixedPointDenominator;
     }
 
-    inline void setValue(int value)
+    ALWAYS_INLINE void setValue(int value)
     {
-        if (value > intMaxForLayoutUnit)
-            m_value = std::numeric_limits<int>::max();
-        else if (value < intMinForLayoutUnit)
-            m_value = std::numeric_limits<int>::min();
-        else
-            m_value = value * kFixedPointDenominator;
+        m_value = saturatedSet(value, kLayoutUnitFractionalBits);
     }
+
     inline void setValue(unsigned value)
     {
-        if (value >= static_cast<unsigned>(intMaxForLayoutUnit))
-            m_value = std::numeric_limits<int>::max();
-        else
-            m_value = value * kFixedPointDenominator;
+        m_value = saturatedSet(value, kLayoutUnitFractionalBits);
     }
 
     int m_value;
@@ -569,7 +562,7 @@ inline LayoutUnit operator/(unsigned long long a, const LayoutUnit& b)
     return LayoutUnit(a) / b;
 }
 
-inline LayoutUnit operator+(const LayoutUnit& a, const LayoutUnit& b)
+ALWAYS_INLINE LayoutUnit operator+(const LayoutUnit& a, const LayoutUnit& b)
 {
     LayoutUnit returnVal;
     returnVal.setRawValue(saturatedAddition(a.rawValue(), b.rawValue()));
@@ -606,7 +599,7 @@ inline double operator+(const double a, const LayoutUnit& b)
     return a + b.toDouble();
 }
 
-inline LayoutUnit operator-(const LayoutUnit& a, const LayoutUnit& b)
+ALWAYS_INLINE LayoutUnit operator-(const LayoutUnit& a, const LayoutUnit& b)
 {
     LayoutUnit returnVal;
     returnVal.setRawValue(saturatedSubtraction(a.rawValue(), b.rawValue()));
@@ -799,6 +792,6 @@ inline LayoutUnit clampToLayoutUnit(LayoutUnit value, LayoutUnit min, LayoutUnit
     return value;
 }
 
-} // namespace WebCore
+} // namespace blink
 
 #endif // LayoutUnit_h