Changeset 195699 in webkit
- Timestamp:
- Jan 27, 2016 3:31:38 PM (8 years ago)
- Location:
- trunk
- Files:
-
- 3 added
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r195697 r195699 1 2016-01-27 Simon Fraser <simon.fraser@apple.com> 2 3 Support CSS3 Images values for the image-rendering property 4 https://bugs.webkit.org/show_bug.cgi?id=153556 5 6 Reviewed by Dean Jackson. 7 8 Update for new values. Add a new SVG shape-rendering test which would have 9 detected a bug I caused with an earlier patch. 10 11 * fast/css/image-rendering-parsing-expected.txt: 12 * fast/css/script-tests/image-rendering-parsing.js: 13 * svg/css/script-tests/shape-rendering-parsing.js: Added. 14 * svg/css/shape-rendering-parsing.html: Added. 15 1 16 2016-01-27 Brady Eidson <beidson@apple.com> 2 17 -
trunk/LayoutTests/fast/css/image-rendering-parsing-expected.txt
r148949 r195699 8 8 PASS getComputedStyle(div).getPropertyValue('image-rendering') is "auto" 9 9 PASS div.style.getPropertyCSSValue('image-rendering').cssValueType is CSSValue.CSS_PRIMITIVE_VALUE 10 PASS div.style.getPropertyValue('image-rendering') is "crisp-edges" 11 PASS getComputedStyle(div).getPropertyValue('image-rendering') is "crisp-edges" 12 PASS div.style.getPropertyCSSValue('image-rendering').cssValueType is CSSValue.CSS_PRIMITIVE_VALUE 13 PASS div.style.getPropertyValue('image-rendering') is "pixelated" 14 PASS getComputedStyle(div).getPropertyValue('image-rendering') is "pixelated" 15 PASS div.style.getPropertyCSSValue('image-rendering').cssValueType is CSSValue.CSS_PRIMITIVE_VALUE 10 16 PASS div.style.getPropertyValue('image-rendering') is "-webkit-crisp-edges" 11 PASS getComputedStyle(div).getPropertyValue('image-rendering') is " -webkit-crisp-edges"17 PASS getComputedStyle(div).getPropertyValue('image-rendering') is "crisp-edges" 12 18 PASS div.style.getPropertyCSSValue('image-rendering').cssValueType is CSSValue.CSS_PRIMITIVE_VALUE 13 19 PASS div.style.getPropertyValue('image-rendering') is "-webkit-optimize-contrast" 14 PASS getComputedStyle(div).getPropertyValue('image-rendering') is " -webkit-crisp-edges"20 PASS getComputedStyle(div).getPropertyValue('image-rendering') is "crisp-edges" 15 21 PASS div.style.getPropertyCSSValue('image-rendering').cssValueType is CSSValue.CSS_PRIMITIVE_VALUE 16 22 PASS div.style.getPropertyValue('image-rendering') is "optimizespeed" -
trunk/LayoutTests/fast/css/script-tests/image-rendering-parsing.js
r148949 r195699 15 15 16 16 testImageRendering('auto', 'auto'); 17 testImageRendering('-webkit-crisp-edges', '-webkit-crisp-edges'); 18 testImageRendering('-webkit-optimize-contrast', '-webkit-crisp-edges'); 17 testImageRendering('crisp-edges', 'crisp-edges'); 18 testImageRendering('pixelated', 'pixelated'); 19 testImageRendering('-webkit-crisp-edges', 'crisp-edges'); 20 testImageRendering('-webkit-optimize-contrast', 'crisp-edges'); 19 21 testImageRendering('optimizespeed', 'optimizespeed'); 20 22 testImageRendering('optimizequality', 'optimizequality'); -
trunk/Source/WebCore/ChangeLog
r195698 r195699 1 2016-01-27 Simon Fraser <simon.fraser@apple.com> 2 3 Support CSS3 Images values for the image-rendering property 4 https://bugs.webkit.org/show_bug.cgi?id=153556 5 6 Reviewed by Dean Jackson. 7 8 CSS3 Images has the following values for image-rendering: 9 auto, crisp-edges, pixelated 10 11 The old code supported: 12 optimizeSpeed, optimizeQuality, -webkit-crisp-edges, -webkit-optimize-contrast 13 14 Add support for the new values without prefixes. Map -webkit-crisp-edges to crisp-edges, 15 and -webkit-optimize-contrast to crisp-edges. Support pixelated which behaves like 16 crisp-edges (a low quality scale). 17 18 The spec says that optimizeQuality should behave like 'auto', but that would be 19 a behavior change since ImageQualityController::shouldPaintAtLowQuality() currently 20 uses it as a trigger to avoid low quality scaling, so don't change that for now. 21 22 No new tests, covered by fast/css/script-tests/image-rendering-parsing.js 23 24 * css/CSSParser.cpp: 25 (WebCore::isValidKeywordPropertyAndValue): 26 * css/CSSPrimitiveValueMappings.h: 27 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): 28 (WebCore::CSSPrimitiveValue::operator EImageRendering): 29 * css/CSSValueKeywords.in: 30 * rendering/ImageQualityController.cpp: 31 (WebCore::ImageQualityController::shouldPaintAtLowQuality): 32 * rendering/RenderHTMLCanvas.cpp: 33 (WebCore::RenderHTMLCanvas::paintReplaced): 34 * rendering/style/RenderStyleConstants.h: 35 * rendering/style/StyleRareInheritedData.h: Need another bit. 36 1 37 2016-01-27 Anders Carlsson <andersca@apple.com> 2 38 -
trunk/Source/WebCore/css/CSSParser.cpp
r195529 r195699 707 707 return true; 708 708 break; 709 case CSSPropertyImageRendering: // auto | optimizeSpeed | optimizeQuality | -webkit-crisp-edges | -webkit-optimize-contrast 709 case CSSPropertyImageRendering: // auto | optimizeSpeed | optimizeQuality | -webkit-crisp-edges | -webkit-optimize-contrast | crisp-edges | pixelated 710 // optimizeSpeed and optimizeQuality are deprecated; a user agent must accept them as valid values but must treat them as having the same behavior as pixelated and auto respectively. 710 711 if (valueID == CSSValueAuto || valueID == CSSValueOptimizespeed || valueID == CSSValueOptimizequality 711 || valueID == CSSValueWebkitCrispEdges || valueID == CSSValueWebkitOptimizeContrast )712 || valueID == CSSValueWebkitCrispEdges || valueID == CSSValueWebkitOptimizeContrast || valueID == CSSValueCrispEdges || valueID == CSSValuePixelated) 712 713 return true; 713 714 break; -
trunk/Source/WebCore/css/CSSPrimitiveValueMappings.h
r194496 r195699 4322 4322 } 4323 4323 4324 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EImageRendering e)4325 : CSSValue(PrimitiveClass) 4326 { 4327 m_primitiveUnitType = CSS_VALUE_ID; 4328 switch ( e) {4324 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EImageRendering imageRendering) 4325 : CSSValue(PrimitiveClass) 4326 { 4327 m_primitiveUnitType = CSS_VALUE_ID; 4328 switch (imageRendering) { 4329 4329 case ImageRenderingAuto: 4330 4330 m_value.valueID = CSSValueAuto; 4331 4331 break; 4332 4332 case ImageRenderingCrispEdges: 4333 m_value.valueID = CSSValueWebkitCrispEdges; 4333 m_value.valueID = CSSValueCrispEdges; 4334 break; 4335 case ImageRenderingPixelated: 4336 m_value.valueID = CSSValuePixelated; 4334 4337 break; 4335 4338 case ImageRenderingOptimizeSpeed: … … 4350 4353 return ImageRenderingAuto; 4351 4354 case CSSValueWebkitOptimizeContrast: 4355 case CSSValueCrispEdges: 4352 4356 case CSSValueWebkitCrispEdges: 4353 4357 return ImageRenderingCrispEdges; 4358 case CSSValuePixelated: 4359 return ImageRenderingPixelated; 4354 4360 case CSSValueOptimizespeed: 4355 4361 return ImageRenderingOptimizeSpeed; -
trunk/Source/WebCore/css/CSSValueKeywords.in
r194104 r195699 1051 1051 // image-rendering 1052 1052 // auto 1053 // optimizeSpeed 1054 optimizeQuality 1053 // optimizeSpeed (deprecated) 1054 optimizeQuality // ( deprecated) 1055 crisp-edges 1056 pixelated 1055 1057 -webkit-crisp-edges 1056 1058 -webkit-optimize-contrast -
trunk/Source/WebCore/rendering/ImageQualityController.cpp
r191049 r195699 110 110 case ImageRenderingOptimizeSpeed: 111 111 case ImageRenderingCrispEdges: 112 case ImageRenderingPixelated: 112 113 return true; 113 114 case ImageRenderingOptimizeQuality: 114 return false; 115 return false; // FIXME: CSS 3 Images says that optimizeQuality should behave like 'auto', but that prevents authors from overriding this low quality rendering behavior. 115 116 case ImageRenderingAuto: 116 117 break; -
trunk/Source/WebCore/rendering/RenderHTMLCanvas.cpp
r194496 r195699 85 85 } 86 86 87 bool useLowQualityScale = style().imageRendering() == ImageRenderingCrispEdges || style().imageRendering() == ImageRendering OptimizeSpeed;87 bool useLowQualityScale = style().imageRendering() == ImageRenderingCrispEdges || style().imageRendering() == ImageRenderingPixelated || style().imageRendering() == ImageRenderingOptimizeSpeed; 88 88 canvasElement().paint(context, replacedContentRect, useLowQualityScale); 89 89 } -
trunk/Source/WebCore/rendering/style/RenderStyleConstants.h
r195293 r195699 594 594 enum TextOverflow { TextOverflowClip = 0, TextOverflowEllipsis }; 595 595 596 enum EImageRendering { ImageRenderingAuto = 0, ImageRenderingOptimizeSpeed, ImageRenderingOptimizeQuality, ImageRenderingCrispEdges }; 596 enum EImageRendering { 597 ImageRenderingAuto = 0, 598 ImageRenderingOptimizeSpeed, 599 ImageRenderingOptimizeQuality, 600 ImageRenderingCrispEdges, 601 ImageRenderingPixelated 602 }; 597 603 598 604 enum ImageResolutionSource { ImageResolutionSpecified = 0, ImageResolutionFromImage }; -
trunk/Source/WebCore/rendering/style/StyleRareInheritedData.h
r192290 r195699 111 111 unsigned m_imageOrientation : 4; // ImageOrientationEnum 112 112 #endif 113 unsigned m_imageRendering : 2; // EImageRendering113 unsigned m_imageRendering : 3; // EImageRendering 114 114 unsigned m_lineSnap : 2; // LineSnap 115 115 unsigned m_lineAlign : 1; // LineAlign -
trunk/Source/WebInspectorUI/ChangeLog
r195645 r195699 1 2016-01-27 Simon Fraser <simon.fraser@apple.com> 2 3 Support CSS3 Images values for the image-rendering property 4 https://bugs.webkit.org/show_bug.cgi?id=153556 5 6 Reviewed by Dean Jackson. 7 8 Add "crisp-edges", "pixelated" to the suggestions for image-rendering. 9 10 * UserInterface/Models/CSSKeywordCompletions.js: 11 1 12 2016-01-26 Joseph Pecoraro <pecoraro@apple.com> 2 13 -
trunk/Source/WebInspectorUI/UserInterface/Models/CSSKeywordCompletions.js
r191715 r195699 393 393 ], 394 394 "image-rendering": [ 395 "auto", "optimizeSpeed", "optimizeQuality", "-webkit-crisp-edges", "-webkit-optimize-contrast" 395 "auto", "optimizeSpeed", "optimizeQuality", "-webkit-crisp-edges", "-webkit-optimize-contrast", "crisp-edges", "pixelated" 396 396 ], 397 397 "alignment-baseline": [
Note: See TracChangeset
for help on using the changeset viewer.