| OLD | NEW |
| 1 /* | 1 /* |
| 2 * (C) 1999-2003 Lars Knoll (knoll@kde.org) | 2 * (C) 1999-2003 Lars Knoll (knoll@kde.org) |
| 3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2012 Apple Inc. All rights reserv
ed. | 3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2012 Apple Inc. All rights |
| 4 * reserved. |
| 4 * | 5 * |
| 5 * This library is free software; you can redistribute it and/or | 6 * This library is free software; you can redistribute it and/or |
| 6 * modify it under the terms of the GNU Library General Public | 7 * modify it under the terms of the GNU Library General Public |
| 7 * License as published by the Free Software Foundation; either | 8 * License as published by the Free Software Foundation; either |
| 8 * version 2 of the License, or (at your option) any later version. | 9 * version 2 of the License, or (at your option) any later version. |
| 9 * | 10 * |
| 10 * This library is distributed in the hope that it will be useful, | 11 * This library is distributed in the hope that it will be useful, |
| 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| 13 * Library General Public License for more details. | 14 * Library General Public License for more details. |
| (...skipping 14 matching lines...) Expand all Loading... |
| 28 #include "platform/LayoutUnit.h" | 29 #include "platform/LayoutUnit.h" |
| 29 #include "wtf/SizeAssertions.h" | 30 #include "wtf/SizeAssertions.h" |
| 30 #include "wtf/StdLibExtras.h" | 31 #include "wtf/StdLibExtras.h" |
| 31 | 32 |
| 32 using namespace WTF; | 33 using namespace WTF; |
| 33 | 34 |
| 34 namespace blink { | 35 namespace blink { |
| 35 | 36 |
| 36 namespace { | 37 namespace { |
| 37 | 38 |
| 38 // Max/min values for CSS, needs to slightly smaller/larger than the true max/mi
n values to allow for rounding without overflowing. | 39 // Max/min values for CSS, needs to slightly smaller/larger than the true |
| 39 // Subtract two (rather than one) to allow for values to be converted to float a
nd back without exceeding the LayoutUnit::max. | 40 // max/min values to allow for rounding without overflowing. |
| 41 // Subtract two (rather than one) to allow for values to be converted to float |
| 42 // and back without exceeding the LayoutUnit::max. |
| 40 const int maxValueForCssLength = INT_MAX / kFixedPointDenominator - 2; | 43 const int maxValueForCssLength = INT_MAX / kFixedPointDenominator - 2; |
| 41 const int minValueForCssLength = INT_MIN / kFixedPointDenominator + 2; | 44 const int minValueForCssLength = INT_MIN / kFixedPointDenominator + 2; |
| 42 | 45 |
| 43 } // namespace | 46 } // namespace |
| 44 | 47 |
| 45 struct SameSizeAsCSSPrimitiveValue : CSSValue { | 48 struct SameSizeAsCSSPrimitiveValue : CSSValue { |
| 46 double num; | 49 double num; |
| 47 }; | 50 }; |
| 48 ASSERT_SIZE(CSSPrimitiveValue, SameSizeAsCSSPrimitiveValue); | 51 ASSERT_SIZE(CSSPrimitiveValue, SameSizeAsCSSPrimitiveValue); |
| 49 | 52 |
| (...skipping 346 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 396 ASSERT(isCalculated()); | 399 ASSERT(isCalculated()); |
| 397 return Length(cssCalcValue()->toCalcValue(conversionData)); | 400 return Length(cssCalcValue()->toCalcValue(conversionData)); |
| 398 } | 401 } |
| 399 | 402 |
| 400 double CSSPrimitiveValue::getDoubleValue() const { | 403 double CSSPrimitiveValue::getDoubleValue() const { |
| 401 return type() != UnitType::Calc ? m_value.num : m_value.calc->doubleValue(); | 404 return type() != UnitType::Calc ? m_value.num : m_value.calc->doubleValue(); |
| 402 } | 405 } |
| 403 | 406 |
| 404 CSSPrimitiveValue::UnitType CSSPrimitiveValue::canonicalUnitTypeForCategory( | 407 CSSPrimitiveValue::UnitType CSSPrimitiveValue::canonicalUnitTypeForCategory( |
| 405 UnitCategory category) { | 408 UnitCategory category) { |
| 406 // The canonical unit type is chosen according to the way CSSPropertyParser::v
alidUnit() chooses the default unit | 409 // The canonical unit type is chosen according to the way |
| 407 // in each category (based on unitflags). | 410 // CSSPropertyParser::validUnit() chooses the default unit in each category |
| 411 // (based on unitflags). |
| 408 switch (category) { | 412 switch (category) { |
| 409 case UNumber: | 413 case UNumber: |
| 410 return UnitType::Number; | 414 return UnitType::Number; |
| 411 case ULength: | 415 case ULength: |
| 412 return UnitType::Pixels; | 416 return UnitType::Pixels; |
| 413 case UPercent: | 417 case UPercent: |
| 414 return UnitType::Unknown; // Cannot convert between numbers and percent. | 418 return UnitType::Unknown; // Cannot convert between numbers and percent. |
| 415 case UTime: | 419 case UTime: |
| 416 return UnitType::Milliseconds; | 420 return UnitType::Milliseconds; |
| 417 case UAngle: | 421 case UAngle: |
| (...skipping 286 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 704 case UnitType::Calc: | 708 case UnitType::Calc: |
| 705 visitor->trace(m_value.calc); | 709 visitor->trace(m_value.calc); |
| 706 break; | 710 break; |
| 707 default: | 711 default: |
| 708 break; | 712 break; |
| 709 } | 713 } |
| 710 CSSValue::traceAfterDispatch(visitor); | 714 CSSValue::traceAfterDispatch(visitor); |
| 711 } | 715 } |
| 712 | 716 |
| 713 } // namespace blink | 717 } // namespace blink |
| OLD | NEW |