| 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 reserv
ed. |
| 4 * | 4 * |
| 5 * This library is free software; you can redistribute it and/or | 5 * This library is free software; you can redistribute it and/or |
| 6 * modify it under the terms of the GNU Library General Public | 6 * modify it under the terms of the GNU Library General Public |
| 7 * License as published by the Free Software Foundation; either | 7 * License as published by the Free Software Foundation; either |
| 8 * version 2 of the License, or (at your option) any later version. | 8 * version 2 of the License, or (at your option) any later version. |
| 9 * | 9 * |
| 10 * This library is distributed in the hope that it will be useful, | 10 * This library is distributed in the hope that it will be useful, |
| (...skipping 687 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 698 return result; | 698 return result; |
| 699 } | 699 } |
| 700 | 700 |
| 701 double CSSPrimitiveValue::getDoubleValue() const | 701 double CSSPrimitiveValue::getDoubleValue() const |
| 702 { | 702 { |
| 703 return m_primitiveUnitType != CSS_CALC ? m_value.num : m_value.calc->doubleV
alue(); | 703 return m_primitiveUnitType != CSS_CALC ? m_value.num : m_value.calc->doubleV
alue(); |
| 704 } | 704 } |
| 705 | 705 |
| 706 CSSPrimitiveValue::UnitTypes CSSPrimitiveValue::canonicalUnitTypeForCategory(Uni
tCategory category) | 706 CSSPrimitiveValue::UnitTypes CSSPrimitiveValue::canonicalUnitTypeForCategory(Uni
tCategory category) |
| 707 { | 707 { |
| 708 // The canonical unit type is chosen according to the way CSSParser::validUn
it() chooses the default unit | 708 // The canonical unit type is chosen according to the way BisonCSSParser::va
lidUnit() chooses the default unit |
| 709 // in each category (based on unitflags). | 709 // in each category (based on unitflags). |
| 710 switch (category) { | 710 switch (category) { |
| 711 case UNumber: | 711 case UNumber: |
| 712 return CSS_NUMBER; | 712 return CSS_NUMBER; |
| 713 case ULength: | 713 case ULength: |
| 714 return CSS_PX; | 714 return CSS_PX; |
| 715 case UPercent: | 715 case UPercent: |
| 716 return CSS_UNKNOWN; // Cannot convert between numbers and percent. | 716 return CSS_UNKNOWN; // Cannot convert between numbers and percent. |
| 717 case UTime: | 717 case UTime: |
| 718 return CSS_MS; | 718 return CSS_MS; |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 752 return false; | 752 return false; |
| 753 | 753 |
| 754 if (targetCategory == UNumber) { | 754 if (targetCategory == UNumber) { |
| 755 // We interpret conversion to CSS_NUMBER as conversion to a canonical un
it in this value's category. | 755 // We interpret conversion to CSS_NUMBER as conversion to a canonical un
it in this value's category. |
| 756 targetUnitType = canonicalUnitTypeForCategory(sourceCategory); | 756 targetUnitType = canonicalUnitTypeForCategory(sourceCategory); |
| 757 if (targetUnitType == CSS_UNKNOWN) | 757 if (targetUnitType == CSS_UNKNOWN) |
| 758 return false; | 758 return false; |
| 759 } | 759 } |
| 760 | 760 |
| 761 if (sourceUnitType == CSS_NUMBER) { | 761 if (sourceUnitType == CSS_NUMBER) { |
| 762 // We interpret conversion from CSS_NUMBER in the same way as CSSParser:
:validUnit() while using non-strict mode. | 762 // We interpret conversion from CSS_NUMBER in the same way as BisonCSSPa
rser::validUnit() while using non-strict mode. |
| 763 sourceUnitType = canonicalUnitTypeForCategory(targetCategory); | 763 sourceUnitType = canonicalUnitTypeForCategory(targetCategory); |
| 764 if (sourceUnitType == CSS_UNKNOWN) | 764 if (sourceUnitType == CSS_UNKNOWN) |
| 765 return false; | 765 return false; |
| 766 } | 766 } |
| 767 | 767 |
| 768 double convertedValue = getDoubleValue(); | 768 double convertedValue = getDoubleValue(); |
| 769 | 769 |
| 770 // First convert the value from m_primitiveUnitType to canonical type. | 770 // First convert the value from m_primitiveUnitType to canonical type. |
| 771 double factor = conversionToCanonicalUnitsScaleFactor(sourceUnitType); | 771 double factor = conversionToCanonicalUnitsScaleFactor(sourceUnitType); |
| 772 convertedValue *= factor; | 772 convertedValue *= factor; |
| (...skipping 527 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1300 return m_value.parserOperator == other.m_value.parserOperator; | 1300 return m_value.parserOperator == other.m_value.parserOperator; |
| 1301 case CSS_CALC: | 1301 case CSS_CALC: |
| 1302 return m_value.calc && other.m_value.calc && m_value.calc->equals(*other
.m_value.calc); | 1302 return m_value.calc && other.m_value.calc && m_value.calc->equals(*other
.m_value.calc); |
| 1303 case CSS_SHAPE: | 1303 case CSS_SHAPE: |
| 1304 return m_value.shape && other.m_value.shape && m_value.shape->equals(*ot
her.m_value.shape); | 1304 return m_value.shape && other.m_value.shape && m_value.shape->equals(*ot
her.m_value.shape); |
| 1305 } | 1305 } |
| 1306 return false; | 1306 return false; |
| 1307 } | 1307 } |
| 1308 | 1308 |
| 1309 } // namespace WebCore | 1309 } // namespace WebCore |
| OLD | NEW |