haikuwebkit/LayoutTests/svg/paint-order/parsing-paint-order-expecte...

58 lines
3.1 KiB
Plaintext
Raw Permalink Normal View History

[SVG2] support paint-order presentation attribute https://bugs.webkit.org/show_bug.cgi?id=129373 Reviewed by Dean Jackson. Source/WebCore: Add support for the paint-order property from SVG2. The presentation attribute/CSS property allows to paint fill, stroke and markers in any order the author desires. Firefox supports this but behind a runtime flag. It is just activated in nightly builds by default. Chromium supports it behind a runtime flag as well but is going to ship it pretty soon. Tests: svg/paint-order/paint-order-fill-expected.svg svg/paint-order/paint-order-fill-markers-expected.svg svg/paint-order/paint-order-fill-markers.svg svg/paint-order/paint-order-fill.svg svg/paint-order/paint-order-markers-expected.svg svg/paint-order/paint-order-markers-stroke-expected.svg svg/paint-order/paint-order-markers-stroke.svg svg/paint-order/paint-order-markers.svg svg/paint-order/paint-order-normal-expected.svg svg/paint-order/paint-order-normal.svg svg/paint-order/paint-order-stroke-expected.svg svg/paint-order/paint-order-stroke-marker-expected.svg svg/paint-order/paint-order-stroke-marker.svg svg/paint-order/paint-order-stroke.svg svg/paint-order/paint-order-text-markers-expected.svg svg/paint-order/paint-order-text-markers.svg svg/paint-order/paint-order-text-normal-expected.svg svg/paint-order/paint-order-text-normal.svg svg/paint-order/paint-order-text-stroke-expected.svg svg/paint-order/paint-order-text-stroke.svg svg/paint-order/paint-order-text-tspan-001-expected.svg svg/paint-order/paint-order-text-tspan-001.svg svg/paint-order/paint-order-text-tspan-002-expected.svg svg/paint-order/paint-order-text-tspan-002.svg svg/paint-order/parsing-paint-order.html * css/CSSComputedStyleDeclaration.cpp: Computed style for paint-order. (WebCore::ComputedStyleExtractor::propertyValue): * css/CSSParser.h: * css/CSSPropertyNames.in: * css/CSSValueKeywords.in: * css/SVGCSSComputedStyleDeclaration.cpp: (WebCore::paintOrder): (WebCore::ComputedStyleExtractor::svgPropertyValue): * css/SVGCSSParser.cpp: Parse paint-order. Take care of serialization at this point already to get element style correct. (WebCore::CSSParser::parseSVGValue): (WebCore::CSSParser::parsePaintOrder): * css/SVGCSSStyleSelector.cpp: (WebCore::StyleResolver::applySVGProperty): * rendering/style/SVGRenderStyle.cpp: (WebCore::SVGRenderStyle::paintTypesForPaintOrder): (WebCore::SVGRenderStyle::diff): Repaint on change. * rendering/style/SVGRenderStyle.h: (WebCore::SVGRenderStyle::initialPaintOrder): (WebCore::SVGRenderStyle::setPaintOrder): (WebCore::SVGRenderStyle::paintOrder): (WebCore::SVGRenderStyle::InheritedFlags::operator==): (WebCore::SVGRenderStyle::setBitDefaults): * rendering/style/SVGRenderStyleDefs.h: * rendering/svg/RenderSVGShape.cpp: Change order of painting based on paint-order. (WebCore::RenderSVGShape::strokeShape): (WebCore::RenderSVGShape::fillStrokeMarkers): (WebCore::RenderSVGShape::paint): (WebCore::RenderSVGShape::addFocusRingRects): * rendering/svg/RenderSVGShape.h: * rendering/svg/SVGInlineTextBox.cpp: (WebCore::SVGInlineTextBox::paint): Ditto. * svg/SVGElement.cpp: Make property a presentation attribute. (WebCore::populateAttributeNameToCSSPropertyIDMap): (WebCore::populateAttributeNameToAnimatedPropertyTypeMap): * svg/svgattrs.in: Add paint-order attribute. LayoutTests: Test parsing and bahvior of the paint-order property. * svg/paint-order/paint-order-fill-expected.svg: Added. * svg/paint-order/paint-order-fill-markers-expected.svg: Added. * svg/paint-order/paint-order-fill-markers.svg: Added. * svg/paint-order/paint-order-fill.svg: Added. * svg/paint-order/paint-order-markers-expected.svg: Added. * svg/paint-order/paint-order-markers-stroke-expected.svg: Added. * svg/paint-order/paint-order-markers-stroke.svg: Added. * svg/paint-order/paint-order-markers.svg: Added. * svg/paint-order/paint-order-normal-expected.svg: Added. * svg/paint-order/paint-order-normal.svg: Added. * svg/paint-order/paint-order-stroke-expected.svg: Added. * svg/paint-order/paint-order-stroke-marker-expected.svg: Added. * svg/paint-order/paint-order-stroke-marker.svg: Added. * svg/paint-order/paint-order-stroke.svg: Added. * svg/paint-order/paint-order-text-markers-expected.svg: Added. * svg/paint-order/paint-order-text-markers.svg: Added. * svg/paint-order/paint-order-text-normal-expected.svg: Added. * svg/paint-order/paint-order-text-normal.svg: Added. * svg/paint-order/paint-order-text-stroke-expected.svg: Added. * svg/paint-order/paint-order-text-stroke.svg: Added. * svg/paint-order/paint-order-text-tspan-001-expected.svg: Added. * svg/paint-order/paint-order-text-tspan-001.svg: Added. * svg/paint-order/paint-order-text-tspan-002-expected.svg: Added. * svg/paint-order/paint-order-text-tspan-002.svg: Added. * svg/paint-order/parsing-paint-order-expected.txt: Added. * svg/paint-order/parsing-paint-order.html: Added. Canonical link: https://commits.webkit.org/148185@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@165595 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-03-14 02:25:41 +00:00
Test parsing, element style and computed style for paint-order property.
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
PASS innerStyle("paint-order", "normal") is "normal"
PASS innerStyle("paint-order", "fill") is "fill"
PASS innerStyle("paint-order", "stroke") is "stroke"
PASS innerStyle("paint-order", "markers") is "markers"
PASS innerStyle("paint-order", "fill stroke") is "fill"
PASS innerStyle("paint-order", "fill stroke markers") is "fill"
PASS innerStyle("paint-order", "fill markers") is "fill markers"
PASS innerStyle("paint-order", "fill markers stroke") is "fill markers"
PASS innerStyle("paint-order", "stroke fill") is "stroke"
PASS innerStyle("paint-order", "stroke fill markers") is "stroke"
PASS innerStyle("paint-order", "stroke markers") is "stroke markers"
PASS innerStyle("paint-order", "stroke markers fill") is "stroke markers"
PASS innerStyle("paint-order", "stroke fill") is "stroke"
PASS innerStyle("paint-order", "stroke fill markers") is "stroke"
PASS innerStyle("paint-order", "stroke markers") is "stroke markers"
PASS innerStyle("paint-order", "stroke markers fill") is "stroke markers"
PASS computedStyle("paint-order", "normal") is "normal"
PASS computedStyle("paint-order", "fill") is "fill"
PASS computedStyle("paint-order", "stroke") is "stroke"
PASS computedStyle("paint-order", "markers") is "markers"
PASS computedStyle("paint-order", "fill stroke") is "fill"
PASS computedStyle("paint-order", "fill stroke markers") is "fill"
PASS computedStyle("paint-order", "fill markers") is "fill markers"
PASS computedStyle("paint-order", "fill markers stroke") is "fill markers"
PASS computedStyle("paint-order", "stroke fill") is "stroke"
PASS computedStyle("paint-order", "stroke fill markers") is "stroke"
PASS computedStyle("paint-order", "stroke markers") is "stroke markers"
PASS computedStyle("paint-order", "stroke markers fill") is "stroke markers"
PASS computedStyle("paint-order", "stroke fill") is "stroke"
PASS computedStyle("paint-order", "stroke fill markers") is "stroke"
PASS computedStyle("paint-order", "stroke markers") is "stroke markers"
PASS computedStyle("paint-order", "stroke markers fill") is "stroke markers"
Returns inconsistent types for el.style.property and el.style.getPropertyValue('color') https://bugs.webkit.org/show_bug.cgi?id=147549 Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-08-03 Reviewed by Andreas Kling. Source/WebCore: Kudos to Greg Whitworth for finding this bug. Test: fast/css/getPropertyValue-returns-empty-on-missing-property.html * css/CSSStyleDeclaration.idl: Our definition was wrong. Current spec: http://www.w3.org/TR/cssom/#dom-cssstyledeclaration-getpropertyvalue Current draft: https://drafts.csswg.org/cssom/#dom-cssstyledeclaration-getpropertyvalue Gecko and EdgeHTML follow the spec. LayoutTests: The bug is very old, there were a lot of tests to update. The tests in css3/shapes are incorrect W3C tests. I only updated the expected results. The test fast/css/getPropertyValue-returns-empty-on-missing-property.html is the new one covering the bug fix. * animations/script-tests/trigger-parsing.js: (testTriggerRule): * animations/trigger-parsing-expected.txt: * animations/unprefixed-properties-expected.txt: * animations/unprefixed-properties.html: * css3/blending/blend-mode-property-parsing-invalid-expected.txt: * css3/blending/script-tests/blend-mode-property-parsing-invalid.js: (testInvalidFilterRule): * css3/filters/backdrop/backdropfilter-property-parsing-invalid-expected.txt: * css3/filters/backdrop/script-tests/backdropfilter-property-parsing-invalid.js: (testInvalidFilterRule): * css3/filters/filter-property-parsing-invalid-expected.txt: * css3/filters/script-tests/filter-property-parsing-invalid.js: (testInvalidFilterRule): * css3/shapes/shape-outside/values/shape-image-threshold-002-expected.txt: * css3/shapes/shape-outside/values/shape-image-threshold-003-expected.txt: * css3/shapes/shape-outside/values/shape-margin-004-expected.txt: * css3/shapes/shape-outside/values/shape-margin-005-expected.txt: * css3/shapes/shape-outside/values/shape-outside-circle-003-expected.txt: * css3/shapes/shape-outside/values/shape-outside-circle-006-expected.txt: * css3/shapes/shape-outside/values/shape-outside-circle-007-expected.txt: * css3/shapes/shape-outside/values/shape-outside-circle-008-expected.txt: * css3/shapes/shape-outside/values/shape-outside-ellipse-003-expected.txt: * css3/shapes/shape-outside/values/shape-outside-ellipse-006-expected.txt: * css3/shapes/shape-outside/values/shape-outside-ellipse-007-expected.txt: * css3/shapes/shape-outside/values/shape-outside-ellipse-008-expected.txt: * css3/shapes/shape-outside/values/shape-outside-inset-005-expected.txt: * css3/shapes/shape-outside/values/shape-outside-inset-006-expected.txt: * css3/shapes/shape-outside/values/shape-outside-inset-007-expected.txt: * css3/shapes/shape-outside/values/shape-outside-polygon-003-expected.txt: * fast/backgrounds/repeat/parsing-background-repeat-expected.txt: * fast/backgrounds/repeat/script-tests/parsing-background-repeat.js: * fast/backgrounds/size/parsing-background-size-values-expected.txt: * fast/backgrounds/size/resources/parsing-background-size-values.js: * fast/box-decoration-break/box-decoration-break-parsing-expected.txt: * fast/box-decoration-break/box-decoration-break-parsing.html: * fast/box-shadow/box-shadow-parsing-invalid-expected.txt: * fast/box-shadow/script-tests/box-shadow-parsing-invalid.js: (testInvalidFilterRule): * fast/css/background-clip-text-expected.txt: * fast/css/border-spacing-without-vertical-value.html: * fast/css/getPropertyValue-border-expected.txt: * fast/css/getPropertyValue-border.html: * fast/css/getPropertyValue-column-rule-expected.txt: * fast/css/getPropertyValue-column-rule.html: * fast/css/getPropertyValue-columns-expected.txt: * fast/css/getPropertyValue-columns.html: * fast/css/getPropertyValue-returns-empty-on-missing-property-expected.txt: Added. * fast/css/getPropertyValue-returns-empty-on-missing-property.html: Added. * fast/css/getPropertyValue-webkit-margin-collapse-expected.txt: * fast/css/getPropertyValue-webkit-margin-collapse.html: * fast/css/getPropertyValue-webkit-marquee-expected.txt: * fast/css/getPropertyValue-webkit-marquee.html: * fast/css/getPropertyValue-webkit-text-stroke-expected.txt: * fast/css/getPropertyValue-webkit-text-stroke.html: * fast/css/line-height-text-autosizing.html: * fast/css/outline-offset-parsing-expected.txt: * fast/css/parsing-color-correction-expected.txt: * fast/css/parsing-object-fit-expected.txt: * fast/css/parsing-object-fit.html: * fast/css/parsing-text-rendering-expected.txt: * fast/css/parsing-webkit-font-smoothing-expected.txt: * fast/css/resources/parsing-color-correction.js: * fast/css/resources/parsing-text-rendering.js: * fast/css/resources/parsing-webkit-font-smoothing.js: * fast/css/script-tests/background-clip-text.js: * fast/css/script-tests/outline-offset-parsing.js: * fast/css/script-tests/transform-origin-parsing.js: * fast/css/sticky/parsing-position-sticky-expected.txt: * fast/css/sticky/resources/parsing-position-sticky.js: * fast/css/transform-origin-parsing-expected.txt: * fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-roundtrip-expected.txt: * fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-roundtrip.html: * fast/css3-text/font-synthesis-parse-expected.txt: * fast/css3-text/font-synthesis-parse.html: * fast/filter-image/parse-filter-image-expected.txt: * fast/filter-image/parse-filter-image.html: * fast/masking/parsing-clip-path-shape-expected.txt: * fast/masking/parsing-clip-path-shape.html: * fast/masking/parsing-mask-expected.txt: * fast/masking/parsing-mask.html: * fast/shapes/css-shapes-disabled-expected.txt: * fast/shapes/css-shapes-disabled.html: * fast/shapes/parsing/parsing-shape-lengths-expected.txt: * fast/shapes/parsing/parsing-shape-lengths.html: * platform/mac/fast/css/dashboard-region-parser-expected.txt: * platform/mac/fast/css/dashboard-region-parser.html: * platform/mac/fast/text/trailing-word-parse-expected.txt: * platform/mac/fast/text/trailing-word-parse.html: * svg/paint-order/parsing-paint-order-expected.txt: * svg/paint-order/parsing-paint-order.html: Canonical link: https://commits.webkit.org/165676@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187813 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-08-04 05:14:43 +00:00
PASS innerStyle("paint-order", "normal fill") is ""
[SVG2] support paint-order presentation attribute https://bugs.webkit.org/show_bug.cgi?id=129373 Reviewed by Dean Jackson. Source/WebCore: Add support for the paint-order property from SVG2. The presentation attribute/CSS property allows to paint fill, stroke and markers in any order the author desires. Firefox supports this but behind a runtime flag. It is just activated in nightly builds by default. Chromium supports it behind a runtime flag as well but is going to ship it pretty soon. Tests: svg/paint-order/paint-order-fill-expected.svg svg/paint-order/paint-order-fill-markers-expected.svg svg/paint-order/paint-order-fill-markers.svg svg/paint-order/paint-order-fill.svg svg/paint-order/paint-order-markers-expected.svg svg/paint-order/paint-order-markers-stroke-expected.svg svg/paint-order/paint-order-markers-stroke.svg svg/paint-order/paint-order-markers.svg svg/paint-order/paint-order-normal-expected.svg svg/paint-order/paint-order-normal.svg svg/paint-order/paint-order-stroke-expected.svg svg/paint-order/paint-order-stroke-marker-expected.svg svg/paint-order/paint-order-stroke-marker.svg svg/paint-order/paint-order-stroke.svg svg/paint-order/paint-order-text-markers-expected.svg svg/paint-order/paint-order-text-markers.svg svg/paint-order/paint-order-text-normal-expected.svg svg/paint-order/paint-order-text-normal.svg svg/paint-order/paint-order-text-stroke-expected.svg svg/paint-order/paint-order-text-stroke.svg svg/paint-order/paint-order-text-tspan-001-expected.svg svg/paint-order/paint-order-text-tspan-001.svg svg/paint-order/paint-order-text-tspan-002-expected.svg svg/paint-order/paint-order-text-tspan-002.svg svg/paint-order/parsing-paint-order.html * css/CSSComputedStyleDeclaration.cpp: Computed style for paint-order. (WebCore::ComputedStyleExtractor::propertyValue): * css/CSSParser.h: * css/CSSPropertyNames.in: * css/CSSValueKeywords.in: * css/SVGCSSComputedStyleDeclaration.cpp: (WebCore::paintOrder): (WebCore::ComputedStyleExtractor::svgPropertyValue): * css/SVGCSSParser.cpp: Parse paint-order. Take care of serialization at this point already to get element style correct. (WebCore::CSSParser::parseSVGValue): (WebCore::CSSParser::parsePaintOrder): * css/SVGCSSStyleSelector.cpp: (WebCore::StyleResolver::applySVGProperty): * rendering/style/SVGRenderStyle.cpp: (WebCore::SVGRenderStyle::paintTypesForPaintOrder): (WebCore::SVGRenderStyle::diff): Repaint on change. * rendering/style/SVGRenderStyle.h: (WebCore::SVGRenderStyle::initialPaintOrder): (WebCore::SVGRenderStyle::setPaintOrder): (WebCore::SVGRenderStyle::paintOrder): (WebCore::SVGRenderStyle::InheritedFlags::operator==): (WebCore::SVGRenderStyle::setBitDefaults): * rendering/style/SVGRenderStyleDefs.h: * rendering/svg/RenderSVGShape.cpp: Change order of painting based on paint-order. (WebCore::RenderSVGShape::strokeShape): (WebCore::RenderSVGShape::fillStrokeMarkers): (WebCore::RenderSVGShape::paint): (WebCore::RenderSVGShape::addFocusRingRects): * rendering/svg/RenderSVGShape.h: * rendering/svg/SVGInlineTextBox.cpp: (WebCore::SVGInlineTextBox::paint): Ditto. * svg/SVGElement.cpp: Make property a presentation attribute. (WebCore::populateAttributeNameToCSSPropertyIDMap): (WebCore::populateAttributeNameToAnimatedPropertyTypeMap): * svg/svgattrs.in: Add paint-order attribute. LayoutTests: Test parsing and bahvior of the paint-order property. * svg/paint-order/paint-order-fill-expected.svg: Added. * svg/paint-order/paint-order-fill-markers-expected.svg: Added. * svg/paint-order/paint-order-fill-markers.svg: Added. * svg/paint-order/paint-order-fill.svg: Added. * svg/paint-order/paint-order-markers-expected.svg: Added. * svg/paint-order/paint-order-markers-stroke-expected.svg: Added. * svg/paint-order/paint-order-markers-stroke.svg: Added. * svg/paint-order/paint-order-markers.svg: Added. * svg/paint-order/paint-order-normal-expected.svg: Added. * svg/paint-order/paint-order-normal.svg: Added. * svg/paint-order/paint-order-stroke-expected.svg: Added. * svg/paint-order/paint-order-stroke-marker-expected.svg: Added. * svg/paint-order/paint-order-stroke-marker.svg: Added. * svg/paint-order/paint-order-stroke.svg: Added. * svg/paint-order/paint-order-text-markers-expected.svg: Added. * svg/paint-order/paint-order-text-markers.svg: Added. * svg/paint-order/paint-order-text-normal-expected.svg: Added. * svg/paint-order/paint-order-text-normal.svg: Added. * svg/paint-order/paint-order-text-stroke-expected.svg: Added. * svg/paint-order/paint-order-text-stroke.svg: Added. * svg/paint-order/paint-order-text-tspan-001-expected.svg: Added. * svg/paint-order/paint-order-text-tspan-001.svg: Added. * svg/paint-order/paint-order-text-tspan-002-expected.svg: Added. * svg/paint-order/paint-order-text-tspan-002.svg: Added. * svg/paint-order/parsing-paint-order-expected.txt: Added. * svg/paint-order/parsing-paint-order.html: Added. Canonical link: https://commits.webkit.org/148185@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@165595 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-03-14 02:25:41 +00:00
PASS computedStyle("paint-order", "normal fill") is "normal"
Returns inconsistent types for el.style.property and el.style.getPropertyValue('color') https://bugs.webkit.org/show_bug.cgi?id=147549 Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-08-03 Reviewed by Andreas Kling. Source/WebCore: Kudos to Greg Whitworth for finding this bug. Test: fast/css/getPropertyValue-returns-empty-on-missing-property.html * css/CSSStyleDeclaration.idl: Our definition was wrong. Current spec: http://www.w3.org/TR/cssom/#dom-cssstyledeclaration-getpropertyvalue Current draft: https://drafts.csswg.org/cssom/#dom-cssstyledeclaration-getpropertyvalue Gecko and EdgeHTML follow the spec. LayoutTests: The bug is very old, there were a lot of tests to update. The tests in css3/shapes are incorrect W3C tests. I only updated the expected results. The test fast/css/getPropertyValue-returns-empty-on-missing-property.html is the new one covering the bug fix. * animations/script-tests/trigger-parsing.js: (testTriggerRule): * animations/trigger-parsing-expected.txt: * animations/unprefixed-properties-expected.txt: * animations/unprefixed-properties.html: * css3/blending/blend-mode-property-parsing-invalid-expected.txt: * css3/blending/script-tests/blend-mode-property-parsing-invalid.js: (testInvalidFilterRule): * css3/filters/backdrop/backdropfilter-property-parsing-invalid-expected.txt: * css3/filters/backdrop/script-tests/backdropfilter-property-parsing-invalid.js: (testInvalidFilterRule): * css3/filters/filter-property-parsing-invalid-expected.txt: * css3/filters/script-tests/filter-property-parsing-invalid.js: (testInvalidFilterRule): * css3/shapes/shape-outside/values/shape-image-threshold-002-expected.txt: * css3/shapes/shape-outside/values/shape-image-threshold-003-expected.txt: * css3/shapes/shape-outside/values/shape-margin-004-expected.txt: * css3/shapes/shape-outside/values/shape-margin-005-expected.txt: * css3/shapes/shape-outside/values/shape-outside-circle-003-expected.txt: * css3/shapes/shape-outside/values/shape-outside-circle-006-expected.txt: * css3/shapes/shape-outside/values/shape-outside-circle-007-expected.txt: * css3/shapes/shape-outside/values/shape-outside-circle-008-expected.txt: * css3/shapes/shape-outside/values/shape-outside-ellipse-003-expected.txt: * css3/shapes/shape-outside/values/shape-outside-ellipse-006-expected.txt: * css3/shapes/shape-outside/values/shape-outside-ellipse-007-expected.txt: * css3/shapes/shape-outside/values/shape-outside-ellipse-008-expected.txt: * css3/shapes/shape-outside/values/shape-outside-inset-005-expected.txt: * css3/shapes/shape-outside/values/shape-outside-inset-006-expected.txt: * css3/shapes/shape-outside/values/shape-outside-inset-007-expected.txt: * css3/shapes/shape-outside/values/shape-outside-polygon-003-expected.txt: * fast/backgrounds/repeat/parsing-background-repeat-expected.txt: * fast/backgrounds/repeat/script-tests/parsing-background-repeat.js: * fast/backgrounds/size/parsing-background-size-values-expected.txt: * fast/backgrounds/size/resources/parsing-background-size-values.js: * fast/box-decoration-break/box-decoration-break-parsing-expected.txt: * fast/box-decoration-break/box-decoration-break-parsing.html: * fast/box-shadow/box-shadow-parsing-invalid-expected.txt: * fast/box-shadow/script-tests/box-shadow-parsing-invalid.js: (testInvalidFilterRule): * fast/css/background-clip-text-expected.txt: * fast/css/border-spacing-without-vertical-value.html: * fast/css/getPropertyValue-border-expected.txt: * fast/css/getPropertyValue-border.html: * fast/css/getPropertyValue-column-rule-expected.txt: * fast/css/getPropertyValue-column-rule.html: * fast/css/getPropertyValue-columns-expected.txt: * fast/css/getPropertyValue-columns.html: * fast/css/getPropertyValue-returns-empty-on-missing-property-expected.txt: Added. * fast/css/getPropertyValue-returns-empty-on-missing-property.html: Added. * fast/css/getPropertyValue-webkit-margin-collapse-expected.txt: * fast/css/getPropertyValue-webkit-margin-collapse.html: * fast/css/getPropertyValue-webkit-marquee-expected.txt: * fast/css/getPropertyValue-webkit-marquee.html: * fast/css/getPropertyValue-webkit-text-stroke-expected.txt: * fast/css/getPropertyValue-webkit-text-stroke.html: * fast/css/line-height-text-autosizing.html: * fast/css/outline-offset-parsing-expected.txt: * fast/css/parsing-color-correction-expected.txt: * fast/css/parsing-object-fit-expected.txt: * fast/css/parsing-object-fit.html: * fast/css/parsing-text-rendering-expected.txt: * fast/css/parsing-webkit-font-smoothing-expected.txt: * fast/css/resources/parsing-color-correction.js: * fast/css/resources/parsing-text-rendering.js: * fast/css/resources/parsing-webkit-font-smoothing.js: * fast/css/script-tests/background-clip-text.js: * fast/css/script-tests/outline-offset-parsing.js: * fast/css/script-tests/transform-origin-parsing.js: * fast/css/sticky/parsing-position-sticky-expected.txt: * fast/css/sticky/resources/parsing-position-sticky.js: * fast/css/transform-origin-parsing-expected.txt: * fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-roundtrip-expected.txt: * fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-roundtrip.html: * fast/css3-text/font-synthesis-parse-expected.txt: * fast/css3-text/font-synthesis-parse.html: * fast/filter-image/parse-filter-image-expected.txt: * fast/filter-image/parse-filter-image.html: * fast/masking/parsing-clip-path-shape-expected.txt: * fast/masking/parsing-clip-path-shape.html: * fast/masking/parsing-mask-expected.txt: * fast/masking/parsing-mask.html: * fast/shapes/css-shapes-disabled-expected.txt: * fast/shapes/css-shapes-disabled.html: * fast/shapes/parsing/parsing-shape-lengths-expected.txt: * fast/shapes/parsing/parsing-shape-lengths.html: * platform/mac/fast/css/dashboard-region-parser-expected.txt: * platform/mac/fast/css/dashboard-region-parser.html: * platform/mac/fast/text/trailing-word-parse-expected.txt: * platform/mac/fast/text/trailing-word-parse.html: * svg/paint-order/parsing-paint-order-expected.txt: * svg/paint-order/parsing-paint-order.html: Canonical link: https://commits.webkit.org/165676@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187813 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-08-04 05:14:43 +00:00
PASS innerStyle("paint-order", "normal stroke") is ""
[SVG2] support paint-order presentation attribute https://bugs.webkit.org/show_bug.cgi?id=129373 Reviewed by Dean Jackson. Source/WebCore: Add support for the paint-order property from SVG2. The presentation attribute/CSS property allows to paint fill, stroke and markers in any order the author desires. Firefox supports this but behind a runtime flag. It is just activated in nightly builds by default. Chromium supports it behind a runtime flag as well but is going to ship it pretty soon. Tests: svg/paint-order/paint-order-fill-expected.svg svg/paint-order/paint-order-fill-markers-expected.svg svg/paint-order/paint-order-fill-markers.svg svg/paint-order/paint-order-fill.svg svg/paint-order/paint-order-markers-expected.svg svg/paint-order/paint-order-markers-stroke-expected.svg svg/paint-order/paint-order-markers-stroke.svg svg/paint-order/paint-order-markers.svg svg/paint-order/paint-order-normal-expected.svg svg/paint-order/paint-order-normal.svg svg/paint-order/paint-order-stroke-expected.svg svg/paint-order/paint-order-stroke-marker-expected.svg svg/paint-order/paint-order-stroke-marker.svg svg/paint-order/paint-order-stroke.svg svg/paint-order/paint-order-text-markers-expected.svg svg/paint-order/paint-order-text-markers.svg svg/paint-order/paint-order-text-normal-expected.svg svg/paint-order/paint-order-text-normal.svg svg/paint-order/paint-order-text-stroke-expected.svg svg/paint-order/paint-order-text-stroke.svg svg/paint-order/paint-order-text-tspan-001-expected.svg svg/paint-order/paint-order-text-tspan-001.svg svg/paint-order/paint-order-text-tspan-002-expected.svg svg/paint-order/paint-order-text-tspan-002.svg svg/paint-order/parsing-paint-order.html * css/CSSComputedStyleDeclaration.cpp: Computed style for paint-order. (WebCore::ComputedStyleExtractor::propertyValue): * css/CSSParser.h: * css/CSSPropertyNames.in: * css/CSSValueKeywords.in: * css/SVGCSSComputedStyleDeclaration.cpp: (WebCore::paintOrder): (WebCore::ComputedStyleExtractor::svgPropertyValue): * css/SVGCSSParser.cpp: Parse paint-order. Take care of serialization at this point already to get element style correct. (WebCore::CSSParser::parseSVGValue): (WebCore::CSSParser::parsePaintOrder): * css/SVGCSSStyleSelector.cpp: (WebCore::StyleResolver::applySVGProperty): * rendering/style/SVGRenderStyle.cpp: (WebCore::SVGRenderStyle::paintTypesForPaintOrder): (WebCore::SVGRenderStyle::diff): Repaint on change. * rendering/style/SVGRenderStyle.h: (WebCore::SVGRenderStyle::initialPaintOrder): (WebCore::SVGRenderStyle::setPaintOrder): (WebCore::SVGRenderStyle::paintOrder): (WebCore::SVGRenderStyle::InheritedFlags::operator==): (WebCore::SVGRenderStyle::setBitDefaults): * rendering/style/SVGRenderStyleDefs.h: * rendering/svg/RenderSVGShape.cpp: Change order of painting based on paint-order. (WebCore::RenderSVGShape::strokeShape): (WebCore::RenderSVGShape::fillStrokeMarkers): (WebCore::RenderSVGShape::paint): (WebCore::RenderSVGShape::addFocusRingRects): * rendering/svg/RenderSVGShape.h: * rendering/svg/SVGInlineTextBox.cpp: (WebCore::SVGInlineTextBox::paint): Ditto. * svg/SVGElement.cpp: Make property a presentation attribute. (WebCore::populateAttributeNameToCSSPropertyIDMap): (WebCore::populateAttributeNameToAnimatedPropertyTypeMap): * svg/svgattrs.in: Add paint-order attribute. LayoutTests: Test parsing and bahvior of the paint-order property. * svg/paint-order/paint-order-fill-expected.svg: Added. * svg/paint-order/paint-order-fill-markers-expected.svg: Added. * svg/paint-order/paint-order-fill-markers.svg: Added. * svg/paint-order/paint-order-fill.svg: Added. * svg/paint-order/paint-order-markers-expected.svg: Added. * svg/paint-order/paint-order-markers-stroke-expected.svg: Added. * svg/paint-order/paint-order-markers-stroke.svg: Added. * svg/paint-order/paint-order-markers.svg: Added. * svg/paint-order/paint-order-normal-expected.svg: Added. * svg/paint-order/paint-order-normal.svg: Added. * svg/paint-order/paint-order-stroke-expected.svg: Added. * svg/paint-order/paint-order-stroke-marker-expected.svg: Added. * svg/paint-order/paint-order-stroke-marker.svg: Added. * svg/paint-order/paint-order-stroke.svg: Added. * svg/paint-order/paint-order-text-markers-expected.svg: Added. * svg/paint-order/paint-order-text-markers.svg: Added. * svg/paint-order/paint-order-text-normal-expected.svg: Added. * svg/paint-order/paint-order-text-normal.svg: Added. * svg/paint-order/paint-order-text-stroke-expected.svg: Added. * svg/paint-order/paint-order-text-stroke.svg: Added. * svg/paint-order/paint-order-text-tspan-001-expected.svg: Added. * svg/paint-order/paint-order-text-tspan-001.svg: Added. * svg/paint-order/paint-order-text-tspan-002-expected.svg: Added. * svg/paint-order/paint-order-text-tspan-002.svg: Added. * svg/paint-order/parsing-paint-order-expected.txt: Added. * svg/paint-order/parsing-paint-order.html: Added. Canonical link: https://commits.webkit.org/148185@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@165595 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-03-14 02:25:41 +00:00
PASS computedStyle("paint-order", "normal stroke") is "normal"
Returns inconsistent types for el.style.property and el.style.getPropertyValue('color') https://bugs.webkit.org/show_bug.cgi?id=147549 Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-08-03 Reviewed by Andreas Kling. Source/WebCore: Kudos to Greg Whitworth for finding this bug. Test: fast/css/getPropertyValue-returns-empty-on-missing-property.html * css/CSSStyleDeclaration.idl: Our definition was wrong. Current spec: http://www.w3.org/TR/cssom/#dom-cssstyledeclaration-getpropertyvalue Current draft: https://drafts.csswg.org/cssom/#dom-cssstyledeclaration-getpropertyvalue Gecko and EdgeHTML follow the spec. LayoutTests: The bug is very old, there were a lot of tests to update. The tests in css3/shapes are incorrect W3C tests. I only updated the expected results. The test fast/css/getPropertyValue-returns-empty-on-missing-property.html is the new one covering the bug fix. * animations/script-tests/trigger-parsing.js: (testTriggerRule): * animations/trigger-parsing-expected.txt: * animations/unprefixed-properties-expected.txt: * animations/unprefixed-properties.html: * css3/blending/blend-mode-property-parsing-invalid-expected.txt: * css3/blending/script-tests/blend-mode-property-parsing-invalid.js: (testInvalidFilterRule): * css3/filters/backdrop/backdropfilter-property-parsing-invalid-expected.txt: * css3/filters/backdrop/script-tests/backdropfilter-property-parsing-invalid.js: (testInvalidFilterRule): * css3/filters/filter-property-parsing-invalid-expected.txt: * css3/filters/script-tests/filter-property-parsing-invalid.js: (testInvalidFilterRule): * css3/shapes/shape-outside/values/shape-image-threshold-002-expected.txt: * css3/shapes/shape-outside/values/shape-image-threshold-003-expected.txt: * css3/shapes/shape-outside/values/shape-margin-004-expected.txt: * css3/shapes/shape-outside/values/shape-margin-005-expected.txt: * css3/shapes/shape-outside/values/shape-outside-circle-003-expected.txt: * css3/shapes/shape-outside/values/shape-outside-circle-006-expected.txt: * css3/shapes/shape-outside/values/shape-outside-circle-007-expected.txt: * css3/shapes/shape-outside/values/shape-outside-circle-008-expected.txt: * css3/shapes/shape-outside/values/shape-outside-ellipse-003-expected.txt: * css3/shapes/shape-outside/values/shape-outside-ellipse-006-expected.txt: * css3/shapes/shape-outside/values/shape-outside-ellipse-007-expected.txt: * css3/shapes/shape-outside/values/shape-outside-ellipse-008-expected.txt: * css3/shapes/shape-outside/values/shape-outside-inset-005-expected.txt: * css3/shapes/shape-outside/values/shape-outside-inset-006-expected.txt: * css3/shapes/shape-outside/values/shape-outside-inset-007-expected.txt: * css3/shapes/shape-outside/values/shape-outside-polygon-003-expected.txt: * fast/backgrounds/repeat/parsing-background-repeat-expected.txt: * fast/backgrounds/repeat/script-tests/parsing-background-repeat.js: * fast/backgrounds/size/parsing-background-size-values-expected.txt: * fast/backgrounds/size/resources/parsing-background-size-values.js: * fast/box-decoration-break/box-decoration-break-parsing-expected.txt: * fast/box-decoration-break/box-decoration-break-parsing.html: * fast/box-shadow/box-shadow-parsing-invalid-expected.txt: * fast/box-shadow/script-tests/box-shadow-parsing-invalid.js: (testInvalidFilterRule): * fast/css/background-clip-text-expected.txt: * fast/css/border-spacing-without-vertical-value.html: * fast/css/getPropertyValue-border-expected.txt: * fast/css/getPropertyValue-border.html: * fast/css/getPropertyValue-column-rule-expected.txt: * fast/css/getPropertyValue-column-rule.html: * fast/css/getPropertyValue-columns-expected.txt: * fast/css/getPropertyValue-columns.html: * fast/css/getPropertyValue-returns-empty-on-missing-property-expected.txt: Added. * fast/css/getPropertyValue-returns-empty-on-missing-property.html: Added. * fast/css/getPropertyValue-webkit-margin-collapse-expected.txt: * fast/css/getPropertyValue-webkit-margin-collapse.html: * fast/css/getPropertyValue-webkit-marquee-expected.txt: * fast/css/getPropertyValue-webkit-marquee.html: * fast/css/getPropertyValue-webkit-text-stroke-expected.txt: * fast/css/getPropertyValue-webkit-text-stroke.html: * fast/css/line-height-text-autosizing.html: * fast/css/outline-offset-parsing-expected.txt: * fast/css/parsing-color-correction-expected.txt: * fast/css/parsing-object-fit-expected.txt: * fast/css/parsing-object-fit.html: * fast/css/parsing-text-rendering-expected.txt: * fast/css/parsing-webkit-font-smoothing-expected.txt: * fast/css/resources/parsing-color-correction.js: * fast/css/resources/parsing-text-rendering.js: * fast/css/resources/parsing-webkit-font-smoothing.js: * fast/css/script-tests/background-clip-text.js: * fast/css/script-tests/outline-offset-parsing.js: * fast/css/script-tests/transform-origin-parsing.js: * fast/css/sticky/parsing-position-sticky-expected.txt: * fast/css/sticky/resources/parsing-position-sticky.js: * fast/css/transform-origin-parsing-expected.txt: * fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-roundtrip-expected.txt: * fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-roundtrip.html: * fast/css3-text/font-synthesis-parse-expected.txt: * fast/css3-text/font-synthesis-parse.html: * fast/filter-image/parse-filter-image-expected.txt: * fast/filter-image/parse-filter-image.html: * fast/masking/parsing-clip-path-shape-expected.txt: * fast/masking/parsing-clip-path-shape.html: * fast/masking/parsing-mask-expected.txt: * fast/masking/parsing-mask.html: * fast/shapes/css-shapes-disabled-expected.txt: * fast/shapes/css-shapes-disabled.html: * fast/shapes/parsing/parsing-shape-lengths-expected.txt: * fast/shapes/parsing/parsing-shape-lengths.html: * platform/mac/fast/css/dashboard-region-parser-expected.txt: * platform/mac/fast/css/dashboard-region-parser.html: * platform/mac/fast/text/trailing-word-parse-expected.txt: * platform/mac/fast/text/trailing-word-parse.html: * svg/paint-order/parsing-paint-order-expected.txt: * svg/paint-order/parsing-paint-order.html: Canonical link: https://commits.webkit.org/165676@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187813 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-08-04 05:14:43 +00:00
PASS innerStyle("paint-order", "normal markers") is ""
[SVG2] support paint-order presentation attribute https://bugs.webkit.org/show_bug.cgi?id=129373 Reviewed by Dean Jackson. Source/WebCore: Add support for the paint-order property from SVG2. The presentation attribute/CSS property allows to paint fill, stroke and markers in any order the author desires. Firefox supports this but behind a runtime flag. It is just activated in nightly builds by default. Chromium supports it behind a runtime flag as well but is going to ship it pretty soon. Tests: svg/paint-order/paint-order-fill-expected.svg svg/paint-order/paint-order-fill-markers-expected.svg svg/paint-order/paint-order-fill-markers.svg svg/paint-order/paint-order-fill.svg svg/paint-order/paint-order-markers-expected.svg svg/paint-order/paint-order-markers-stroke-expected.svg svg/paint-order/paint-order-markers-stroke.svg svg/paint-order/paint-order-markers.svg svg/paint-order/paint-order-normal-expected.svg svg/paint-order/paint-order-normal.svg svg/paint-order/paint-order-stroke-expected.svg svg/paint-order/paint-order-stroke-marker-expected.svg svg/paint-order/paint-order-stroke-marker.svg svg/paint-order/paint-order-stroke.svg svg/paint-order/paint-order-text-markers-expected.svg svg/paint-order/paint-order-text-markers.svg svg/paint-order/paint-order-text-normal-expected.svg svg/paint-order/paint-order-text-normal.svg svg/paint-order/paint-order-text-stroke-expected.svg svg/paint-order/paint-order-text-stroke.svg svg/paint-order/paint-order-text-tspan-001-expected.svg svg/paint-order/paint-order-text-tspan-001.svg svg/paint-order/paint-order-text-tspan-002-expected.svg svg/paint-order/paint-order-text-tspan-002.svg svg/paint-order/parsing-paint-order.html * css/CSSComputedStyleDeclaration.cpp: Computed style for paint-order. (WebCore::ComputedStyleExtractor::propertyValue): * css/CSSParser.h: * css/CSSPropertyNames.in: * css/CSSValueKeywords.in: * css/SVGCSSComputedStyleDeclaration.cpp: (WebCore::paintOrder): (WebCore::ComputedStyleExtractor::svgPropertyValue): * css/SVGCSSParser.cpp: Parse paint-order. Take care of serialization at this point already to get element style correct. (WebCore::CSSParser::parseSVGValue): (WebCore::CSSParser::parsePaintOrder): * css/SVGCSSStyleSelector.cpp: (WebCore::StyleResolver::applySVGProperty): * rendering/style/SVGRenderStyle.cpp: (WebCore::SVGRenderStyle::paintTypesForPaintOrder): (WebCore::SVGRenderStyle::diff): Repaint on change. * rendering/style/SVGRenderStyle.h: (WebCore::SVGRenderStyle::initialPaintOrder): (WebCore::SVGRenderStyle::setPaintOrder): (WebCore::SVGRenderStyle::paintOrder): (WebCore::SVGRenderStyle::InheritedFlags::operator==): (WebCore::SVGRenderStyle::setBitDefaults): * rendering/style/SVGRenderStyleDefs.h: * rendering/svg/RenderSVGShape.cpp: Change order of painting based on paint-order. (WebCore::RenderSVGShape::strokeShape): (WebCore::RenderSVGShape::fillStrokeMarkers): (WebCore::RenderSVGShape::paint): (WebCore::RenderSVGShape::addFocusRingRects): * rendering/svg/RenderSVGShape.h: * rendering/svg/SVGInlineTextBox.cpp: (WebCore::SVGInlineTextBox::paint): Ditto. * svg/SVGElement.cpp: Make property a presentation attribute. (WebCore::populateAttributeNameToCSSPropertyIDMap): (WebCore::populateAttributeNameToAnimatedPropertyTypeMap): * svg/svgattrs.in: Add paint-order attribute. LayoutTests: Test parsing and bahvior of the paint-order property. * svg/paint-order/paint-order-fill-expected.svg: Added. * svg/paint-order/paint-order-fill-markers-expected.svg: Added. * svg/paint-order/paint-order-fill-markers.svg: Added. * svg/paint-order/paint-order-fill.svg: Added. * svg/paint-order/paint-order-markers-expected.svg: Added. * svg/paint-order/paint-order-markers-stroke-expected.svg: Added. * svg/paint-order/paint-order-markers-stroke.svg: Added. * svg/paint-order/paint-order-markers.svg: Added. * svg/paint-order/paint-order-normal-expected.svg: Added. * svg/paint-order/paint-order-normal.svg: Added. * svg/paint-order/paint-order-stroke-expected.svg: Added. * svg/paint-order/paint-order-stroke-marker-expected.svg: Added. * svg/paint-order/paint-order-stroke-marker.svg: Added. * svg/paint-order/paint-order-stroke.svg: Added. * svg/paint-order/paint-order-text-markers-expected.svg: Added. * svg/paint-order/paint-order-text-markers.svg: Added. * svg/paint-order/paint-order-text-normal-expected.svg: Added. * svg/paint-order/paint-order-text-normal.svg: Added. * svg/paint-order/paint-order-text-stroke-expected.svg: Added. * svg/paint-order/paint-order-text-stroke.svg: Added. * svg/paint-order/paint-order-text-tspan-001-expected.svg: Added. * svg/paint-order/paint-order-text-tspan-001.svg: Added. * svg/paint-order/paint-order-text-tspan-002-expected.svg: Added. * svg/paint-order/paint-order-text-tspan-002.svg: Added. * svg/paint-order/parsing-paint-order-expected.txt: Added. * svg/paint-order/parsing-paint-order.html: Added. Canonical link: https://commits.webkit.org/148185@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@165595 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-03-14 02:25:41 +00:00
PASS computedStyle("paint-order", "normal markers") is "normal"
Returns inconsistent types for el.style.property and el.style.getPropertyValue('color') https://bugs.webkit.org/show_bug.cgi?id=147549 Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-08-03 Reviewed by Andreas Kling. Source/WebCore: Kudos to Greg Whitworth for finding this bug. Test: fast/css/getPropertyValue-returns-empty-on-missing-property.html * css/CSSStyleDeclaration.idl: Our definition was wrong. Current spec: http://www.w3.org/TR/cssom/#dom-cssstyledeclaration-getpropertyvalue Current draft: https://drafts.csswg.org/cssom/#dom-cssstyledeclaration-getpropertyvalue Gecko and EdgeHTML follow the spec. LayoutTests: The bug is very old, there were a lot of tests to update. The tests in css3/shapes are incorrect W3C tests. I only updated the expected results. The test fast/css/getPropertyValue-returns-empty-on-missing-property.html is the new one covering the bug fix. * animations/script-tests/trigger-parsing.js: (testTriggerRule): * animations/trigger-parsing-expected.txt: * animations/unprefixed-properties-expected.txt: * animations/unprefixed-properties.html: * css3/blending/blend-mode-property-parsing-invalid-expected.txt: * css3/blending/script-tests/blend-mode-property-parsing-invalid.js: (testInvalidFilterRule): * css3/filters/backdrop/backdropfilter-property-parsing-invalid-expected.txt: * css3/filters/backdrop/script-tests/backdropfilter-property-parsing-invalid.js: (testInvalidFilterRule): * css3/filters/filter-property-parsing-invalid-expected.txt: * css3/filters/script-tests/filter-property-parsing-invalid.js: (testInvalidFilterRule): * css3/shapes/shape-outside/values/shape-image-threshold-002-expected.txt: * css3/shapes/shape-outside/values/shape-image-threshold-003-expected.txt: * css3/shapes/shape-outside/values/shape-margin-004-expected.txt: * css3/shapes/shape-outside/values/shape-margin-005-expected.txt: * css3/shapes/shape-outside/values/shape-outside-circle-003-expected.txt: * css3/shapes/shape-outside/values/shape-outside-circle-006-expected.txt: * css3/shapes/shape-outside/values/shape-outside-circle-007-expected.txt: * css3/shapes/shape-outside/values/shape-outside-circle-008-expected.txt: * css3/shapes/shape-outside/values/shape-outside-ellipse-003-expected.txt: * css3/shapes/shape-outside/values/shape-outside-ellipse-006-expected.txt: * css3/shapes/shape-outside/values/shape-outside-ellipse-007-expected.txt: * css3/shapes/shape-outside/values/shape-outside-ellipse-008-expected.txt: * css3/shapes/shape-outside/values/shape-outside-inset-005-expected.txt: * css3/shapes/shape-outside/values/shape-outside-inset-006-expected.txt: * css3/shapes/shape-outside/values/shape-outside-inset-007-expected.txt: * css3/shapes/shape-outside/values/shape-outside-polygon-003-expected.txt: * fast/backgrounds/repeat/parsing-background-repeat-expected.txt: * fast/backgrounds/repeat/script-tests/parsing-background-repeat.js: * fast/backgrounds/size/parsing-background-size-values-expected.txt: * fast/backgrounds/size/resources/parsing-background-size-values.js: * fast/box-decoration-break/box-decoration-break-parsing-expected.txt: * fast/box-decoration-break/box-decoration-break-parsing.html: * fast/box-shadow/box-shadow-parsing-invalid-expected.txt: * fast/box-shadow/script-tests/box-shadow-parsing-invalid.js: (testInvalidFilterRule): * fast/css/background-clip-text-expected.txt: * fast/css/border-spacing-without-vertical-value.html: * fast/css/getPropertyValue-border-expected.txt: * fast/css/getPropertyValue-border.html: * fast/css/getPropertyValue-column-rule-expected.txt: * fast/css/getPropertyValue-column-rule.html: * fast/css/getPropertyValue-columns-expected.txt: * fast/css/getPropertyValue-columns.html: * fast/css/getPropertyValue-returns-empty-on-missing-property-expected.txt: Added. * fast/css/getPropertyValue-returns-empty-on-missing-property.html: Added. * fast/css/getPropertyValue-webkit-margin-collapse-expected.txt: * fast/css/getPropertyValue-webkit-margin-collapse.html: * fast/css/getPropertyValue-webkit-marquee-expected.txt: * fast/css/getPropertyValue-webkit-marquee.html: * fast/css/getPropertyValue-webkit-text-stroke-expected.txt: * fast/css/getPropertyValue-webkit-text-stroke.html: * fast/css/line-height-text-autosizing.html: * fast/css/outline-offset-parsing-expected.txt: * fast/css/parsing-color-correction-expected.txt: * fast/css/parsing-object-fit-expected.txt: * fast/css/parsing-object-fit.html: * fast/css/parsing-text-rendering-expected.txt: * fast/css/parsing-webkit-font-smoothing-expected.txt: * fast/css/resources/parsing-color-correction.js: * fast/css/resources/parsing-text-rendering.js: * fast/css/resources/parsing-webkit-font-smoothing.js: * fast/css/script-tests/background-clip-text.js: * fast/css/script-tests/outline-offset-parsing.js: * fast/css/script-tests/transform-origin-parsing.js: * fast/css/sticky/parsing-position-sticky-expected.txt: * fast/css/sticky/resources/parsing-position-sticky.js: * fast/css/transform-origin-parsing-expected.txt: * fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-roundtrip-expected.txt: * fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-roundtrip.html: * fast/css3-text/font-synthesis-parse-expected.txt: * fast/css3-text/font-synthesis-parse.html: * fast/filter-image/parse-filter-image-expected.txt: * fast/filter-image/parse-filter-image.html: * fast/masking/parsing-clip-path-shape-expected.txt: * fast/masking/parsing-clip-path-shape.html: * fast/masking/parsing-mask-expected.txt: * fast/masking/parsing-mask.html: * fast/shapes/css-shapes-disabled-expected.txt: * fast/shapes/css-shapes-disabled.html: * fast/shapes/parsing/parsing-shape-lengths-expected.txt: * fast/shapes/parsing/parsing-shape-lengths.html: * platform/mac/fast/css/dashboard-region-parser-expected.txt: * platform/mac/fast/css/dashboard-region-parser.html: * platform/mac/fast/text/trailing-word-parse-expected.txt: * platform/mac/fast/text/trailing-word-parse.html: * svg/paint-order/parsing-paint-order-expected.txt: * svg/paint-order/parsing-paint-order.html: Canonical link: https://commits.webkit.org/165676@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187813 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-08-04 05:14:43 +00:00
PASS innerStyle("paint-order", "fill fill") is ""
[SVG2] support paint-order presentation attribute https://bugs.webkit.org/show_bug.cgi?id=129373 Reviewed by Dean Jackson. Source/WebCore: Add support for the paint-order property from SVG2. The presentation attribute/CSS property allows to paint fill, stroke and markers in any order the author desires. Firefox supports this but behind a runtime flag. It is just activated in nightly builds by default. Chromium supports it behind a runtime flag as well but is going to ship it pretty soon. Tests: svg/paint-order/paint-order-fill-expected.svg svg/paint-order/paint-order-fill-markers-expected.svg svg/paint-order/paint-order-fill-markers.svg svg/paint-order/paint-order-fill.svg svg/paint-order/paint-order-markers-expected.svg svg/paint-order/paint-order-markers-stroke-expected.svg svg/paint-order/paint-order-markers-stroke.svg svg/paint-order/paint-order-markers.svg svg/paint-order/paint-order-normal-expected.svg svg/paint-order/paint-order-normal.svg svg/paint-order/paint-order-stroke-expected.svg svg/paint-order/paint-order-stroke-marker-expected.svg svg/paint-order/paint-order-stroke-marker.svg svg/paint-order/paint-order-stroke.svg svg/paint-order/paint-order-text-markers-expected.svg svg/paint-order/paint-order-text-markers.svg svg/paint-order/paint-order-text-normal-expected.svg svg/paint-order/paint-order-text-normal.svg svg/paint-order/paint-order-text-stroke-expected.svg svg/paint-order/paint-order-text-stroke.svg svg/paint-order/paint-order-text-tspan-001-expected.svg svg/paint-order/paint-order-text-tspan-001.svg svg/paint-order/paint-order-text-tspan-002-expected.svg svg/paint-order/paint-order-text-tspan-002.svg svg/paint-order/parsing-paint-order.html * css/CSSComputedStyleDeclaration.cpp: Computed style for paint-order. (WebCore::ComputedStyleExtractor::propertyValue): * css/CSSParser.h: * css/CSSPropertyNames.in: * css/CSSValueKeywords.in: * css/SVGCSSComputedStyleDeclaration.cpp: (WebCore::paintOrder): (WebCore::ComputedStyleExtractor::svgPropertyValue): * css/SVGCSSParser.cpp: Parse paint-order. Take care of serialization at this point already to get element style correct. (WebCore::CSSParser::parseSVGValue): (WebCore::CSSParser::parsePaintOrder): * css/SVGCSSStyleSelector.cpp: (WebCore::StyleResolver::applySVGProperty): * rendering/style/SVGRenderStyle.cpp: (WebCore::SVGRenderStyle::paintTypesForPaintOrder): (WebCore::SVGRenderStyle::diff): Repaint on change. * rendering/style/SVGRenderStyle.h: (WebCore::SVGRenderStyle::initialPaintOrder): (WebCore::SVGRenderStyle::setPaintOrder): (WebCore::SVGRenderStyle::paintOrder): (WebCore::SVGRenderStyle::InheritedFlags::operator==): (WebCore::SVGRenderStyle::setBitDefaults): * rendering/style/SVGRenderStyleDefs.h: * rendering/svg/RenderSVGShape.cpp: Change order of painting based on paint-order. (WebCore::RenderSVGShape::strokeShape): (WebCore::RenderSVGShape::fillStrokeMarkers): (WebCore::RenderSVGShape::paint): (WebCore::RenderSVGShape::addFocusRingRects): * rendering/svg/RenderSVGShape.h: * rendering/svg/SVGInlineTextBox.cpp: (WebCore::SVGInlineTextBox::paint): Ditto. * svg/SVGElement.cpp: Make property a presentation attribute. (WebCore::populateAttributeNameToCSSPropertyIDMap): (WebCore::populateAttributeNameToAnimatedPropertyTypeMap): * svg/svgattrs.in: Add paint-order attribute. LayoutTests: Test parsing and bahvior of the paint-order property. * svg/paint-order/paint-order-fill-expected.svg: Added. * svg/paint-order/paint-order-fill-markers-expected.svg: Added. * svg/paint-order/paint-order-fill-markers.svg: Added. * svg/paint-order/paint-order-fill.svg: Added. * svg/paint-order/paint-order-markers-expected.svg: Added. * svg/paint-order/paint-order-markers-stroke-expected.svg: Added. * svg/paint-order/paint-order-markers-stroke.svg: Added. * svg/paint-order/paint-order-markers.svg: Added. * svg/paint-order/paint-order-normal-expected.svg: Added. * svg/paint-order/paint-order-normal.svg: Added. * svg/paint-order/paint-order-stroke-expected.svg: Added. * svg/paint-order/paint-order-stroke-marker-expected.svg: Added. * svg/paint-order/paint-order-stroke-marker.svg: Added. * svg/paint-order/paint-order-stroke.svg: Added. * svg/paint-order/paint-order-text-markers-expected.svg: Added. * svg/paint-order/paint-order-text-markers.svg: Added. * svg/paint-order/paint-order-text-normal-expected.svg: Added. * svg/paint-order/paint-order-text-normal.svg: Added. * svg/paint-order/paint-order-text-stroke-expected.svg: Added. * svg/paint-order/paint-order-text-stroke.svg: Added. * svg/paint-order/paint-order-text-tspan-001-expected.svg: Added. * svg/paint-order/paint-order-text-tspan-001.svg: Added. * svg/paint-order/paint-order-text-tspan-002-expected.svg: Added. * svg/paint-order/paint-order-text-tspan-002.svg: Added. * svg/paint-order/parsing-paint-order-expected.txt: Added. * svg/paint-order/parsing-paint-order.html: Added. Canonical link: https://commits.webkit.org/148185@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@165595 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-03-14 02:25:41 +00:00
PASS computedStyle("paint-order", "fill fill") is "normal"
Returns inconsistent types for el.style.property and el.style.getPropertyValue('color') https://bugs.webkit.org/show_bug.cgi?id=147549 Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-08-03 Reviewed by Andreas Kling. Source/WebCore: Kudos to Greg Whitworth for finding this bug. Test: fast/css/getPropertyValue-returns-empty-on-missing-property.html * css/CSSStyleDeclaration.idl: Our definition was wrong. Current spec: http://www.w3.org/TR/cssom/#dom-cssstyledeclaration-getpropertyvalue Current draft: https://drafts.csswg.org/cssom/#dom-cssstyledeclaration-getpropertyvalue Gecko and EdgeHTML follow the spec. LayoutTests: The bug is very old, there were a lot of tests to update. The tests in css3/shapes are incorrect W3C tests. I only updated the expected results. The test fast/css/getPropertyValue-returns-empty-on-missing-property.html is the new one covering the bug fix. * animations/script-tests/trigger-parsing.js: (testTriggerRule): * animations/trigger-parsing-expected.txt: * animations/unprefixed-properties-expected.txt: * animations/unprefixed-properties.html: * css3/blending/blend-mode-property-parsing-invalid-expected.txt: * css3/blending/script-tests/blend-mode-property-parsing-invalid.js: (testInvalidFilterRule): * css3/filters/backdrop/backdropfilter-property-parsing-invalid-expected.txt: * css3/filters/backdrop/script-tests/backdropfilter-property-parsing-invalid.js: (testInvalidFilterRule): * css3/filters/filter-property-parsing-invalid-expected.txt: * css3/filters/script-tests/filter-property-parsing-invalid.js: (testInvalidFilterRule): * css3/shapes/shape-outside/values/shape-image-threshold-002-expected.txt: * css3/shapes/shape-outside/values/shape-image-threshold-003-expected.txt: * css3/shapes/shape-outside/values/shape-margin-004-expected.txt: * css3/shapes/shape-outside/values/shape-margin-005-expected.txt: * css3/shapes/shape-outside/values/shape-outside-circle-003-expected.txt: * css3/shapes/shape-outside/values/shape-outside-circle-006-expected.txt: * css3/shapes/shape-outside/values/shape-outside-circle-007-expected.txt: * css3/shapes/shape-outside/values/shape-outside-circle-008-expected.txt: * css3/shapes/shape-outside/values/shape-outside-ellipse-003-expected.txt: * css3/shapes/shape-outside/values/shape-outside-ellipse-006-expected.txt: * css3/shapes/shape-outside/values/shape-outside-ellipse-007-expected.txt: * css3/shapes/shape-outside/values/shape-outside-ellipse-008-expected.txt: * css3/shapes/shape-outside/values/shape-outside-inset-005-expected.txt: * css3/shapes/shape-outside/values/shape-outside-inset-006-expected.txt: * css3/shapes/shape-outside/values/shape-outside-inset-007-expected.txt: * css3/shapes/shape-outside/values/shape-outside-polygon-003-expected.txt: * fast/backgrounds/repeat/parsing-background-repeat-expected.txt: * fast/backgrounds/repeat/script-tests/parsing-background-repeat.js: * fast/backgrounds/size/parsing-background-size-values-expected.txt: * fast/backgrounds/size/resources/parsing-background-size-values.js: * fast/box-decoration-break/box-decoration-break-parsing-expected.txt: * fast/box-decoration-break/box-decoration-break-parsing.html: * fast/box-shadow/box-shadow-parsing-invalid-expected.txt: * fast/box-shadow/script-tests/box-shadow-parsing-invalid.js: (testInvalidFilterRule): * fast/css/background-clip-text-expected.txt: * fast/css/border-spacing-without-vertical-value.html: * fast/css/getPropertyValue-border-expected.txt: * fast/css/getPropertyValue-border.html: * fast/css/getPropertyValue-column-rule-expected.txt: * fast/css/getPropertyValue-column-rule.html: * fast/css/getPropertyValue-columns-expected.txt: * fast/css/getPropertyValue-columns.html: * fast/css/getPropertyValue-returns-empty-on-missing-property-expected.txt: Added. * fast/css/getPropertyValue-returns-empty-on-missing-property.html: Added. * fast/css/getPropertyValue-webkit-margin-collapse-expected.txt: * fast/css/getPropertyValue-webkit-margin-collapse.html: * fast/css/getPropertyValue-webkit-marquee-expected.txt: * fast/css/getPropertyValue-webkit-marquee.html: * fast/css/getPropertyValue-webkit-text-stroke-expected.txt: * fast/css/getPropertyValue-webkit-text-stroke.html: * fast/css/line-height-text-autosizing.html: * fast/css/outline-offset-parsing-expected.txt: * fast/css/parsing-color-correction-expected.txt: * fast/css/parsing-object-fit-expected.txt: * fast/css/parsing-object-fit.html: * fast/css/parsing-text-rendering-expected.txt: * fast/css/parsing-webkit-font-smoothing-expected.txt: * fast/css/resources/parsing-color-correction.js: * fast/css/resources/parsing-text-rendering.js: * fast/css/resources/parsing-webkit-font-smoothing.js: * fast/css/script-tests/background-clip-text.js: * fast/css/script-tests/outline-offset-parsing.js: * fast/css/script-tests/transform-origin-parsing.js: * fast/css/sticky/parsing-position-sticky-expected.txt: * fast/css/sticky/resources/parsing-position-sticky.js: * fast/css/transform-origin-parsing-expected.txt: * fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-roundtrip-expected.txt: * fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-roundtrip.html: * fast/css3-text/font-synthesis-parse-expected.txt: * fast/css3-text/font-synthesis-parse.html: * fast/filter-image/parse-filter-image-expected.txt: * fast/filter-image/parse-filter-image.html: * fast/masking/parsing-clip-path-shape-expected.txt: * fast/masking/parsing-clip-path-shape.html: * fast/masking/parsing-mask-expected.txt: * fast/masking/parsing-mask.html: * fast/shapes/css-shapes-disabled-expected.txt: * fast/shapes/css-shapes-disabled.html: * fast/shapes/parsing/parsing-shape-lengths-expected.txt: * fast/shapes/parsing/parsing-shape-lengths.html: * platform/mac/fast/css/dashboard-region-parser-expected.txt: * platform/mac/fast/css/dashboard-region-parser.html: * platform/mac/fast/text/trailing-word-parse-expected.txt: * platform/mac/fast/text/trailing-word-parse.html: * svg/paint-order/parsing-paint-order-expected.txt: * svg/paint-order/parsing-paint-order.html: Canonical link: https://commits.webkit.org/165676@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187813 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-08-04 05:14:43 +00:00
PASS innerStyle("paint-order", "stroke stroke") is ""
[SVG2] support paint-order presentation attribute https://bugs.webkit.org/show_bug.cgi?id=129373 Reviewed by Dean Jackson. Source/WebCore: Add support for the paint-order property from SVG2. The presentation attribute/CSS property allows to paint fill, stroke and markers in any order the author desires. Firefox supports this but behind a runtime flag. It is just activated in nightly builds by default. Chromium supports it behind a runtime flag as well but is going to ship it pretty soon. Tests: svg/paint-order/paint-order-fill-expected.svg svg/paint-order/paint-order-fill-markers-expected.svg svg/paint-order/paint-order-fill-markers.svg svg/paint-order/paint-order-fill.svg svg/paint-order/paint-order-markers-expected.svg svg/paint-order/paint-order-markers-stroke-expected.svg svg/paint-order/paint-order-markers-stroke.svg svg/paint-order/paint-order-markers.svg svg/paint-order/paint-order-normal-expected.svg svg/paint-order/paint-order-normal.svg svg/paint-order/paint-order-stroke-expected.svg svg/paint-order/paint-order-stroke-marker-expected.svg svg/paint-order/paint-order-stroke-marker.svg svg/paint-order/paint-order-stroke.svg svg/paint-order/paint-order-text-markers-expected.svg svg/paint-order/paint-order-text-markers.svg svg/paint-order/paint-order-text-normal-expected.svg svg/paint-order/paint-order-text-normal.svg svg/paint-order/paint-order-text-stroke-expected.svg svg/paint-order/paint-order-text-stroke.svg svg/paint-order/paint-order-text-tspan-001-expected.svg svg/paint-order/paint-order-text-tspan-001.svg svg/paint-order/paint-order-text-tspan-002-expected.svg svg/paint-order/paint-order-text-tspan-002.svg svg/paint-order/parsing-paint-order.html * css/CSSComputedStyleDeclaration.cpp: Computed style for paint-order. (WebCore::ComputedStyleExtractor::propertyValue): * css/CSSParser.h: * css/CSSPropertyNames.in: * css/CSSValueKeywords.in: * css/SVGCSSComputedStyleDeclaration.cpp: (WebCore::paintOrder): (WebCore::ComputedStyleExtractor::svgPropertyValue): * css/SVGCSSParser.cpp: Parse paint-order. Take care of serialization at this point already to get element style correct. (WebCore::CSSParser::parseSVGValue): (WebCore::CSSParser::parsePaintOrder): * css/SVGCSSStyleSelector.cpp: (WebCore::StyleResolver::applySVGProperty): * rendering/style/SVGRenderStyle.cpp: (WebCore::SVGRenderStyle::paintTypesForPaintOrder): (WebCore::SVGRenderStyle::diff): Repaint on change. * rendering/style/SVGRenderStyle.h: (WebCore::SVGRenderStyle::initialPaintOrder): (WebCore::SVGRenderStyle::setPaintOrder): (WebCore::SVGRenderStyle::paintOrder): (WebCore::SVGRenderStyle::InheritedFlags::operator==): (WebCore::SVGRenderStyle::setBitDefaults): * rendering/style/SVGRenderStyleDefs.h: * rendering/svg/RenderSVGShape.cpp: Change order of painting based on paint-order. (WebCore::RenderSVGShape::strokeShape): (WebCore::RenderSVGShape::fillStrokeMarkers): (WebCore::RenderSVGShape::paint): (WebCore::RenderSVGShape::addFocusRingRects): * rendering/svg/RenderSVGShape.h: * rendering/svg/SVGInlineTextBox.cpp: (WebCore::SVGInlineTextBox::paint): Ditto. * svg/SVGElement.cpp: Make property a presentation attribute. (WebCore::populateAttributeNameToCSSPropertyIDMap): (WebCore::populateAttributeNameToAnimatedPropertyTypeMap): * svg/svgattrs.in: Add paint-order attribute. LayoutTests: Test parsing and bahvior of the paint-order property. * svg/paint-order/paint-order-fill-expected.svg: Added. * svg/paint-order/paint-order-fill-markers-expected.svg: Added. * svg/paint-order/paint-order-fill-markers.svg: Added. * svg/paint-order/paint-order-fill.svg: Added. * svg/paint-order/paint-order-markers-expected.svg: Added. * svg/paint-order/paint-order-markers-stroke-expected.svg: Added. * svg/paint-order/paint-order-markers-stroke.svg: Added. * svg/paint-order/paint-order-markers.svg: Added. * svg/paint-order/paint-order-normal-expected.svg: Added. * svg/paint-order/paint-order-normal.svg: Added. * svg/paint-order/paint-order-stroke-expected.svg: Added. * svg/paint-order/paint-order-stroke-marker-expected.svg: Added. * svg/paint-order/paint-order-stroke-marker.svg: Added. * svg/paint-order/paint-order-stroke.svg: Added. * svg/paint-order/paint-order-text-markers-expected.svg: Added. * svg/paint-order/paint-order-text-markers.svg: Added. * svg/paint-order/paint-order-text-normal-expected.svg: Added. * svg/paint-order/paint-order-text-normal.svg: Added. * svg/paint-order/paint-order-text-stroke-expected.svg: Added. * svg/paint-order/paint-order-text-stroke.svg: Added. * svg/paint-order/paint-order-text-tspan-001-expected.svg: Added. * svg/paint-order/paint-order-text-tspan-001.svg: Added. * svg/paint-order/paint-order-text-tspan-002-expected.svg: Added. * svg/paint-order/paint-order-text-tspan-002.svg: Added. * svg/paint-order/parsing-paint-order-expected.txt: Added. * svg/paint-order/parsing-paint-order.html: Added. Canonical link: https://commits.webkit.org/148185@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@165595 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-03-14 02:25:41 +00:00
PASS computedStyle("paint-order", "stroke stroke") is "normal"
Returns inconsistent types for el.style.property and el.style.getPropertyValue('color') https://bugs.webkit.org/show_bug.cgi?id=147549 Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-08-03 Reviewed by Andreas Kling. Source/WebCore: Kudos to Greg Whitworth for finding this bug. Test: fast/css/getPropertyValue-returns-empty-on-missing-property.html * css/CSSStyleDeclaration.idl: Our definition was wrong. Current spec: http://www.w3.org/TR/cssom/#dom-cssstyledeclaration-getpropertyvalue Current draft: https://drafts.csswg.org/cssom/#dom-cssstyledeclaration-getpropertyvalue Gecko and EdgeHTML follow the spec. LayoutTests: The bug is very old, there were a lot of tests to update. The tests in css3/shapes are incorrect W3C tests. I only updated the expected results. The test fast/css/getPropertyValue-returns-empty-on-missing-property.html is the new one covering the bug fix. * animations/script-tests/trigger-parsing.js: (testTriggerRule): * animations/trigger-parsing-expected.txt: * animations/unprefixed-properties-expected.txt: * animations/unprefixed-properties.html: * css3/blending/blend-mode-property-parsing-invalid-expected.txt: * css3/blending/script-tests/blend-mode-property-parsing-invalid.js: (testInvalidFilterRule): * css3/filters/backdrop/backdropfilter-property-parsing-invalid-expected.txt: * css3/filters/backdrop/script-tests/backdropfilter-property-parsing-invalid.js: (testInvalidFilterRule): * css3/filters/filter-property-parsing-invalid-expected.txt: * css3/filters/script-tests/filter-property-parsing-invalid.js: (testInvalidFilterRule): * css3/shapes/shape-outside/values/shape-image-threshold-002-expected.txt: * css3/shapes/shape-outside/values/shape-image-threshold-003-expected.txt: * css3/shapes/shape-outside/values/shape-margin-004-expected.txt: * css3/shapes/shape-outside/values/shape-margin-005-expected.txt: * css3/shapes/shape-outside/values/shape-outside-circle-003-expected.txt: * css3/shapes/shape-outside/values/shape-outside-circle-006-expected.txt: * css3/shapes/shape-outside/values/shape-outside-circle-007-expected.txt: * css3/shapes/shape-outside/values/shape-outside-circle-008-expected.txt: * css3/shapes/shape-outside/values/shape-outside-ellipse-003-expected.txt: * css3/shapes/shape-outside/values/shape-outside-ellipse-006-expected.txt: * css3/shapes/shape-outside/values/shape-outside-ellipse-007-expected.txt: * css3/shapes/shape-outside/values/shape-outside-ellipse-008-expected.txt: * css3/shapes/shape-outside/values/shape-outside-inset-005-expected.txt: * css3/shapes/shape-outside/values/shape-outside-inset-006-expected.txt: * css3/shapes/shape-outside/values/shape-outside-inset-007-expected.txt: * css3/shapes/shape-outside/values/shape-outside-polygon-003-expected.txt: * fast/backgrounds/repeat/parsing-background-repeat-expected.txt: * fast/backgrounds/repeat/script-tests/parsing-background-repeat.js: * fast/backgrounds/size/parsing-background-size-values-expected.txt: * fast/backgrounds/size/resources/parsing-background-size-values.js: * fast/box-decoration-break/box-decoration-break-parsing-expected.txt: * fast/box-decoration-break/box-decoration-break-parsing.html: * fast/box-shadow/box-shadow-parsing-invalid-expected.txt: * fast/box-shadow/script-tests/box-shadow-parsing-invalid.js: (testInvalidFilterRule): * fast/css/background-clip-text-expected.txt: * fast/css/border-spacing-without-vertical-value.html: * fast/css/getPropertyValue-border-expected.txt: * fast/css/getPropertyValue-border.html: * fast/css/getPropertyValue-column-rule-expected.txt: * fast/css/getPropertyValue-column-rule.html: * fast/css/getPropertyValue-columns-expected.txt: * fast/css/getPropertyValue-columns.html: * fast/css/getPropertyValue-returns-empty-on-missing-property-expected.txt: Added. * fast/css/getPropertyValue-returns-empty-on-missing-property.html: Added. * fast/css/getPropertyValue-webkit-margin-collapse-expected.txt: * fast/css/getPropertyValue-webkit-margin-collapse.html: * fast/css/getPropertyValue-webkit-marquee-expected.txt: * fast/css/getPropertyValue-webkit-marquee.html: * fast/css/getPropertyValue-webkit-text-stroke-expected.txt: * fast/css/getPropertyValue-webkit-text-stroke.html: * fast/css/line-height-text-autosizing.html: * fast/css/outline-offset-parsing-expected.txt: * fast/css/parsing-color-correction-expected.txt: * fast/css/parsing-object-fit-expected.txt: * fast/css/parsing-object-fit.html: * fast/css/parsing-text-rendering-expected.txt: * fast/css/parsing-webkit-font-smoothing-expected.txt: * fast/css/resources/parsing-color-correction.js: * fast/css/resources/parsing-text-rendering.js: * fast/css/resources/parsing-webkit-font-smoothing.js: * fast/css/script-tests/background-clip-text.js: * fast/css/script-tests/outline-offset-parsing.js: * fast/css/script-tests/transform-origin-parsing.js: * fast/css/sticky/parsing-position-sticky-expected.txt: * fast/css/sticky/resources/parsing-position-sticky.js: * fast/css/transform-origin-parsing-expected.txt: * fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-roundtrip-expected.txt: * fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-roundtrip.html: * fast/css3-text/font-synthesis-parse-expected.txt: * fast/css3-text/font-synthesis-parse.html: * fast/filter-image/parse-filter-image-expected.txt: * fast/filter-image/parse-filter-image.html: * fast/masking/parsing-clip-path-shape-expected.txt: * fast/masking/parsing-clip-path-shape.html: * fast/masking/parsing-mask-expected.txt: * fast/masking/parsing-mask.html: * fast/shapes/css-shapes-disabled-expected.txt: * fast/shapes/css-shapes-disabled.html: * fast/shapes/parsing/parsing-shape-lengths-expected.txt: * fast/shapes/parsing/parsing-shape-lengths.html: * platform/mac/fast/css/dashboard-region-parser-expected.txt: * platform/mac/fast/css/dashboard-region-parser.html: * platform/mac/fast/text/trailing-word-parse-expected.txt: * platform/mac/fast/text/trailing-word-parse.html: * svg/paint-order/parsing-paint-order-expected.txt: * svg/paint-order/parsing-paint-order.html: Canonical link: https://commits.webkit.org/165676@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187813 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-08-04 05:14:43 +00:00
PASS innerStyle("paint-order", "markers markers") is ""
[SVG2] support paint-order presentation attribute https://bugs.webkit.org/show_bug.cgi?id=129373 Reviewed by Dean Jackson. Source/WebCore: Add support for the paint-order property from SVG2. The presentation attribute/CSS property allows to paint fill, stroke and markers in any order the author desires. Firefox supports this but behind a runtime flag. It is just activated in nightly builds by default. Chromium supports it behind a runtime flag as well but is going to ship it pretty soon. Tests: svg/paint-order/paint-order-fill-expected.svg svg/paint-order/paint-order-fill-markers-expected.svg svg/paint-order/paint-order-fill-markers.svg svg/paint-order/paint-order-fill.svg svg/paint-order/paint-order-markers-expected.svg svg/paint-order/paint-order-markers-stroke-expected.svg svg/paint-order/paint-order-markers-stroke.svg svg/paint-order/paint-order-markers.svg svg/paint-order/paint-order-normal-expected.svg svg/paint-order/paint-order-normal.svg svg/paint-order/paint-order-stroke-expected.svg svg/paint-order/paint-order-stroke-marker-expected.svg svg/paint-order/paint-order-stroke-marker.svg svg/paint-order/paint-order-stroke.svg svg/paint-order/paint-order-text-markers-expected.svg svg/paint-order/paint-order-text-markers.svg svg/paint-order/paint-order-text-normal-expected.svg svg/paint-order/paint-order-text-normal.svg svg/paint-order/paint-order-text-stroke-expected.svg svg/paint-order/paint-order-text-stroke.svg svg/paint-order/paint-order-text-tspan-001-expected.svg svg/paint-order/paint-order-text-tspan-001.svg svg/paint-order/paint-order-text-tspan-002-expected.svg svg/paint-order/paint-order-text-tspan-002.svg svg/paint-order/parsing-paint-order.html * css/CSSComputedStyleDeclaration.cpp: Computed style for paint-order. (WebCore::ComputedStyleExtractor::propertyValue): * css/CSSParser.h: * css/CSSPropertyNames.in: * css/CSSValueKeywords.in: * css/SVGCSSComputedStyleDeclaration.cpp: (WebCore::paintOrder): (WebCore::ComputedStyleExtractor::svgPropertyValue): * css/SVGCSSParser.cpp: Parse paint-order. Take care of serialization at this point already to get element style correct. (WebCore::CSSParser::parseSVGValue): (WebCore::CSSParser::parsePaintOrder): * css/SVGCSSStyleSelector.cpp: (WebCore::StyleResolver::applySVGProperty): * rendering/style/SVGRenderStyle.cpp: (WebCore::SVGRenderStyle::paintTypesForPaintOrder): (WebCore::SVGRenderStyle::diff): Repaint on change. * rendering/style/SVGRenderStyle.h: (WebCore::SVGRenderStyle::initialPaintOrder): (WebCore::SVGRenderStyle::setPaintOrder): (WebCore::SVGRenderStyle::paintOrder): (WebCore::SVGRenderStyle::InheritedFlags::operator==): (WebCore::SVGRenderStyle::setBitDefaults): * rendering/style/SVGRenderStyleDefs.h: * rendering/svg/RenderSVGShape.cpp: Change order of painting based on paint-order. (WebCore::RenderSVGShape::strokeShape): (WebCore::RenderSVGShape::fillStrokeMarkers): (WebCore::RenderSVGShape::paint): (WebCore::RenderSVGShape::addFocusRingRects): * rendering/svg/RenderSVGShape.h: * rendering/svg/SVGInlineTextBox.cpp: (WebCore::SVGInlineTextBox::paint): Ditto. * svg/SVGElement.cpp: Make property a presentation attribute. (WebCore::populateAttributeNameToCSSPropertyIDMap): (WebCore::populateAttributeNameToAnimatedPropertyTypeMap): * svg/svgattrs.in: Add paint-order attribute. LayoutTests: Test parsing and bahvior of the paint-order property. * svg/paint-order/paint-order-fill-expected.svg: Added. * svg/paint-order/paint-order-fill-markers-expected.svg: Added. * svg/paint-order/paint-order-fill-markers.svg: Added. * svg/paint-order/paint-order-fill.svg: Added. * svg/paint-order/paint-order-markers-expected.svg: Added. * svg/paint-order/paint-order-markers-stroke-expected.svg: Added. * svg/paint-order/paint-order-markers-stroke.svg: Added. * svg/paint-order/paint-order-markers.svg: Added. * svg/paint-order/paint-order-normal-expected.svg: Added. * svg/paint-order/paint-order-normal.svg: Added. * svg/paint-order/paint-order-stroke-expected.svg: Added. * svg/paint-order/paint-order-stroke-marker-expected.svg: Added. * svg/paint-order/paint-order-stroke-marker.svg: Added. * svg/paint-order/paint-order-stroke.svg: Added. * svg/paint-order/paint-order-text-markers-expected.svg: Added. * svg/paint-order/paint-order-text-markers.svg: Added. * svg/paint-order/paint-order-text-normal-expected.svg: Added. * svg/paint-order/paint-order-text-normal.svg: Added. * svg/paint-order/paint-order-text-stroke-expected.svg: Added. * svg/paint-order/paint-order-text-stroke.svg: Added. * svg/paint-order/paint-order-text-tspan-001-expected.svg: Added. * svg/paint-order/paint-order-text-tspan-001.svg: Added. * svg/paint-order/paint-order-text-tspan-002-expected.svg: Added. * svg/paint-order/paint-order-text-tspan-002.svg: Added. * svg/paint-order/parsing-paint-order-expected.txt: Added. * svg/paint-order/parsing-paint-order.html: Added. Canonical link: https://commits.webkit.org/148185@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@165595 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-03-14 02:25:41 +00:00
PASS computedStyle("paint-order", "markers markers") is "normal"
Returns inconsistent types for el.style.property and el.style.getPropertyValue('color') https://bugs.webkit.org/show_bug.cgi?id=147549 Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-08-03 Reviewed by Andreas Kling. Source/WebCore: Kudos to Greg Whitworth for finding this bug. Test: fast/css/getPropertyValue-returns-empty-on-missing-property.html * css/CSSStyleDeclaration.idl: Our definition was wrong. Current spec: http://www.w3.org/TR/cssom/#dom-cssstyledeclaration-getpropertyvalue Current draft: https://drafts.csswg.org/cssom/#dom-cssstyledeclaration-getpropertyvalue Gecko and EdgeHTML follow the spec. LayoutTests: The bug is very old, there were a lot of tests to update. The tests in css3/shapes are incorrect W3C tests. I only updated the expected results. The test fast/css/getPropertyValue-returns-empty-on-missing-property.html is the new one covering the bug fix. * animations/script-tests/trigger-parsing.js: (testTriggerRule): * animations/trigger-parsing-expected.txt: * animations/unprefixed-properties-expected.txt: * animations/unprefixed-properties.html: * css3/blending/blend-mode-property-parsing-invalid-expected.txt: * css3/blending/script-tests/blend-mode-property-parsing-invalid.js: (testInvalidFilterRule): * css3/filters/backdrop/backdropfilter-property-parsing-invalid-expected.txt: * css3/filters/backdrop/script-tests/backdropfilter-property-parsing-invalid.js: (testInvalidFilterRule): * css3/filters/filter-property-parsing-invalid-expected.txt: * css3/filters/script-tests/filter-property-parsing-invalid.js: (testInvalidFilterRule): * css3/shapes/shape-outside/values/shape-image-threshold-002-expected.txt: * css3/shapes/shape-outside/values/shape-image-threshold-003-expected.txt: * css3/shapes/shape-outside/values/shape-margin-004-expected.txt: * css3/shapes/shape-outside/values/shape-margin-005-expected.txt: * css3/shapes/shape-outside/values/shape-outside-circle-003-expected.txt: * css3/shapes/shape-outside/values/shape-outside-circle-006-expected.txt: * css3/shapes/shape-outside/values/shape-outside-circle-007-expected.txt: * css3/shapes/shape-outside/values/shape-outside-circle-008-expected.txt: * css3/shapes/shape-outside/values/shape-outside-ellipse-003-expected.txt: * css3/shapes/shape-outside/values/shape-outside-ellipse-006-expected.txt: * css3/shapes/shape-outside/values/shape-outside-ellipse-007-expected.txt: * css3/shapes/shape-outside/values/shape-outside-ellipse-008-expected.txt: * css3/shapes/shape-outside/values/shape-outside-inset-005-expected.txt: * css3/shapes/shape-outside/values/shape-outside-inset-006-expected.txt: * css3/shapes/shape-outside/values/shape-outside-inset-007-expected.txt: * css3/shapes/shape-outside/values/shape-outside-polygon-003-expected.txt: * fast/backgrounds/repeat/parsing-background-repeat-expected.txt: * fast/backgrounds/repeat/script-tests/parsing-background-repeat.js: * fast/backgrounds/size/parsing-background-size-values-expected.txt: * fast/backgrounds/size/resources/parsing-background-size-values.js: * fast/box-decoration-break/box-decoration-break-parsing-expected.txt: * fast/box-decoration-break/box-decoration-break-parsing.html: * fast/box-shadow/box-shadow-parsing-invalid-expected.txt: * fast/box-shadow/script-tests/box-shadow-parsing-invalid.js: (testInvalidFilterRule): * fast/css/background-clip-text-expected.txt: * fast/css/border-spacing-without-vertical-value.html: * fast/css/getPropertyValue-border-expected.txt: * fast/css/getPropertyValue-border.html: * fast/css/getPropertyValue-column-rule-expected.txt: * fast/css/getPropertyValue-column-rule.html: * fast/css/getPropertyValue-columns-expected.txt: * fast/css/getPropertyValue-columns.html: * fast/css/getPropertyValue-returns-empty-on-missing-property-expected.txt: Added. * fast/css/getPropertyValue-returns-empty-on-missing-property.html: Added. * fast/css/getPropertyValue-webkit-margin-collapse-expected.txt: * fast/css/getPropertyValue-webkit-margin-collapse.html: * fast/css/getPropertyValue-webkit-marquee-expected.txt: * fast/css/getPropertyValue-webkit-marquee.html: * fast/css/getPropertyValue-webkit-text-stroke-expected.txt: * fast/css/getPropertyValue-webkit-text-stroke.html: * fast/css/line-height-text-autosizing.html: * fast/css/outline-offset-parsing-expected.txt: * fast/css/parsing-color-correction-expected.txt: * fast/css/parsing-object-fit-expected.txt: * fast/css/parsing-object-fit.html: * fast/css/parsing-text-rendering-expected.txt: * fast/css/parsing-webkit-font-smoothing-expected.txt: * fast/css/resources/parsing-color-correction.js: * fast/css/resources/parsing-text-rendering.js: * fast/css/resources/parsing-webkit-font-smoothing.js: * fast/css/script-tests/background-clip-text.js: * fast/css/script-tests/outline-offset-parsing.js: * fast/css/script-tests/transform-origin-parsing.js: * fast/css/sticky/parsing-position-sticky-expected.txt: * fast/css/sticky/resources/parsing-position-sticky.js: * fast/css/transform-origin-parsing-expected.txt: * fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-roundtrip-expected.txt: * fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-roundtrip.html: * fast/css3-text/font-synthesis-parse-expected.txt: * fast/css3-text/font-synthesis-parse.html: * fast/filter-image/parse-filter-image-expected.txt: * fast/filter-image/parse-filter-image.html: * fast/masking/parsing-clip-path-shape-expected.txt: * fast/masking/parsing-clip-path-shape.html: * fast/masking/parsing-mask-expected.txt: * fast/masking/parsing-mask.html: * fast/shapes/css-shapes-disabled-expected.txt: * fast/shapes/css-shapes-disabled.html: * fast/shapes/parsing/parsing-shape-lengths-expected.txt: * fast/shapes/parsing/parsing-shape-lengths.html: * platform/mac/fast/css/dashboard-region-parser-expected.txt: * platform/mac/fast/css/dashboard-region-parser.html: * platform/mac/fast/text/trailing-word-parse-expected.txt: * platform/mac/fast/text/trailing-word-parse.html: * svg/paint-order/parsing-paint-order-expected.txt: * svg/paint-order/parsing-paint-order.html: Canonical link: https://commits.webkit.org/165676@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187813 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-08-04 05:14:43 +00:00
PASS innerStyle("paint-order", "markers fill markers") is ""
[SVG2] support paint-order presentation attribute https://bugs.webkit.org/show_bug.cgi?id=129373 Reviewed by Dean Jackson. Source/WebCore: Add support for the paint-order property from SVG2. The presentation attribute/CSS property allows to paint fill, stroke and markers in any order the author desires. Firefox supports this but behind a runtime flag. It is just activated in nightly builds by default. Chromium supports it behind a runtime flag as well but is going to ship it pretty soon. Tests: svg/paint-order/paint-order-fill-expected.svg svg/paint-order/paint-order-fill-markers-expected.svg svg/paint-order/paint-order-fill-markers.svg svg/paint-order/paint-order-fill.svg svg/paint-order/paint-order-markers-expected.svg svg/paint-order/paint-order-markers-stroke-expected.svg svg/paint-order/paint-order-markers-stroke.svg svg/paint-order/paint-order-markers.svg svg/paint-order/paint-order-normal-expected.svg svg/paint-order/paint-order-normal.svg svg/paint-order/paint-order-stroke-expected.svg svg/paint-order/paint-order-stroke-marker-expected.svg svg/paint-order/paint-order-stroke-marker.svg svg/paint-order/paint-order-stroke.svg svg/paint-order/paint-order-text-markers-expected.svg svg/paint-order/paint-order-text-markers.svg svg/paint-order/paint-order-text-normal-expected.svg svg/paint-order/paint-order-text-normal.svg svg/paint-order/paint-order-text-stroke-expected.svg svg/paint-order/paint-order-text-stroke.svg svg/paint-order/paint-order-text-tspan-001-expected.svg svg/paint-order/paint-order-text-tspan-001.svg svg/paint-order/paint-order-text-tspan-002-expected.svg svg/paint-order/paint-order-text-tspan-002.svg svg/paint-order/parsing-paint-order.html * css/CSSComputedStyleDeclaration.cpp: Computed style for paint-order. (WebCore::ComputedStyleExtractor::propertyValue): * css/CSSParser.h: * css/CSSPropertyNames.in: * css/CSSValueKeywords.in: * css/SVGCSSComputedStyleDeclaration.cpp: (WebCore::paintOrder): (WebCore::ComputedStyleExtractor::svgPropertyValue): * css/SVGCSSParser.cpp: Parse paint-order. Take care of serialization at this point already to get element style correct. (WebCore::CSSParser::parseSVGValue): (WebCore::CSSParser::parsePaintOrder): * css/SVGCSSStyleSelector.cpp: (WebCore::StyleResolver::applySVGProperty): * rendering/style/SVGRenderStyle.cpp: (WebCore::SVGRenderStyle::paintTypesForPaintOrder): (WebCore::SVGRenderStyle::diff): Repaint on change. * rendering/style/SVGRenderStyle.h: (WebCore::SVGRenderStyle::initialPaintOrder): (WebCore::SVGRenderStyle::setPaintOrder): (WebCore::SVGRenderStyle::paintOrder): (WebCore::SVGRenderStyle::InheritedFlags::operator==): (WebCore::SVGRenderStyle::setBitDefaults): * rendering/style/SVGRenderStyleDefs.h: * rendering/svg/RenderSVGShape.cpp: Change order of painting based on paint-order. (WebCore::RenderSVGShape::strokeShape): (WebCore::RenderSVGShape::fillStrokeMarkers): (WebCore::RenderSVGShape::paint): (WebCore::RenderSVGShape::addFocusRingRects): * rendering/svg/RenderSVGShape.h: * rendering/svg/SVGInlineTextBox.cpp: (WebCore::SVGInlineTextBox::paint): Ditto. * svg/SVGElement.cpp: Make property a presentation attribute. (WebCore::populateAttributeNameToCSSPropertyIDMap): (WebCore::populateAttributeNameToAnimatedPropertyTypeMap): * svg/svgattrs.in: Add paint-order attribute. LayoutTests: Test parsing and bahvior of the paint-order property. * svg/paint-order/paint-order-fill-expected.svg: Added. * svg/paint-order/paint-order-fill-markers-expected.svg: Added. * svg/paint-order/paint-order-fill-markers.svg: Added. * svg/paint-order/paint-order-fill.svg: Added. * svg/paint-order/paint-order-markers-expected.svg: Added. * svg/paint-order/paint-order-markers-stroke-expected.svg: Added. * svg/paint-order/paint-order-markers-stroke.svg: Added. * svg/paint-order/paint-order-markers.svg: Added. * svg/paint-order/paint-order-normal-expected.svg: Added. * svg/paint-order/paint-order-normal.svg: Added. * svg/paint-order/paint-order-stroke-expected.svg: Added. * svg/paint-order/paint-order-stroke-marker-expected.svg: Added. * svg/paint-order/paint-order-stroke-marker.svg: Added. * svg/paint-order/paint-order-stroke.svg: Added. * svg/paint-order/paint-order-text-markers-expected.svg: Added. * svg/paint-order/paint-order-text-markers.svg: Added. * svg/paint-order/paint-order-text-normal-expected.svg: Added. * svg/paint-order/paint-order-text-normal.svg: Added. * svg/paint-order/paint-order-text-stroke-expected.svg: Added. * svg/paint-order/paint-order-text-stroke.svg: Added. * svg/paint-order/paint-order-text-tspan-001-expected.svg: Added. * svg/paint-order/paint-order-text-tspan-001.svg: Added. * svg/paint-order/paint-order-text-tspan-002-expected.svg: Added. * svg/paint-order/paint-order-text-tspan-002.svg: Added. * svg/paint-order/parsing-paint-order-expected.txt: Added. * svg/paint-order/parsing-paint-order.html: Added. Canonical link: https://commits.webkit.org/148185@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@165595 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-03-14 02:25:41 +00:00
PASS computedStyle("paint-order", "markers fill markers") is "normal"
Returns inconsistent types for el.style.property and el.style.getPropertyValue('color') https://bugs.webkit.org/show_bug.cgi?id=147549 Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-08-03 Reviewed by Andreas Kling. Source/WebCore: Kudos to Greg Whitworth for finding this bug. Test: fast/css/getPropertyValue-returns-empty-on-missing-property.html * css/CSSStyleDeclaration.idl: Our definition was wrong. Current spec: http://www.w3.org/TR/cssom/#dom-cssstyledeclaration-getpropertyvalue Current draft: https://drafts.csswg.org/cssom/#dom-cssstyledeclaration-getpropertyvalue Gecko and EdgeHTML follow the spec. LayoutTests: The bug is very old, there were a lot of tests to update. The tests in css3/shapes are incorrect W3C tests. I only updated the expected results. The test fast/css/getPropertyValue-returns-empty-on-missing-property.html is the new one covering the bug fix. * animations/script-tests/trigger-parsing.js: (testTriggerRule): * animations/trigger-parsing-expected.txt: * animations/unprefixed-properties-expected.txt: * animations/unprefixed-properties.html: * css3/blending/blend-mode-property-parsing-invalid-expected.txt: * css3/blending/script-tests/blend-mode-property-parsing-invalid.js: (testInvalidFilterRule): * css3/filters/backdrop/backdropfilter-property-parsing-invalid-expected.txt: * css3/filters/backdrop/script-tests/backdropfilter-property-parsing-invalid.js: (testInvalidFilterRule): * css3/filters/filter-property-parsing-invalid-expected.txt: * css3/filters/script-tests/filter-property-parsing-invalid.js: (testInvalidFilterRule): * css3/shapes/shape-outside/values/shape-image-threshold-002-expected.txt: * css3/shapes/shape-outside/values/shape-image-threshold-003-expected.txt: * css3/shapes/shape-outside/values/shape-margin-004-expected.txt: * css3/shapes/shape-outside/values/shape-margin-005-expected.txt: * css3/shapes/shape-outside/values/shape-outside-circle-003-expected.txt: * css3/shapes/shape-outside/values/shape-outside-circle-006-expected.txt: * css3/shapes/shape-outside/values/shape-outside-circle-007-expected.txt: * css3/shapes/shape-outside/values/shape-outside-circle-008-expected.txt: * css3/shapes/shape-outside/values/shape-outside-ellipse-003-expected.txt: * css3/shapes/shape-outside/values/shape-outside-ellipse-006-expected.txt: * css3/shapes/shape-outside/values/shape-outside-ellipse-007-expected.txt: * css3/shapes/shape-outside/values/shape-outside-ellipse-008-expected.txt: * css3/shapes/shape-outside/values/shape-outside-inset-005-expected.txt: * css3/shapes/shape-outside/values/shape-outside-inset-006-expected.txt: * css3/shapes/shape-outside/values/shape-outside-inset-007-expected.txt: * css3/shapes/shape-outside/values/shape-outside-polygon-003-expected.txt: * fast/backgrounds/repeat/parsing-background-repeat-expected.txt: * fast/backgrounds/repeat/script-tests/parsing-background-repeat.js: * fast/backgrounds/size/parsing-background-size-values-expected.txt: * fast/backgrounds/size/resources/parsing-background-size-values.js: * fast/box-decoration-break/box-decoration-break-parsing-expected.txt: * fast/box-decoration-break/box-decoration-break-parsing.html: * fast/box-shadow/box-shadow-parsing-invalid-expected.txt: * fast/box-shadow/script-tests/box-shadow-parsing-invalid.js: (testInvalidFilterRule): * fast/css/background-clip-text-expected.txt: * fast/css/border-spacing-without-vertical-value.html: * fast/css/getPropertyValue-border-expected.txt: * fast/css/getPropertyValue-border.html: * fast/css/getPropertyValue-column-rule-expected.txt: * fast/css/getPropertyValue-column-rule.html: * fast/css/getPropertyValue-columns-expected.txt: * fast/css/getPropertyValue-columns.html: * fast/css/getPropertyValue-returns-empty-on-missing-property-expected.txt: Added. * fast/css/getPropertyValue-returns-empty-on-missing-property.html: Added. * fast/css/getPropertyValue-webkit-margin-collapse-expected.txt: * fast/css/getPropertyValue-webkit-margin-collapse.html: * fast/css/getPropertyValue-webkit-marquee-expected.txt: * fast/css/getPropertyValue-webkit-marquee.html: * fast/css/getPropertyValue-webkit-text-stroke-expected.txt: * fast/css/getPropertyValue-webkit-text-stroke.html: * fast/css/line-height-text-autosizing.html: * fast/css/outline-offset-parsing-expected.txt: * fast/css/parsing-color-correction-expected.txt: * fast/css/parsing-object-fit-expected.txt: * fast/css/parsing-object-fit.html: * fast/css/parsing-text-rendering-expected.txt: * fast/css/parsing-webkit-font-smoothing-expected.txt: * fast/css/resources/parsing-color-correction.js: * fast/css/resources/parsing-text-rendering.js: * fast/css/resources/parsing-webkit-font-smoothing.js: * fast/css/script-tests/background-clip-text.js: * fast/css/script-tests/outline-offset-parsing.js: * fast/css/script-tests/transform-origin-parsing.js: * fast/css/sticky/parsing-position-sticky-expected.txt: * fast/css/sticky/resources/parsing-position-sticky.js: * fast/css/transform-origin-parsing-expected.txt: * fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-roundtrip-expected.txt: * fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-roundtrip.html: * fast/css3-text/font-synthesis-parse-expected.txt: * fast/css3-text/font-synthesis-parse.html: * fast/filter-image/parse-filter-image-expected.txt: * fast/filter-image/parse-filter-image.html: * fast/masking/parsing-clip-path-shape-expected.txt: * fast/masking/parsing-clip-path-shape.html: * fast/masking/parsing-mask-expected.txt: * fast/masking/parsing-mask.html: * fast/shapes/css-shapes-disabled-expected.txt: * fast/shapes/css-shapes-disabled.html: * fast/shapes/parsing/parsing-shape-lengths-expected.txt: * fast/shapes/parsing/parsing-shape-lengths.html: * platform/mac/fast/css/dashboard-region-parser-expected.txt: * platform/mac/fast/css/dashboard-region-parser.html: * platform/mac/fast/text/trailing-word-parse-expected.txt: * platform/mac/fast/text/trailing-word-parse.html: * svg/paint-order/parsing-paint-order-expected.txt: * svg/paint-order/parsing-paint-order.html: Canonical link: https://commits.webkit.org/165676@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187813 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-08-04 05:14:43 +00:00
PASS innerStyle("paint-order", "markers stroke markers") is ""
[SVG2] support paint-order presentation attribute https://bugs.webkit.org/show_bug.cgi?id=129373 Reviewed by Dean Jackson. Source/WebCore: Add support for the paint-order property from SVG2. The presentation attribute/CSS property allows to paint fill, stroke and markers in any order the author desires. Firefox supports this but behind a runtime flag. It is just activated in nightly builds by default. Chromium supports it behind a runtime flag as well but is going to ship it pretty soon. Tests: svg/paint-order/paint-order-fill-expected.svg svg/paint-order/paint-order-fill-markers-expected.svg svg/paint-order/paint-order-fill-markers.svg svg/paint-order/paint-order-fill.svg svg/paint-order/paint-order-markers-expected.svg svg/paint-order/paint-order-markers-stroke-expected.svg svg/paint-order/paint-order-markers-stroke.svg svg/paint-order/paint-order-markers.svg svg/paint-order/paint-order-normal-expected.svg svg/paint-order/paint-order-normal.svg svg/paint-order/paint-order-stroke-expected.svg svg/paint-order/paint-order-stroke-marker-expected.svg svg/paint-order/paint-order-stroke-marker.svg svg/paint-order/paint-order-stroke.svg svg/paint-order/paint-order-text-markers-expected.svg svg/paint-order/paint-order-text-markers.svg svg/paint-order/paint-order-text-normal-expected.svg svg/paint-order/paint-order-text-normal.svg svg/paint-order/paint-order-text-stroke-expected.svg svg/paint-order/paint-order-text-stroke.svg svg/paint-order/paint-order-text-tspan-001-expected.svg svg/paint-order/paint-order-text-tspan-001.svg svg/paint-order/paint-order-text-tspan-002-expected.svg svg/paint-order/paint-order-text-tspan-002.svg svg/paint-order/parsing-paint-order.html * css/CSSComputedStyleDeclaration.cpp: Computed style for paint-order. (WebCore::ComputedStyleExtractor::propertyValue): * css/CSSParser.h: * css/CSSPropertyNames.in: * css/CSSValueKeywords.in: * css/SVGCSSComputedStyleDeclaration.cpp: (WebCore::paintOrder): (WebCore::ComputedStyleExtractor::svgPropertyValue): * css/SVGCSSParser.cpp: Parse paint-order. Take care of serialization at this point already to get element style correct. (WebCore::CSSParser::parseSVGValue): (WebCore::CSSParser::parsePaintOrder): * css/SVGCSSStyleSelector.cpp: (WebCore::StyleResolver::applySVGProperty): * rendering/style/SVGRenderStyle.cpp: (WebCore::SVGRenderStyle::paintTypesForPaintOrder): (WebCore::SVGRenderStyle::diff): Repaint on change. * rendering/style/SVGRenderStyle.h: (WebCore::SVGRenderStyle::initialPaintOrder): (WebCore::SVGRenderStyle::setPaintOrder): (WebCore::SVGRenderStyle::paintOrder): (WebCore::SVGRenderStyle::InheritedFlags::operator==): (WebCore::SVGRenderStyle::setBitDefaults): * rendering/style/SVGRenderStyleDefs.h: * rendering/svg/RenderSVGShape.cpp: Change order of painting based on paint-order. (WebCore::RenderSVGShape::strokeShape): (WebCore::RenderSVGShape::fillStrokeMarkers): (WebCore::RenderSVGShape::paint): (WebCore::RenderSVGShape::addFocusRingRects): * rendering/svg/RenderSVGShape.h: * rendering/svg/SVGInlineTextBox.cpp: (WebCore::SVGInlineTextBox::paint): Ditto. * svg/SVGElement.cpp: Make property a presentation attribute. (WebCore::populateAttributeNameToCSSPropertyIDMap): (WebCore::populateAttributeNameToAnimatedPropertyTypeMap): * svg/svgattrs.in: Add paint-order attribute. LayoutTests: Test parsing and bahvior of the paint-order property. * svg/paint-order/paint-order-fill-expected.svg: Added. * svg/paint-order/paint-order-fill-markers-expected.svg: Added. * svg/paint-order/paint-order-fill-markers.svg: Added. * svg/paint-order/paint-order-fill.svg: Added. * svg/paint-order/paint-order-markers-expected.svg: Added. * svg/paint-order/paint-order-markers-stroke-expected.svg: Added. * svg/paint-order/paint-order-markers-stroke.svg: Added. * svg/paint-order/paint-order-markers.svg: Added. * svg/paint-order/paint-order-normal-expected.svg: Added. * svg/paint-order/paint-order-normal.svg: Added. * svg/paint-order/paint-order-stroke-expected.svg: Added. * svg/paint-order/paint-order-stroke-marker-expected.svg: Added. * svg/paint-order/paint-order-stroke-marker.svg: Added. * svg/paint-order/paint-order-stroke.svg: Added. * svg/paint-order/paint-order-text-markers-expected.svg: Added. * svg/paint-order/paint-order-text-markers.svg: Added. * svg/paint-order/paint-order-text-normal-expected.svg: Added. * svg/paint-order/paint-order-text-normal.svg: Added. * svg/paint-order/paint-order-text-stroke-expected.svg: Added. * svg/paint-order/paint-order-text-stroke.svg: Added. * svg/paint-order/paint-order-text-tspan-001-expected.svg: Added. * svg/paint-order/paint-order-text-tspan-001.svg: Added. * svg/paint-order/paint-order-text-tspan-002-expected.svg: Added. * svg/paint-order/paint-order-text-tspan-002.svg: Added. * svg/paint-order/parsing-paint-order-expected.txt: Added. * svg/paint-order/parsing-paint-order.html: Added. Canonical link: https://commits.webkit.org/148185@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@165595 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-03-14 02:25:41 +00:00
PASS computedStyle("paint-order", "markers stroke markers") is "normal"
PASS successfullyParsed is true
TEST COMPLETE