Changeset 120308 in webkit
- Timestamp:
- Jun 14, 2012 3:20:51 AM (12 years ago)
- Location:
- trunk
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r120303 r120308 1 2012-06-14 David Barr <davidbarr@chromium.org> 2 3 Add dpcm to css3-images image-resolution 4 https://bugs.webkit.org/show_bug.cgi?id=85442 5 6 Reviewed by Tony Chang. 7 8 * fast/css/image-resolution/image-resolution-expected.txt: 9 * fast/css/image-resolution/image-resolution.html: 10 1 11 2012-06-14 Matt Falkenhagen <falken@chromium.org> 2 12 -
trunk/LayoutTests/fast/css/image-resolution/image-resolution-expected.txt
r120194 r120308 56 56 PASS img.offsetWidth is 2 57 57 PASS img.offsetHeight is 2 58 TEST "0dpcm" 59 PASS img.style.cssText is "" 60 TEST "37.7dpcm" 61 PASS img.style.cssText is "image-resolution: 37.7dpcm; " 62 PASS img.offsetWidth is 16 63 PASS img.offsetHeight is 16 64 TEST "75.5dpcm" 65 PASS img.style.cssText is "image-resolution: 75.5dpcm; " 66 PASS img.offsetWidth is 8 67 PASS img.offsetHeight is 8 68 TEST "113.3dpcm" 69 PASS img.style.cssText is "image-resolution: 113.3dpcm; " 70 PASS img.offsetWidth is 5 71 PASS img.offsetHeight is 5 72 TEST "151.1dpcm" 73 PASS img.style.cssText is "image-resolution: 151.1dpcm; " 74 PASS img.offsetWidth is 4 75 PASS img.offsetHeight is 4 58 76 TEST "" 59 77 PASS img.style.cssText is "" -
trunk/LayoutTests/fast/css/image-resolution/image-resolution.html
r120194 r120308 62 62 var resolutions = ['0dppx', '1dppx', '2dppx', '3dppx', '4dppx', 63 63 '0dpi', '96dpi', '192dpi', '288dpi', '384dpi', 64 '150dpi', '300dpi', '450dpi', '600dpi', '']; 64 '150dpi', '300dpi', '450dpi', '600dpi', 65 '0dpcm', '37.7dpcm', '75.5dpcm', '113.3dpcm', '151.1dpcm', '']; 65 66 66 67 img.onload = function() { -
trunk/Source/WebCore/ChangeLog
r120306 r120308 1 2012-06-14 David Barr <davidbarr@chromium.org> 2 3 Add dpcm to css3-images image-resolution 4 https://bugs.webkit.org/show_bug.cgi?id=85442 5 6 Reviewed by Tony Chang. 7 8 The css3-images module is at candidate recommendation. 9 http://www.w3.org/TR/2012/CR-css3-images-20120417/#the-image-resolution 10 11 No new tests; extended fast/css/image-resolution/image-resolution.html 12 13 * css/CSSGrammar.y: Add DPCM token and unary term. 14 * css/CSSParser.cpp: Extend range of units accepted for resolution and tokenize "dpcm". 15 (WebCore::CSSParser::validUnit): Accept CSSPrimitiveValue::CSS_DPCM. 16 (WebCore::CSSParser::createPrimitiveNumericValue): Accept CSSPrimitiveValue::CSS_DPCM. 17 (WebCore::unitFromString): Map "dpcm" to CSSPrimitiveValue::CSS_DPCM. 18 (WebCore::CSSParser::parseValidPrimitive): Accept CSSPrimitiveValue::CSS_DPCM. 19 (WebCore::CSSParser::detectNumberToken): Map "dpcm" to CSSPrimitiveValue::CSS_DPCM. 20 * css/CSSPrimitiveValue.cpp: Add CSSPrimitiveValue::CSS_DPCM as a numeric unit. 21 (WebCore::isValidCSSUnitTypeForDoubleConversion): Accept CSSPrimitiveValue::CSS_DPCM. 22 (WebCore::unitCategory): Map CSSPrimitiveValue::CSS_DPCM to CSSPrimitiveValue::UResolution. 23 (WebCore::conversionToCanonicalUnitsScaleFactor): Scale CSSPrimitiveValue::CSS_DPCM to CSSPrimitiveValue::CSS_DPPX. 24 (WebCore::CSSPrimitiveValue::customCssText): Format CSSPrimitiveValue::CSS_DPCM as "<num>dpcm". 25 (WebCore::CSSPrimitiveValue::cloneForCSSOM): Accept CSSPrimitiveValue::CSS_DPCM as numeric unit. 26 * css/CSSPrimitiveValue.h: Add CSSPrimitiveValue::CSS_DPCM. 27 1 28 2012-06-14 Ilya Tikhonovsky <loislo@chromium.org> 2 29 -
trunk/Source/WebCore/css/CSSGrammar.y
r120194 r120308 102 102 %} 103 103 104 %expect 6 2104 %expect 63 105 105 106 106 %nonassoc LOWEST_PREC … … 197 197 %token <number> DPPX 198 198 %token <number> DPI 199 %token <number> DPCM 199 200 200 201 %token <string> URI … … 1500 1501 | DPPX maybe_space { $$.id = 0; $$.fValue = $1; $$.unit = CSSPrimitiveValue::CSS_DPPX; } 1501 1502 | DPI maybe_space { $$.id = 0; $$.fValue = $1; $$.unit = CSSPrimitiveValue::CSS_DPI; } 1503 | DPCM maybe_space { $$.id = 0; $$.fValue = $1; $$.unit = CSSPrimitiveValue::CSS_DPCM; } 1502 1504 ; 1503 1505 -
trunk/Source/WebCore/css/CSSParser.cpp
r120194 r120308 1371 1371 case CSSPrimitiveValue::CSS_DPPX: 1372 1372 case CSSPrimitiveValue::CSS_DPI: 1373 case CSSPrimitiveValue::CSS_DPCM: 1373 1374 b = (unitflags & FResolution); 1374 1375 break; … … 1401 1402 || (value->unit >= CSSPrimitiveValue::CSS_TURN && value->unit <= CSSPrimitiveValue::CSS_REMS) 1402 1403 || (value->unit >= CSSPrimitiveValue::CSS_VW && value->unit <= CSSPrimitiveValue::CSS_VMIN) 1403 || (value->unit >= CSSPrimitiveValue::CSS_DPPX && value->unit <= CSSPrimitiveValue::CSS_DP I));1404 || (value->unit >= CSSPrimitiveValue::CSS_DPPX && value->unit <= CSSPrimitiveValue::CSS_DPCM)); 1404 1405 #else 1405 1406 ASSERT((value->unit >= CSSPrimitiveValue::CSS_NUMBER && value->unit <= CSSPrimitiveValue::CSS_KHZ) … … 1466 1467 if (equal(value->string, "dpi")) 1467 1468 return CSSPrimitiveValue::CSS_DPI; 1469 if (equal(value->string, "dpcm")) 1470 return CSSPrimitiveValue::CSS_DPCM; 1468 1471 #endif 1469 1472 … … 1521 1524 return createPrimitiveNumericValue(value); 1522 1525 #if ENABLE(CSS_IMAGE_RESOLUTION) 1523 if (value->unit >= CSSPrimitiveValue::CSS_DPPX && value->unit <= CSSPrimitiveValue::CSS_DP I)1526 if (value->unit >= CSSPrimitiveValue::CSS_DPPX && value->unit <= CSSPrimitiveValue::CSS_DPCM) 1524 1527 return createPrimitiveNumericValue(value); 1525 1528 #endif … … 8378 8381 #if ENABLE(CSS_IMAGE_RESOLUTION) 8379 8382 else if (length > 2 && isASCIIAlphaCaselessEqual(type[1], 'p')) { 8380 // There is a discussion about the name of this unit on www-style. 8381 // Keep this compile time guard in place until that is resolved. 8382 // http://lists.w3.org/Archives/Public/www-style/2012May/0915.html 8383 if (length == 4 && isASCIIAlphaCaselessEqual(type[2], 'p') && isASCIIAlphaCaselessEqual(type[3], 'x')) 8384 m_token = DPPX; 8385 else if (length == 3 && isASCIIAlphaCaselessEqual(type[2], 'i')) 8386 m_token = DPI; 8383 if (length == 4) { 8384 // There is a discussion about the name of this unit on www-style. 8385 // Keep this compile time guard in place until that is resolved. 8386 // http://lists.w3.org/Archives/Public/www-style/2012May/0915.html 8387 if (isASCIIAlphaCaselessEqual(type[2], 'p') && isASCIIAlphaCaselessEqual(type[3], 'x')) 8388 m_token = DPPX; 8389 else if (isASCIIAlphaCaselessEqual(type[2], 'c') && isASCIIAlphaCaselessEqual(type[3], 'm')) 8390 m_token = DPCM; 8391 } else if (length == 3 && isASCIIAlphaCaselessEqual(type[2], 'i')) 8392 m_token = DPI; 8387 8393 } 8388 8394 #endif -
trunk/Source/WebCore/css/CSSPrimitiveValue.cpp
r120194 r120308 64 64 case CSSPrimitiveValue:: CSS_DPPX: 65 65 case CSSPrimitiveValue:: CSS_DPI: 66 case CSSPrimitiveValue:: CSS_DPCM: 66 67 #endif 67 68 case CSSPrimitiveValue:: CSS_EMS: … … 93 94 case CSSPrimitiveValue:: CSS_DPPX: 94 95 case CSSPrimitiveValue:: CSS_DPI: 96 case CSSPrimitiveValue:: CSS_DPCM: 95 97 #endif 96 98 case CSSPrimitiveValue:: CSS_IDENT: … … 152 154 case CSSPrimitiveValue:: CSS_DPPX: 153 155 case CSSPrimitiveValue:: CSS_DPI: 156 case CSSPrimitiveValue:: CSS_DPCM: 154 157 return CSSPrimitiveValue::UResolution; 155 158 #endif … … 568 571 factor = cssPixelsPerInch / 2.54; // (2.54 cm/in) 569 572 break; 573 case CSSPrimitiveValue::CSS_DPCM: 574 factor = 2.54 / cssPixelsPerInch; // (2.54 cm/in) 575 break; 570 576 case CSSPrimitiveValue::CSS_MM: 571 577 factor = cssPixelsPerInch / 25.4; … … 864 870 case CSS_DPI: 865 871 text = formatNumber(m_value.num) + "dpi"; 872 break; 873 case CSS_DPCM: 874 text = formatNumber(m_value.num) + "dpcm"; 866 875 break; 867 876 #endif … … 1208 1217 case CSS_DPPX: 1209 1218 case CSS_DPI: 1219 case CSS_DPCM: 1210 1220 #endif 1211 1221 result = CSSPrimitiveValue::create(m_value.num, static_cast<UnitTypes>(m_primitiveUnitType)); -
trunk/Source/WebCore/css/CSSPrimitiveValue.h
r120194 r120308 98 98 CSS_DPPX = 29, 99 99 CSS_DPI = 30, 100 CSS_DPCM = 31, 100 101 CSS_PAIR = 100, // We envision this being exposed as a means of getting computed style values for pairs (border-spacing/radius, background-position, etc.) 101 102 CSS_DASHBOARD_REGION = 101, // FIXME: Dashboard region should not be a primitive value.
Note: See TracChangeset
for help on using the changeset viewer.