Ignore:
Timestamp:
Jun 14, 2012, 3:20:51 AM (13 years ago)
Author:
[email protected]
Message:

Add dpcm to css3-images image-resolution
https://bugs.webkit.org/show_bug.cgi?id=85442

Patch by David Barr <[email protected]> on 2012-06-14
Reviewed by Tony Chang.

Source/WebCore:

The css3-images module is at candidate recommendation.
http://www.w3.org/TR/2012/CR-css3-images-20120417/#the-image-resolution

No new tests; extended fast/css/image-resolution/image-resolution.html

  • css/CSSGrammar.y: Add DPCM token and unary term.
  • css/CSSParser.cpp: Extend range of units accepted for resolution and tokenize "dpcm".

(WebCore::CSSParser::validUnit): Accept CSSPrimitiveValue::CSS_DPCM.
(WebCore::CSSParser::createPrimitiveNumericValue): Accept CSSPrimitiveValue::CSS_DPCM.
(WebCore::unitFromString): Map "dpcm" to CSSPrimitiveValue::CSS_DPCM.
(WebCore::CSSParser::parseValidPrimitive): Accept CSSPrimitiveValue::CSS_DPCM.
(WebCore::CSSParser::detectNumberToken): Map "dpcm" to CSSPrimitiveValue::CSS_DPCM.

  • css/CSSPrimitiveValue.cpp: Add CSSPrimitiveValue::CSS_DPCM as a numeric unit.

(WebCore::isValidCSSUnitTypeForDoubleConversion): Accept CSSPrimitiveValue::CSS_DPCM.
(WebCore::unitCategory): Map CSSPrimitiveValue::CSS_DPCM to CSSPrimitiveValue::UResolution.
(WebCore::conversionToCanonicalUnitsScaleFactor): Scale CSSPrimitiveValue::CSS_DPCM to CSSPrimitiveValue::CSS_DPPX.
(WebCore::CSSPrimitiveValue::customCssText): Format CSSPrimitiveValue::CSS_DPCM as "<num>dpcm".
(WebCore::CSSPrimitiveValue::cloneForCSSOM): Accept CSSPrimitiveValue::CSS_DPCM as numeric unit.

  • css/CSSPrimitiveValue.h: Add CSSPrimitiveValue::CSS_DPCM.

LayoutTests:

  • fast/css/image-resolution/image-resolution-expected.txt:
  • fast/css/image-resolution/image-resolution.html:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/css/CSSPrimitiveValue.cpp

    r120194 r120308  
    6464    case CSSPrimitiveValue:: CSS_DPPX:
    6565    case CSSPrimitiveValue:: CSS_DPI:
     66    case CSSPrimitiveValue:: CSS_DPCM:
    6667#endif
    6768    case CSSPrimitiveValue:: CSS_EMS:
     
    9394    case CSSPrimitiveValue:: CSS_DPPX:
    9495    case CSSPrimitiveValue:: CSS_DPI:
     96    case CSSPrimitiveValue:: CSS_DPCM:
    9597#endif
    9698    case CSSPrimitiveValue:: CSS_IDENT:
     
    152154    case CSSPrimitiveValue:: CSS_DPPX:
    153155    case CSSPrimitiveValue:: CSS_DPI:
     156    case CSSPrimitiveValue:: CSS_DPCM:
    154157        return CSSPrimitiveValue::UResolution;
    155158#endif
     
    568571            factor = cssPixelsPerInch / 2.54; // (2.54 cm/in)
    569572            break;
     573        case CSSPrimitiveValue::CSS_DPCM:
     574            factor = 2.54 / cssPixelsPerInch; // (2.54 cm/in)
     575            break;
    570576        case CSSPrimitiveValue::CSS_MM:
    571577            factor = cssPixelsPerInch / 25.4;
     
    864870        case CSS_DPI:
    865871            text = formatNumber(m_value.num) + "dpi";
     872            break;
     873        case CSS_DPCM:
     874            text = formatNumber(m_value.num) + "dpcm";
    866875            break;
    867876#endif
     
    12081217    case CSS_DPPX:
    12091218    case CSS_DPI:
     1219    case CSS_DPCM:
    12101220#endif
    12111221        result = CSSPrimitiveValue::create(m_value.num, static_cast<UnitTypes>(m_primitiveUnitType));
Note: See TracChangeset for help on using the changeset viewer.