Changeset 286795 in webkit
- Timestamp:
- Dec 9, 2021 12:22:34 PM (7 months ago)
- Location:
- trunk
- Files:
-
- 12 added
- 94 edited
- 15 copied
-
LayoutTests/ChangeLog (modified) (1 diff)
-
LayoutTests/TestExpectations (modified) (2 diffs)
-
LayoutTests/fast/css/getComputedStyle/resources/property-names.js (modified) (1 diff)
-
LayoutTests/fast/css/remove-shorthand-expected.txt (modified) (1 diff)
-
LayoutTests/fast/css/uri-token-parsing-expected.txt (modified) (2 diffs)
-
LayoutTests/fast/css/uri-token-parsing.html (modified) (1 diff)
-
LayoutTests/fast/css/webkit-mask-crash-implicit-expected.txt (modified) (1 diff)
-
LayoutTests/fast/css/webkit-mask-crash-implicit.html (modified) (1 diff)
-
LayoutTests/fast/masking/parsing-mask-expected.txt (modified) (1 diff)
-
LayoutTests/fast/masking/parsing-mask-mode.html (modified) (1 diff)
-
LayoutTests/fast/masking/parsing-mask.html (modified) (1 diff)
-
LayoutTests/fast/masking/parsing-webkit-mask-expected.txt (copied) (copied from trunk/LayoutTests/fast/masking/parsing-mask-expected.txt) (2 diffs)
-
LayoutTests/fast/masking/parsing-webkit-mask.html (copied) (copied from trunk/LayoutTests/fast/masking/parsing-mask.html) (2 diffs)
-
LayoutTests/imported/w3c/ChangeLog (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt (modified) (2 diffs)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/animations/mask-image-interpolation-expected.txt (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/animations/mask-position-interpolation-expected.txt (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-expected.html (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-filter-expected.html (copied) (copied from trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-expected.html) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-filter.html (copied) (copied from trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation.html) (3 diffs)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-incompatible-shapes1-expected.html (copied) (copied from trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-expected.html) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-incompatible-shapes1.html (copied) (copied from trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation.html) (4 diffs)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-incompatible-shapes2-expected.html (copied) (copied from trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-expected.html) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-incompatible-shapes2.html (copied) (copied from trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation.html) (3 diffs)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-overflow-expected.html (added)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-overflow.html (copied) (copied from trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation.html) (2 diffs)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-three-keyframes1-expected.html (copied) (copied from trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-expected.html) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-three-keyframes1.html (copied) (copied from trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation.html) (4 diffs)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-three-keyframes2-expected.html (copied) (copied from trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-expected.html) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-three-keyframes2.html (copied) (copied from trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation.html) (3 diffs)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation.html (modified) (3 diffs)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-transition-expected.html (copied) (copied from trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-expected.html) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-transition.html (copied) (copied from trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation.html) (2 diffs)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/w3c-import.log (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/clip-path-columns-shape-002.html (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/clip-path-descendant-text-mutated-001.html (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/clip-path-element-userSpaceOnUse-001.html (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/clip-path-element-userSpaceOnUse-002.html (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/clip-path-element-userSpaceOnUse-003.html (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/clip-path-element-userSpaceOnUse-004.html (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/clip-path-fixed-scroll-expected.html (added)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/clip-path-fixed-scroll.html (added)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/clip-path-path-001-expected.html (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/clip-path-path-002-expected.html (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/clip-path-path-interpolation-001-expected.html (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/clip-path-path-interpolation-002-expected.html (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/clip-path-reference-restore.html (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/clip-path-svg-invalidate-expected.html (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/clip-path-svg-invalidate.html (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/clip-path-svg-text-backdrop-filter.html (modified) (2 diffs)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/clip-path-svg-text-font-loading.html (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/clip-path-transform-mutated-001.html (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/clip-path-transform-mutated-002.html (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/clip-path-url-reference-change-from-empty.html (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/clip-path-url-reference-change.html (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/reference-local-url-with-base-001.html (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/reference-mutated.html (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/reference-nonexisting-existing-local.html (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/w3c-import.log (modified) (2 diffs)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-rule/clip-rule-001.html (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-rule/clip-rule-002.html (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/hit-test/clip-path-element-objectboundingbox-001.html (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/hit-test/clip-path-element-objectboundingbox-002.html (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/hit-test/clip-path-element-userspaceonuse-001.html (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/idlharness.html (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/inheritance.sub-expected.txt (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-data-url-image-expected.html (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/parsing/mask-position-valid-expected.txt (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-masking/parsing/mask-valid.sub-expected.txt (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-002-expected.txt (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-002-expected.txt (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-002-expected.txt (modified) (1 diff)
-
LayoutTests/platform/mac/fast/css/getComputedStyle/computed-style-expected.txt (modified) (2 diffs)
-
LayoutTests/platform/mac/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt (modified) (2 diffs)
-
LayoutTests/platform/mac/imported/w3c/web-platform-tests/css/css-masking (added)
-
LayoutTests/platform/mac/imported/w3c/web-platform-tests/css/css-masking/animations (added)
-
LayoutTests/platform/mac/imported/w3c/web-platform-tests/css/css-masking/animations/mask-image-interpolation-expected.png (added)
-
LayoutTests/platform/mac/imported/w3c/web-platform-tests/css/css-masking/parsing (added)
-
LayoutTests/platform/mac/imported/w3c/web-platform-tests/css/css-masking/parsing/mask-valid.sub-expected.png (added)
-
LayoutTests/platform/mac/svg/css/getComputedStyle-basic-expected.txt (modified) (4 diffs)
-
LayoutTests/svg/css/computed-style-url-serializing-expected.txt (modified) (1 diff)
-
LayoutTests/svg/css/computed-style-url-serializing.html (modified) (1 diff)
-
LayoutTests/svg/masking/mask-external-reference-expected.svg (added)
-
LayoutTests/svg/masking/mask-external-reference.svg (added)
-
LayoutTests/svg/masking/resources (added)
-
LayoutTests/svg/masking/resources/mask-resource.svg (added)
-
Source/WebCore/ChangeLog (modified) (1 diff)
-
Source/WebCore/animation/CSSPropertyAnimation.cpp (modified) (4 diffs)
-
Source/WebCore/css/CSSComputedStyleDeclaration.cpp (modified) (12 diffs)
-
Source/WebCore/css/CSSComputedStyleDeclaration.h (modified) (1 diff)
-
Source/WebCore/css/CSSImageValue.cpp (modified) (2 diffs)
-
Source/WebCore/css/CSSImageValue.h (modified) (3 diffs)
-
Source/WebCore/css/CSSPrimitiveValue.h (modified) (3 diffs)
-
Source/WebCore/css/CSSPrimitiveValueMappings.h (modified) (5 diffs)
-
Source/WebCore/css/CSSProperties.json (modified) (4 diffs)
-
Source/WebCore/css/CSSToStyleMap.cpp (modified) (1 diff)
-
Source/WebCore/css/CSSValueKeywords.in (modified) (1 diff)
-
Source/WebCore/css/CSSValuePool.h (modified) (1 diff)
-
Source/WebCore/css/SVGCSSComputedStyleDeclaration.cpp (modified) (1 diff)
-
Source/WebCore/css/StyleProperties.cpp (modified) (6 diffs)
-
Source/WebCore/css/parser/CSSPropertyParser.cpp (modified) (15 diffs)
-
Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp (modified) (1 diff)
-
Source/WebCore/display/css/DisplayBoxDecorationPainter.cpp (modified) (2 diffs)
-
Source/WebCore/rendering/style/FillLayer.cpp (modified) (2 diffs)
-
Source/WebCore/rendering/style/FillLayer.h (modified) (1 diff)
-
Source/WebCore/rendering/style/RenderStyle.cpp (modified) (1 diff)
-
Source/WebCore/rendering/style/RenderStyle.h (modified) (1 diff)
-
Source/WebCore/rendering/style/RenderStyleConstants.cpp (modified) (1 diff)
-
Source/WebCore/rendering/style/RenderStyleConstants.h (modified) (1 diff)
-
Source/WebCore/rendering/style/SVGRenderStyle.cpp (modified) (6 diffs)
-
Source/WebCore/rendering/style/SVGRenderStyle.h (modified) (6 diffs)
-
Source/WebCore/rendering/style/SVGRenderStyleDefs.cpp (modified) (2 diffs)
-
Source/WebCore/rendering/style/SVGRenderStyleDefs.h (modified) (2 diffs)
-
Source/WebCore/rendering/style/StyleCachedImage.cpp (modified) (1 diff)
-
Source/WebCore/rendering/style/StyleCachedImage.h (modified) (1 diff)
-
Source/WebCore/rendering/style/WillChangeData.cpp (modified) (2 diffs)
-
Source/WebCore/rendering/svg/SVGRenderSupport.cpp (modified) (2 diffs)
-
Source/WebCore/rendering/svg/SVGRenderTreeAsText.cpp (modified) (2 diffs)
-
Source/WebCore/rendering/svg/SVGRenderingContext.cpp (modified) (2 diffs)
-
Source/WebCore/rendering/svg/SVGResources.cpp (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r286794 r286795 1 2021-12-09 Matt Woodrow <matt.woodrow@gmail.com> 2 3 Unprefix -webkit-mask 4 https://bugs.webkit.org/show_bug.cgi?id=229082 5 6 Reviewed by Antti Koivisto. 7 8 * fast/masking/parsing-mask-expected.txt: 9 * fast/masking/parsing-mask-mode.html: 10 * fast/masking/parsing-mask.html: 11 * fast/masking/parsing-webkit-mask-expected.txt: Copied from LayoutTests/fast/masking/parsing-mask-expected.txt. 12 * fast/masking/parsing-webkit-mask.html: Copied from LayoutTests/fast/masking/parsing-mask.html. 13 * platform/mac/imported/w3c/web-platform-tests/css/css-masking/animations/mask-image-interpolation-expected.png: Added. 14 * platform/mac/imported/w3c/web-platform-tests/css/css-masking/parsing/mask-valid.sub-expected.png: Added. 15 * svg/masking/mask-external-reference-expected.svg: Added. 16 * svg/masking/mask-external-reference.svg: Added. 17 * svg/masking/resources/mask-resource.svg: Added. 18 1 19 2021-12-09 Tyler Wilcock <tyler_w@apple.com> 2 20 -
trunk/LayoutTests/TestExpectations
r286763 r286795 2188 2188 webkit.org/b/229510 imported/w3c/web-platform-tests/css/css-masking/clip-path/clip-path-descendant-text-mutated-001.html [ ImageOnlyFailure ] 2189 2189 2190 webkit.org/b/229370 imported/w3c/web-platform-tests/css/css-masking/clip-path/clip-path-svg-text-backdrop-filter.html [ ImageOnlyFailure ]2191 2190 webkit.org/b/229370 imported/w3c/web-platform-tests/css/css-masking/clip/clip-filter-order.html [ ImageOnlyFailure ] 2192 webkit.org/b/229370 imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-clip-exclude.html [ ImageOnlyFailure ]2193 webkit.org/b/229370 imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-url-image-hash.html [ ImageOnlyFailure ]2194 webkit.org/b/229370 imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-url-image.html [ ImageOnlyFailure ]2195 2191 webkit.org/b/229370 imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-url-local-mask.html [ ImageOnlyFailure ] 2196 2192 webkit.org/b/229370 imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-url-remote-mask.html [ ImageOnlyFailure ] 2193 2194 webkit.org/b/233543 imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-ib-split.html [ ImageOnlyFailure ] 2195 webkit.org/b/233543 imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-ib-split-2.html [ ImageOnlyFailure ] 2196 2197 # Subtly different antialiasing on the clip path 2198 imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-three-keyframes2.html [ ImageOnlyFailure ] 2197 2199 2198 2200 # A support file for a test … … 4472 4474 webkit.org/b/214456 imported/w3c/web-platform-tests/css/css-images/tiled-conic-gradients.html [ ImageOnlyFailure ] 4473 4475 4476 webkit.org/b/149828 imported/w3c/web-platform-tests/css/css-images/image-orientation/image-orientation-mask-image.html [ ImageOnlyFailure ] 4477 4474 4478 webkit.org/b/214457 imported/w3c/web-platform-tests/css/css-lists/change-list-descendant-display.html [ ImageOnlyFailure ] 4475 4479 webkit.org/b/214457 imported/w3c/web-platform-tests/css/css-lists/counter-set-001.html [ ImageOnlyFailure ] -
trunk/LayoutTests/fast/css/getComputedStyle/resources/property-names.js
r285615 r286795 90 90 "-webkit-mask-clip": true, 91 91 "-webkit-mask-composite": true, 92 " -webkit-mask-image": true,93 " -webkit-mask-origin": true,92 "mask-image": true, 93 "mask-origin": true, 94 94 "-webkit-mask-position": true, 95 " -webkit-mask-repeat": true,96 " -webkit-mask-size": true,95 "mask-repeat": true, 96 "mask-size": true, 97 97 "-webkit-nbsp-mode": true, 98 98 "order": true, -
trunk/LayoutTests/fast/css/remove-shorthand-expected.txt
r286652 r286795 58 58 and adds "". 59 59 Removing -webkit-mask 60 removes " -webkit-mask"60 removes "mask-image, -webkit-mask-position-x, -webkit-mask-position-y, mask-repeat-x, mask-repeat-y, -webkit-mask" 61 61 and adds "". 62 62 Removing -webkit-mask-position 63 removes "-webkit-mask "64 and adds " -webkit-mask-image, -webkit-mask-repeat-x, -webkit-mask-repeat-y".63 removes "-webkit-mask-position-x, -webkit-mask-position-y, -webkit-mask" 64 and adds "". 65 65 Removing overflow 66 66 removes "overflow" -
trunk/LayoutTests/fast/css/uri-token-parsing-expected.txt
r279050 r286795 22 22 #r { list-style-image: url("url(r)"); } 23 23 #s { background-image: url("url(s)"); } 24 #t { -webkit-mask-image: url("url(t)"); }24 #t { mask-image: url("url(t)"); } 25 25 #u { -webkit-border-image: url("url(u)") 1 2 3 4 fill stretch round; } 26 26 #v { -webkit-mask-box-image: url("url(v)") 1 2 3 4 fill stretch round; } … … 47 47 #r { list-style-image: url("url(r)"); } 48 48 #s { background-image: url("url(s)"); } 49 #t { -webkit-mask-image: url("url(t)"); }49 #t { mask-image: url("url(t)"); } 50 50 #u { -webkit-border-image: url("url(u)") 1 2 3 4 fill stretch round; } 51 51 #v { -webkit-mask-box-image: url("url(v)") 1 2 3 4 fill stretch round; } -
trunk/LayoutTests/fast/css/uri-token-parsing.html
r279050 r286795 90 90 #r { list-style-image: url("url(r)"); } 91 91 #s { background-image: url("url(s)"); } 92 #t { -webkit-mask-image: url("url(t)"); }92 #t { mask-image: url("url(t)"); } 93 93 #u { -webkit-border-image: url("url(u)") 1 2 3 4 fill stretch round; } 94 94 #v { -webkit-mask-box-image: url("url(v)") 1 2 3 4 fill stretch round; } -
trunk/LayoutTests/fast/css/webkit-mask-crash-implicit-expected.txt
r278933 r286795 1 PASS document.styleSheets[1].rules[0].style.cssText is " -webkit-mask-repeat-x: repeat; -webkit-mask-repeat-y: no-repeat;"1 PASS document.styleSheets[1].rules[0].style.cssText is "mask-repeat-x: repeat; mask-repeat-y: no-repeat;" 2 2 PASS document.styleSheets[1].rules[0].style.getPropertyValue('-webkit-mask') is "" 3 3 PASS document.styleSheets[1].rules[0].style.getPropertyValue('-webkit-mask-repeat') is "repeat-x" -
trunk/LayoutTests/fast/css/webkit-mask-crash-implicit.html
r278933 r286795 10 10 if (window.internals) 11 11 testRunner.dumpAsText(); 12 shouldBeEqualToString("document.styleSheets[1].rules[0].style.cssText", " -webkit-mask-repeat-x: repeat; -webkit-mask-repeat-y: no-repeat;");12 shouldBeEqualToString("document.styleSheets[1].rules[0].style.cssText", "mask-repeat-x: repeat; mask-repeat-y: no-repeat;"); 13 13 shouldBeEqualToString("document.styleSheets[1].rules[0].style.getPropertyValue('-webkit-mask')", ""); 14 14 shouldBeEqualToString("document.styleSheets[1].rules[0].style.getPropertyValue('-webkit-mask-repeat')", "repeat-x"); -
trunk/LayoutTests/fast/masking/parsing-mask-expected.txt
r231359 r286795 4 4 5 5 6 PASS innerStyle("-webkit-mask", "none") is "none" 7 PASS innerStyle("-webkit-mask", "none, none") is "none, none" 8 PASS innerStyle("-webkit-mask", "none, none, none") is "none, none, none" 9 PASS innerStyle("-webkit-mask", "url(file:///image.png), none") is "url(\"file:///image.png\"), none" 10 PASS innerStyle("-webkit-mask", "none, url(file:///image.png)") is "none, url(\"file:///image.png\")" 11 PASS innerStyle("-webkit-mask", "top left") is "left top" 12 PASS innerStyle("-webkit-mask", "bottom right") is "right bottom" 13 PASS innerStyle("-webkit-mask", "left bottom") is "left bottom" 14 PASS innerStyle("-webkit-mask", "right top") is "right top" 15 PASS innerStyle("-webkit-mask", "center") is "center center" 16 PASS innerStyle("-webkit-mask", "none top") is "none center top" 17 PASS innerStyle("-webkit-mask", "none bottom") is "none center bottom" 18 PASS innerStyle("-webkit-mask", "none right") is "none right center" 19 PASS innerStyle("-webkit-mask", "none top right") is "none right top" 20 PASS innerStyle("-webkit-mask", "none bottom left") is "none left bottom" 21 PASS innerStyle("-webkit-mask", "none right") is "none right center" 22 PASS innerStyle("-webkit-mask", "none left") is "none left center" 23 PASS innerStyle("-webkit-mask", "center 50%") is "center 50%" 24 PASS innerStyle("-webkit-mask", "50px 50%") is "50px 50%" 25 PASS innerStyle("-webkit-mask", "center left") is "left center" 26 PASS innerStyle("-webkit-mask", "top center") is "center top" 27 PASS innerStyle("-webkit-mask", "left 10px top 15px") is "left 10px top 15px" 28 PASS innerStyle("-webkit-mask", "left 10% top 30%") is "left 10% top 30%" 29 PASS innerStyle("-webkit-mask", "right top 15px") is "right top 15px" 30 PASS innerStyle("-webkit-mask", "left 10px center") is "left 10px center" 31 PASS innerStyle("-webkit-mask", "center top 20px") is "center top 20px" 32 PASS innerStyle("-webkit-mask", "center left 30px") is "left 30px center" 33 PASS innerStyle("-webkit-mask", "left 20% top") is "left 20% top" 34 PASS innerStyle("-webkit-mask", "center center") is "center center" 35 PASS innerStyle("-webkit-mask-position", "left 10px top 15px") is "left 10px top 15px" 36 PASS innerStyle("-webkit-mask-position", "left 10% top 30%") is "left 10% top 30%" 37 PASS innerStyle("-webkit-mask-position", "right top 15px") is "right top 15px" 38 PASS innerStyle("-webkit-mask-position", "left 10px center") is "left 10px center" 39 PASS innerStyle("-webkit-mask-position", "center top 20px") is "center top 20px" 40 PASS innerStyle("-webkit-mask-position", "center left 30px") is "left 30px center" 41 PASS innerStyle("-webkit-mask-position", "left 20% top") is "left 20% top" 42 PASS innerStyle("-webkit-mask", "none alpha") is "none alpha" 43 PASS innerStyle("-webkit-mask", "none luminance, none alpha") is "none luminance, none alpha" 44 PASS innerStyle("-webkit-mask", "none auto, none, none luminance") is "none auto, none, none luminance" 45 PASS innerStyle("-webkit-mask-source-type", "alpha") is "alpha" 46 PASS innerStyle("-webkit-mask-source-type", "luminance") is "luminance" 47 PASS innerStyle("-webkit-mask-source-type", "auto") is "auto" 48 PASS computedStyle("-webkit-mask-source-type", "alpha") is "alpha" 49 PASS computedStyle("-webkit-mask-source-type", "auto") is "alpha" 50 PASS computedStyle("-webkit-mask-source-type", "luminance") is "luminance" 51 PASS computedStyle("-webkit-mask-source-type", "") is "alpha" 52 PASS innerStyle("-webkit-mask", "repeat-x") is "repeat-x" 53 PASS innerStyle("-webkit-mask", "repeat-y") is "repeat-y" 54 PASS innerStyle("-webkit-mask", "repeat") is "repeat" 55 PASS innerStyle("-webkit-mask", "space") is "space" 56 PASS innerStyle("-webkit-mask", "no-repeat") is "no-repeat" 57 PASS innerStyle("-webkit-mask", "repeat space") is "repeat space" 58 PASS innerStyle("-webkit-mask", "repeat round") is "repeat round" 59 PASS innerStyle("-webkit-mask", "repeat no-repeat") is "repeat no-repeat" 60 PASS innerStyle("-webkit-mask", "repeat space, repeat-x") is "repeat space, repeat-x" 61 PASS innerStyle("-webkit-mask", "repeat none") is "none repeat" 62 PASS innerStyle("-webkit-mask", "none repeat") is "none repeat" 63 PASS innerStyle("-webkit-mask", "padding-box") is "padding-box padding-box" 64 PASS innerStyle("-webkit-mask", "border-box") is "border-box border-box" 65 PASS innerStyle("-webkit-mask", "content-box") is "content-box content-box" 66 PASS innerStyle("-webkit-mask", "padding-box none") is "none padding-box padding-box" 67 PASS innerStyle("-webkit-mask", "none padding-box") is "none padding-box padding-box" 68 PASS innerStyle("-webkit-mask", "padding-box content-box") is "padding-box content-box" 69 PASS innerStyle("-webkit-mask", "content-box content-box") is "content-box content-box" 70 PASS innerStyle("-webkit-mask", "padding-box border-box") is "padding-box border-box" 71 PASS innerStyle("-webkit-mask", "padding-box border-box none") is "none padding-box border-box" 72 PASS innerStyle("-webkit-mask", "none padding-box border-box") is "none padding-box border-box" 73 PASS innerStyle("-webkit-mask", "none left top / auto") is "none left top / auto" 74 PASS innerStyle("-webkit-mask", "none left top / auto auto") is "none left top / auto" 75 PASS innerStyle("-webkit-mask", "none left top / 100%") is "none left top / 100%" 76 PASS innerStyle("-webkit-mask", "none left top / 100% 100%") is "none left top / 100% 100%" 77 PASS innerStyle("-webkit-mask", "none left top / 0%") is "none left top / 0%" 78 PASS innerStyle("-webkit-mask", "none left top / auto 0%") is "none left top / auto 0%" 79 PASS innerStyle("-webkit-mask", "none left top / cover") is "none left top / cover" 80 PASS innerStyle("-webkit-mask", "none left top / contain") is "none left top / contain" 81 PASS innerStyle("-webkit-mask", "none left 20px top 10px / contain") is "none left 20px top 10px / contain" 82 PASS innerStyle("-webkit-mask", "none left 20px top / contain") is "none left 20px top / contain" 83 PASS innerStyle("-webkit-mask", "none padding-box content-box") is "none padding-box content-box" 84 PASS innerStyle("-webkit-mask", "none padding-box") is "none padding-box padding-box" 85 PASS innerStyle("-webkit-mask", "none top") is "none center top" 86 PASS innerStyle("-webkit-mask", "none center right 20px") is "none right 20px center" 87 PASS innerStyle("-webkit-mask", "none border-box left top") is "none left top border-box border-box" 88 PASS innerStyle("-webkit-mask", "none border-box left top 20px") is "none left top 20px border-box border-box" 89 PASS innerStyle("-webkit-mask", "none border-box content-box left top repeat-x") is "none left top repeat-x border-box content-box" 90 PASS innerStyle("-webkit-mask", "none border-box content-box left top / auto repeat-x") is "none left top / auto repeat-x border-box content-box" 91 PASS innerStyle("-webkit-mask", "none border-box content-box right 0px center / auto repeat-x") is "none right 0px center / auto repeat-x border-box content-box" 92 PASS innerStyle("-webkit-mask", "top none left") is "" 93 PASS innerStyle("-webkit-mask", "right none bottom") is "" 94 PASS innerStyle("-webkit-mask", "right right") is "" 95 PASS innerStyle("-webkit-mask", "left left") is "" 96 PASS innerStyle("-webkit-mask", "top top") is "" 97 PASS innerStyle("-webkit-mask", "bottom bottom") is "" 98 PASS innerStyle("-webkit-mask", "50% none 50%") is "" 99 PASS innerStyle("-webkit-mask", "repeat-x repeat-x") is "" 100 PASS innerStyle("-webkit-mask", "space repeat-y") is "" 101 PASS innerStyle("-webkit-mask", "repeat space space") is "" 102 PASS innerStyle("-webkit-mask", "padding-box border-box content-box") is "" 103 PASS innerStyle("-webkit-mask", "none / auto") is "" 104 PASS innerStyle("-webkit-mask", "none repeat-x / auto") is "" 105 PASS innerStyle("-webkit-mask", "none border-box / auto") is "" 106 PASS innerStyle("-webkit-mask", "none top left / cover 100%") is "" 107 PASS innerStyle("-webkit-mask", "scroll") is "" 108 PASS innerStyle("-webkit-mask", "fixed") is "" 109 PASS innerStyle("-webkit-mask", "local") is "" 110 PASS innerStyle("-webkit-mask", "space scroll") is "" 111 PASS innerStyle("-webkit-mask", "none scroll") is "" 112 PASS innerStyle("-webkit-mask", "none top left / auto repeat-x scroll border-box border-box") is "" 113 PASS innerStyle("-webkit-mask", "right top left") is "" 114 PASS innerStyle("-webkit-mask", "center left center") is "" 115 PASS innerStyle("-webkit-mask", "center top center") is "" 116 PASS innerStyle("-webkit-mask", "center right bottom") is "" 117 PASS innerStyle("-webkit-mask", "top solid bottom") is "" 118 PASS innerStyle("-webkit-mask", "none top left right center top / auto repeat-x scroll border-box border-box") is "" 119 PASS innerStyle("-webkit-mask", "none center center 20px / auto repeat-x scroll border-box border-box") is "" 120 PASS innerStyle("-webkit-mask", "none top 20px right 30px center / auto repeat-x scroll border-box border-box") is "" 121 PASS innerStyle("-webkit-mask", "none top 20px top 30px / auto repeat-x scroll border-box border-box") is "" 122 PASS innerStyle("-webkit-mask", "none top 20px bottom / auto repeat-x scroll border-box border-box") is "" 123 PASS innerStyle("-webkit-mask", "none alpha, none auto alpha") is "" 124 PASS innerStyle("-webkit-mask", "none alpha luminance") is "" 125 PASS innerStyle("-webkit-mask-source-type", "rubbish") is "" 126 PASS innerStyle("-webkit-mask-source-type", "") is "" 127 PASS innerStyle("-webkit-mask-source-type", "center") is "" 128 PASS innerStyle("-webkit-mask-source-type", "repeat") is "" 6 PASS innerStyle("mask", "none") is "none" 7 PASS innerStyle("mask", "none, none") is "none, none" 8 PASS innerStyle("mask", "none, none, none") is "none, none, none" 9 PASS innerStyle("mask", "url(file:///image.png), none") is "url(\"file:///image.png\"), none" 10 PASS innerStyle("mask", "none, url(file:///image.png)") is "none, url(\"file:///image.png\")" 11 PASS innerStyle("mask", "top left") is "left top" 12 PASS innerStyle("mask", "bottom right") is "right bottom" 13 PASS innerStyle("mask", "left bottom") is "left bottom" 14 PASS innerStyle("mask", "right top") is "right top" 15 PASS innerStyle("mask", "center") is "center center" 16 PASS innerStyle("mask", "none top") is "none center top" 17 PASS innerStyle("mask", "none bottom") is "none center bottom" 18 PASS innerStyle("mask", "none right") is "none right center" 19 PASS innerStyle("mask", "none top right") is "none right top" 20 PASS innerStyle("mask", "none bottom left") is "none left bottom" 21 PASS innerStyle("mask", "none right") is "none right center" 22 PASS innerStyle("mask", "none left") is "none left center" 23 PASS innerStyle("mask", "center 50%") is "center 50%" 24 PASS innerStyle("mask", "50px 50%") is "50px 50%" 25 PASS innerStyle("mask", "center left") is "left center" 26 PASS innerStyle("mask", "top center") is "center top" 27 PASS innerStyle("mask", "left 10px top 15px") is "left 10px top 15px" 28 PASS innerStyle("mask", "left 10% top 30%") is "left 10% top 30%" 29 PASS innerStyle("mask", "right top 15px") is "right top 15px" 30 PASS innerStyle("mask", "left 10px center") is "left 10px center" 31 PASS innerStyle("mask", "center top 20px") is "center top 20px" 32 PASS innerStyle("mask", "center left 30px") is "left 30px center" 33 PASS innerStyle("mask", "left 20% top") is "left 20% top" 34 PASS innerStyle("mask", "center center") is "center center" 35 PASS innerStyle("mask-position", "left 10px top 15px") is "left 10px top 15px" 36 PASS innerStyle("mask-position", "left 10% top 30%") is "left 10% top 30%" 37 PASS innerStyle("mask-position", "right top 15px") is "" 38 PASS innerStyle("mask-position", "left 10px center") is "" 39 PASS innerStyle("mask-position", "center top 20px") is "" 40 PASS innerStyle("mask-position", "center left 30px") is "" 41 PASS innerStyle("mask-position", "left 20% top") is "" 42 PASS innerStyle("mask", "none alpha") is "none alpha" 43 PASS innerStyle("mask", "none luminance, none alpha") is "none luminance, none alpha" 44 PASS innerStyle("mask", "none match-source, none, none luminance") is "none match-source, none, none luminance" 45 PASS innerStyle("mask-mode", "alpha") is "alpha" 46 PASS innerStyle("mask-mode", "luminance") is "luminance" 47 PASS innerStyle("mask-mode", "match-source") is "match-source" 48 PASS computedStyle("mask-mode", "alpha") is "alpha" 49 PASS computedStyle("mask-mode", "match-source") is "match-source" 50 PASS computedStyle("mask-mode", "luminance") is "luminance" 51 PASS computedStyle("mask-mode", "") is "match-source" 52 PASS innerStyle("mask", "repeat-x") is "repeat-x" 53 PASS innerStyle("mask", "repeat-y") is "repeat-y" 54 PASS innerStyle("mask", "repeat") is "repeat" 55 PASS innerStyle("mask", "space") is "space" 56 PASS innerStyle("mask", "no-repeat") is "no-repeat" 57 PASS innerStyle("mask", "repeat space") is "repeat space" 58 PASS innerStyle("mask", "repeat round") is "repeat round" 59 PASS innerStyle("mask", "repeat no-repeat") is "repeat no-repeat" 60 PASS innerStyle("mask", "repeat space, repeat-x") is "repeat space, repeat-x" 61 PASS innerStyle("mask", "repeat none") is "none repeat" 62 PASS innerStyle("mask", "none repeat") is "none repeat" 63 PASS innerStyle("mask", "padding-box") is "padding-box" 64 PASS innerStyle("mask", "border-box") is "border-box" 65 PASS innerStyle("mask", "content-box") is "content-box" 66 PASS innerStyle("mask", "padding-box none") is "none padding-box" 67 PASS innerStyle("mask", "none padding-box") is "none padding-box" 68 PASS innerStyle("mask", "padding-box content-box") is "padding-box content-box" 69 PASS innerStyle("mask", "content-box content-box") is "content-box" 70 PASS innerStyle("mask", "padding-box border-box") is "padding-box border-box" 71 PASS innerStyle("mask", "padding-box border-box none") is "none padding-box border-box" 72 PASS innerStyle("mask", "none padding-box border-box") is "none padding-box border-box" 73 PASS innerStyle("mask", "none left top / auto") is "none left top / auto" 74 PASS innerStyle("mask", "none left top / auto auto") is "none left top / auto" 75 PASS innerStyle("mask", "none left top / 100%") is "none left top / 100%" 76 PASS innerStyle("mask", "none left top / 100% 100%") is "none left top / 100% 100%" 77 PASS innerStyle("mask", "none left top / 0%") is "none left top / 0%" 78 PASS innerStyle("mask", "none left top / auto 0%") is "none left top / auto 0%" 79 PASS innerStyle("mask", "none left top / cover") is "none left top / cover" 80 PASS innerStyle("mask", "none left top / contain") is "none left top / contain" 81 PASS innerStyle("mask", "none left 20px top 10px / contain") is "none left 20px top 10px / contain" 82 PASS innerStyle("mask", "none left 20px top / contain") is "none left 20px top / contain" 83 PASS innerStyle("mask", "none padding-box content-box") is "none padding-box content-box" 84 PASS innerStyle("mask", "none padding-box") is "none padding-box" 85 PASS innerStyle("mask", "none top") is "none center top" 86 PASS innerStyle("mask", "none center right 20px") is "none right 20px center" 87 PASS innerStyle("mask", "none border-box left top") is "none left top border-box" 88 PASS innerStyle("mask", "none border-box left top 20px") is "none left top 20px border-box" 89 PASS innerStyle("mask", "none border-box content-box left top repeat-x") is "none left top repeat-x border-box content-box" 90 PASS innerStyle("mask", "none border-box content-box left top / auto repeat-x") is "none left top / auto repeat-x border-box content-box" 91 PASS innerStyle("mask", "none border-box content-box right 0px center / auto repeat-x") is "none right 0px center / auto repeat-x border-box content-box" 92 PASS computedStyle("mask", "top left") is "none 0% 0% / auto repeat border-box border-box add match-source" 93 PASS computedStyle("mask", "bottom right") is "none 100% 100% / auto repeat border-box border-box add match-source" 94 PASS computedStyle("mask", "left bottom") is "none 0% 100% / auto repeat border-box border-box add match-source" 95 PASS computedStyle("mask", "right top") is "none 100% 0% / auto repeat border-box border-box add match-source" 96 PASS computedStyle("mask", "center") is "none 50% 50% / auto repeat border-box border-box add match-source" 97 PASS computedStyle("mask", "none top") is "none 50% 0% / auto repeat border-box border-box add match-source" 98 PASS computedStyle("mask", "none bottom") is "none 50% 100% / auto repeat border-box border-box add match-source" 99 PASS computedStyle("mask", "none right") is "none 100% 50% / auto repeat border-box border-box add match-source" 100 PASS computedStyle("mask", "none top right") is "none 100% 0% / auto repeat border-box border-box add match-source" 101 PASS computedStyle("mask", "none bottom left") is "none 0% 100% / auto repeat border-box border-box add match-source" 102 PASS computedStyle("mask", "none right") is "none 100% 50% / auto repeat border-box border-box add match-source" 103 PASS computedStyle("mask", "none left") is "none 0% 50% / auto repeat border-box border-box add match-source" 104 PASS computedStyle("mask", "center 50%") is "none 50% 50% / auto repeat border-box border-box add match-source" 105 PASS computedStyle("mask", "50px 50%") is "none 50px 50% / auto repeat border-box border-box add match-source" 106 PASS computedStyle("mask", "center left") is "none 0% 50% / auto repeat border-box border-box add match-source" 107 PASS computedStyle("mask", "top center") is "none 50% 0% / auto repeat border-box border-box add match-source" 108 PASS computedStyle("mask", "left 10px top 15px") is "none 10px 15px / auto repeat border-box border-box add match-source" 109 PASS computedStyle("mask", "left 10% top 30%") is "none 10% 30% / auto repeat border-box border-box add match-source" 110 PASS computedStyle("mask", "right top 15px") is "none 100% 15px / auto repeat border-box border-box add match-source" 111 PASS computedStyle("mask", "left 10px center") is "none 10px 50% / auto repeat border-box border-box add match-source" 112 PASS computedStyle("mask", "center top 20px") is "none 50% 20px / auto repeat border-box border-box add match-source" 113 PASS computedStyle("mask", "center left 30px") is "none 30px 50% / auto repeat border-box border-box add match-source" 114 PASS computedStyle("mask", "left 20% top") is "none 20% 0% / auto repeat border-box border-box add match-source" 115 PASS computedStyle("mask", "center center") is "none 50% 50% / auto repeat border-box border-box add match-source" 116 PASS computedStyle("mask", "repeat-x") is "none 0% 0% / auto repeat-x border-box border-box add match-source" 117 PASS computedStyle("mask", "repeat-y") is "none 0% 0% / auto repeat-y border-box border-box add match-source" 118 PASS computedStyle("mask", "repeat") is "none 0% 0% / auto repeat border-box border-box add match-source" 119 PASS computedStyle("mask", "space") is "none 0% 0% / auto space border-box border-box add match-source" 120 PASS computedStyle("mask", "no-repeat") is "none 0% 0% / auto no-repeat border-box border-box add match-source" 121 PASS computedStyle("mask", "repeat space") is "none 0% 0% / auto repeat space border-box border-box add match-source" 122 PASS computedStyle("mask", "repeat round") is "none 0% 0% / auto repeat round border-box border-box add match-source" 123 PASS computedStyle("mask", "repeat no-repeat") is "none 0% 0% / auto repeat-x border-box border-box add match-source" 124 PASS computedStyle("mask", "repeat none") is "none 0% 0% / auto repeat border-box border-box add match-source" 125 PASS computedStyle("mask", "none repeat") is "none 0% 0% / auto repeat border-box border-box add match-source" 126 PASS computedStyle("mask", "padding-box") is "none 0% 0% / auto repeat padding-box padding-box add match-source" 127 PASS computedStyle("mask", "border-box") is "none 0% 0% / auto repeat border-box border-box add match-source" 128 PASS computedStyle("mask", "content-box") is "none 0% 0% / auto repeat content-box content-box add match-source" 129 PASS computedStyle("mask", "padding-box none") is "none 0% 0% / auto repeat padding-box padding-box add match-source" 130 PASS computedStyle("mask", "none padding-box") is "none 0% 0% / auto repeat padding-box padding-box add match-source" 131 PASS computedStyle("mask", "padding-box content-box") is "none 0% 0% / auto repeat padding-box content-box add match-source" 132 PASS computedStyle("mask", "content-box content-box") is "none 0% 0% / auto repeat content-box content-box add match-source" 133 PASS computedStyle("mask", "padding-box border-box") is "none 0% 0% / auto repeat padding-box border-box add match-source" 134 PASS computedStyle("mask", "padding-box border-box none") is "none 0% 0% / auto repeat padding-box border-box add match-source" 135 PASS computedStyle("mask", "none padding-box border-box") is "none 0% 0% / auto repeat padding-box border-box add match-source" 136 PASS computedStyle("mask", "none left top / auto") is "none 0% 0% / auto repeat border-box border-box add match-source" 137 PASS computedStyle("mask", "none left top / auto auto") is "none 0% 0% / auto repeat border-box border-box add match-source" 138 PASS computedStyle("mask", "none left top / 100%") is "none 0% 0% / 100% repeat border-box border-box add match-source" 139 PASS computedStyle("mask", "none left top / 0%") is "none 0% 0% / 0% repeat border-box border-box add match-source" 140 PASS computedStyle("mask", "none left top / auto 0%") is "none 0% 0% / auto 0% repeat border-box border-box add match-source" 141 PASS computedStyle("mask", "none left top / cover") is "none 0% 0% / cover repeat border-box border-box add match-source" 142 PASS computedStyle("mask", "none left top / contain") is "none 0% 0% / contain repeat border-box border-box add match-source" 143 PASS computedStyle("mask", "none left 20px top 10px / contain") is "none 20px 10px / contain repeat border-box border-box add match-source" 144 PASS computedStyle("mask", "none left 20px top / contain") is "none 20px 0% / contain repeat border-box border-box add match-source" 145 PASS computedStyle("mask", "none padding-box content-box") is "none 0% 0% / auto repeat padding-box content-box add match-source" 146 PASS computedStyle("mask", "none padding-box") is "none 0% 0% / auto repeat padding-box padding-box add match-source" 147 PASS computedStyle("mask", "none top") is "none 50% 0% / auto repeat border-box border-box add match-source" 148 PASS computedStyle("mask", "none center right 20px") is "none right 20px 50% / auto repeat border-box border-box add match-source" 149 PASS computedStyle("mask", "none border-box left top") is "none 0% 0% / auto repeat border-box border-box add match-source" 150 PASS computedStyle("mask", "none border-box left top 20px") is "none 0% 20px / auto repeat border-box border-box add match-source" 151 PASS computedStyle("mask", "none border-box content-box left top repeat-x") is "none 0% 0% / auto repeat-x border-box content-box add match-source" 152 PASS computedStyle("mask", "none border-box content-box left top / auto repeat-x") is "none 0% 0% / auto repeat-x border-box content-box add match-source" 153 PASS computedStyle("mask", "none border-box content-box right 0px center / auto repeat-x") is "none right 0px 50% / auto repeat-x border-box content-box add match-source" 154 PASS innerStyle("mask", "top none left") is "" 155 PASS innerStyle("mask", "right none bottom") is "" 156 PASS innerStyle("mask", "right right") is "" 157 PASS innerStyle("mask", "left left") is "" 158 PASS innerStyle("mask", "top top") is "" 159 PASS innerStyle("mask", "bottom bottom") is "" 160 PASS innerStyle("mask", "50% none 50%") is "" 161 PASS innerStyle("mask", "repeat-x repeat-x") is "" 162 PASS innerStyle("mask", "space repeat-y") is "" 163 PASS innerStyle("mask", "repeat space space") is "" 164 PASS innerStyle("mask", "padding-box border-box content-box") is "" 165 PASS innerStyle("mask", "none / auto") is "" 166 PASS innerStyle("mask", "none repeat-x / auto") is "" 167 PASS innerStyle("mask", "none border-box / auto") is "" 168 PASS innerStyle("mask", "none top left / cover 100%") is "" 169 PASS innerStyle("mask", "scroll") is "" 170 PASS innerStyle("mask", "fixed") is "" 171 PASS innerStyle("mask", "local") is "" 172 PASS innerStyle("mask", "space scroll") is "" 173 PASS innerStyle("mask", "none scroll") is "" 174 PASS innerStyle("mask", "none top left / auto repeat-x scroll border-box border-box") is "" 175 PASS innerStyle("mask", "right top left") is "" 176 PASS innerStyle("mask", "center left center") is "" 177 PASS innerStyle("mask", "center top center") is "" 178 PASS innerStyle("mask", "center right bottom") is "" 179 PASS innerStyle("mask", "top solid bottom") is "" 180 PASS innerStyle("mask", "none top left right center top / auto repeat-x scroll border-box border-box") is "" 181 PASS innerStyle("mask", "none center center 20px / auto repeat-x scroll border-box border-box") is "" 182 PASS innerStyle("mask", "none top 20px right 30px center / auto repeat-x scroll border-box border-box") is "" 183 PASS innerStyle("mask", "none top 20px top 30px / auto repeat-x scroll border-box border-box") is "" 184 PASS innerStyle("mask", "none top 20px bottom / auto repeat-x scroll border-box border-box") is "" 185 PASS innerStyle("mask", "none alpha, none match-source alpha") is "" 186 PASS innerStyle("mask", "none alpha luminance") is "" 187 PASS innerStyle("mask-mode", "auto") is "" 188 PASS innerStyle("mask-mode", "rubbish") is "" 189 PASS innerStyle("mask-mode", "") is "" 190 PASS innerStyle("mask-mode", "center") is "" 191 PASS innerStyle("mask-mode", "repeat") is "" 192 PASS innerStyle("mask-position-x", "left") is "" 193 PASS innerStyle("mask-position-y", "top") is "" 194 PASS innerStyle("mask-repeat-x", "repeat") is "" 195 PASS innerStyle("mask-repeat-y", "repeat") is "" 129 196 PASS successfullyParsed is true 130 197 -
trunk/LayoutTests/fast/masking/parsing-mask-mode.html
r282143 r286795 11 11 var div = document.createElement('div'); 12 12 document.body.appendChild(div); 13 div.style.setProperty(" -webkit-mask-image", "none, none, none, none");14 div.style.setProperty(" -webkit-mask-mode", value);13 div.style.setProperty("mask-image", "none, none, none, none"); 14 div.style.setProperty("mask-mode", value); 15 15 16 var computedValue = getComputedStyle(div).getPropertyValue(" -webkit-mask-mode");16 var computedValue = getComputedStyle(div).getPropertyValue("mask-mode"); 17 17 document.body.removeChild(div); 18 18 -
trunk/LayoutTests/fast/masking/parsing-mask.html
r231359 r286795 37 37 function negativeTest(property, value) { 38 38 testInner(property, value, null); 39 // FIXME: Computed style not yet implemented.40 39 // testComputed(property, value, 'none'); 41 40 } 42 41 43 42 // test mask-image 44 testInner(" -webkit-mask", "none", "none");45 testInner(" -webkit-mask", "none, none", "none, none");46 testInner(" -webkit-mask", "none, none, none", "none, none, none");47 testInner(" -webkit-mask", "url(file:///image.png), none", "url(\"file:///image.png\"), none");48 testInner(" -webkit-mask", "none, url(file:///image.png)", "none, url(\"file:///image.png\")");43 testInner("mask", "none", "none"); 44 testInner("mask", "none, none", "none, none"); 45 testInner("mask", "none, none, none", "none, none, none"); 46 testInner("mask", "url(file:///image.png), none", "url(\"file:///image.png\"), none"); 47 testInner("mask", "none, url(file:///image.png)", "none, url(\"file:///image.png\")"); 49 48 50 49 51 50 // test mask-position 52 testInner(" -webkit-mask", "top left", "left top");53 testInner(" -webkit-mask", "bottom right", "right bottom");54 testInner(" -webkit-mask", "left bottom", "left bottom");55 testInner(" -webkit-mask", "right top", "right top");56 testInner(" -webkit-mask", "center", "center center");57 testInner(" -webkit-mask", "none top", "none center top");58 testInner(" -webkit-mask", "none bottom", "none center bottom");59 testInner(" -webkit-mask", "none right", "none right center");60 testInner(" -webkit-mask", "none top right", "none right top");61 testInner(" -webkit-mask", "none bottom left", "none left bottom");62 testInner(" -webkit-mask", "none right", "none right center");63 testInner(" -webkit-mask", "none left", "none left center");64 testInner(" -webkit-mask", "center 50%", "center 50%");65 testInner(" -webkit-mask", "50px 50%", "50px 50%");66 testInner(" -webkit-mask", "center left", "left center");67 testInner(" -webkit-mask", "top center", "center top");68 testInner(" -webkit-mask", "left 10px top 15px", "left 10px top 15px");69 testInner(" -webkit-mask", "left 10% top 30%", "left 10% top 30%");70 testInner(" -webkit-mask", "right top 15px", "right top 15px");71 testInner(" -webkit-mask", "left 10px center", "left 10px center");72 testInner(" -webkit-mask", "center top 20px", "center top 20px");73 testInner(" -webkit-mask", "center left 30px", "left 30px center");74 testInner(" -webkit-mask", "left 20% top", "left 20% top");75 testInner(" -webkit-mask", "center center", "center center");76 77 testInner(" -webkit-mask-position", "left 10px top 15px", "left 10px top 15px");78 testInner(" -webkit-mask-position", "left 10% top 30%", "left 10% top 30%");79 testInner("-webkit-mask-position", "right top 15px", "right top 15px");80 testInner("-webkit-mask-position", "left 10px center", "left 10px center");81 testInner("-webkit-mask-position", "center top 20px", "center top 20px");82 testInner("-webkit-mask-position", "center left 30px", "left 30px center");83 testInner("-webkit-mask-position", "left 20% top", "left 20% top");84 85 // test mask- source-type86 testInner(" -webkit-mask", "none alpha", "none alpha");87 testInner(" -webkit-mask", "none luminance, none alpha", "none luminance, none alpha");88 testInner(" -webkit-mask", "none auto, none, none luminance", "none auto, none, none luminance");89 testInner(" -webkit-mask-source-type", "alpha", "alpha");90 testInner(" -webkit-mask-source-type", "luminance", "luminance");91 testInner(" -webkit-mask-source-type", "auto", "auto");92 testComputed(" -webkit-mask-source-type", "alpha", "alpha");93 testComputed(" -webkit-mask-source-type", "auto", "alpha");94 testComputed(" -webkit-mask-source-type", "luminance", "luminance");95 testComputed(" -webkit-mask-source-type", "", "alpha");51 testInner("mask", "top left", "left top"); 52 testInner("mask", "bottom right", "right bottom"); 53 testInner("mask", "left bottom", "left bottom"); 54 testInner("mask", "right top", "right top"); 55 testInner("mask", "center", "center center"); 56 testInner("mask", "none top", "none center top"); 57 testInner("mask", "none bottom", "none center bottom"); 58 testInner("mask", "none right", "none right center"); 59 testInner("mask", "none top right", "none right top"); 60 testInner("mask", "none bottom left", "none left bottom"); 61 testInner("mask", "none right", "none right center"); 62 testInner("mask", "none left", "none left center"); 63 testInner("mask", "center 50%", "center 50%"); 64 testInner("mask", "50px 50%", "50px 50%"); 65 testInner("mask", "center left", "left center"); 66 testInner("mask", "top center", "center top"); 67 testInner("mask", "left 10px top 15px", "left 10px top 15px"); 68 testInner("mask", "left 10% top 30%", "left 10% top 30%"); 69 testInner("mask", "right top 15px", "right top 15px"); 70 testInner("mask", "left 10px center", "left 10px center"); 71 testInner("mask", "center top 20px", "center top 20px"); 72 testInner("mask", "center left 30px", "left 30px center"); 73 testInner("mask", "left 20% top", "left 20% top"); 74 testInner("mask", "center center", "center center"); 75 76 testInner("mask-position", "left 10px top 15px", "left 10px top 15px"); 77 testInner("mask-position", "left 10% top 30%", "left 10% top 30%"); 78 negativeTest("mask-position", "right top 15px", "right top 15px"); 79 negativeTest("mask-position", "left 10px center", "left 10px center"); 80 negativeTest("mask-position", "center top 20px", "center top 20px"); 81 negativeTest("mask-position", "center left 30px", "left 30px center"); 82 negativeTest("mask-position", "left 20% top", "left 20% top"); 83 84 // test mask-mode 85 testInner("mask", "none alpha", "none alpha"); 86 testInner("mask", "none luminance, none alpha", "none luminance, none alpha"); 87 testInner("mask", "none match-source, none, none luminance", "none match-source, none, none luminance"); 88 testInner("mask-mode", "alpha", "alpha"); 89 testInner("mask-mode", "luminance", "luminance"); 90 testInner("mask-mode", "match-source", "match-source"); 91 testComputed("mask-mode", "alpha", "alpha"); 92 testComputed("mask-mode", "match-source", "match-source"); 93 testComputed("mask-mode", "luminance", "luminance"); 94 testComputed("mask-mode", "", "match-source"); 96 95 97 96 // test mask-repeat 98 testInner(" -webkit-mask", "repeat-x", "repeat-x");99 testInner(" -webkit-mask", "repeat-y", "repeat-y");100 testInner(" -webkit-mask", "repeat", "repeat");101 testInner(" -webkit-mask", "space", "space");102 testInner(" -webkit-mask", "no-repeat", "no-repeat");103 testInner(" -webkit-mask", "repeat space", "repeat space");104 testInner(" -webkit-mask", "repeat round", "repeat round");105 testInner(" -webkit-mask", "repeat no-repeat", "repeat no-repeat");106 testInner(" -webkit-mask", "repeat space, repeat-x", "repeat space, repeat-x");107 testInner(" -webkit-mask", "repeat none", "none repeat");108 testInner(" -webkit-mask", "none repeat", "none repeat");97 testInner("mask", "repeat-x", "repeat-x"); 98 testInner("mask", "repeat-y", "repeat-y"); 99 testInner("mask", "repeat", "repeat"); 100 testInner("mask", "space", "space"); 101 testInner("mask", "no-repeat", "no-repeat"); 102 testInner("mask", "repeat space", "repeat space"); 103 testInner("mask", "repeat round", "repeat round"); 104 testInner("mask", "repeat no-repeat", "repeat no-repeat"); 105 testInner("mask", "repeat space, repeat-x", "repeat space, repeat-x"); 106 testInner("mask", "repeat none", "none repeat"); 107 testInner("mask", "none repeat", "none repeat"); 109 108 110 109 // test mask-origin / mask-clip 111 testInner(" -webkit-mask", "padding-box", "padding-boxpadding-box");112 testInner(" -webkit-mask", "border-box", "border-boxborder-box");113 testInner(" -webkit-mask", "content-box", "content-boxcontent-box");114 testInner(" -webkit-mask", "padding-box none", "none padding-boxpadding-box");115 testInner(" -webkit-mask", "none padding-box", "none padding-boxpadding-box");116 testInner(" -webkit-mask", "padding-box content-box", "padding-box content-box");117 testInner(" -webkit-mask", "content-box content-box", "content-boxcontent-box");118 testInner(" -webkit-mask", "padding-box border-box", "padding-box border-box");119 testInner(" -webkit-mask", "padding-box border-box none", "none padding-box border-box");120 testInner(" -webkit-mask", "none padding-box border-box", "none padding-box border-box");110 testInner("mask", "padding-box", "padding-box"); 111 testInner("mask", "border-box", "border-box"); 112 testInner("mask", "content-box", "content-box"); 113 testInner("mask", "padding-box none", "none padding-box"); 114 testInner("mask", "none padding-box", "none padding-box"); 115 testInner("mask", "padding-box content-box", "padding-box content-box"); 116 testInner("mask", "content-box content-box", "content-box"); 117 testInner("mask", "padding-box border-box", "padding-box border-box"); 118 testInner("mask", "padding-box border-box none", "none padding-box border-box"); 119 testInner("mask", "none padding-box border-box", "none padding-box border-box"); 121 120 122 121 // test mask-size 123 testInner(" -webkit-mask", "none left top / auto", "none left top / auto");124 testInner(" -webkit-mask", "none left top / auto auto", "none left top / auto");125 testInner(" -webkit-mask", "none left top / 100%", "none left top / 100%");126 testInner(" -webkit-mask", "none left top / 100% 100%", "none left top / 100% 100%");127 testInner(" -webkit-mask", "none left top / 0%", "none left top / 0%");128 testInner(" -webkit-mask", "none left top / auto 0%", "none left top / auto 0%");129 testInner(" -webkit-mask", "none left top / cover", "none left top / cover");130 testInner(" -webkit-mask", "none left top / contain", "none left top / contain");131 testInner(" -webkit-mask", "none left 20px top 10px / contain", "none left 20px top 10px / contain");132 testInner(" -webkit-mask", "none left 20px top / contain", "none left 20px top / contain");122 testInner("mask", "none left top / auto", "none left top / auto"); 123 testInner("mask", "none left top / auto auto", "none left top / auto"); 124 testInner("mask", "none left top / 100%", "none left top / 100%"); 125 testInner("mask", "none left top / 100% 100%", "none left top / 100% 100%"); 126 testInner("mask", "none left top / 0%", "none left top / 0%"); 127 testInner("mask", "none left top / auto 0%", "none left top / auto 0%"); 128 testInner("mask", "none left top / cover", "none left top / cover"); 129 testInner("mask", "none left top / contain", "none left top / contain"); 130 testInner("mask", "none left 20px top 10px / contain", "none left 20px top 10px / contain"); 131 testInner("mask", "none left 20px top / contain", "none left 20px top / contain"); 133 132 134 133 // combinations 135 testInner("-webkit-mask", "none padding-box content-box", "none padding-box content-box"); 136 testInner("-webkit-mask", "none padding-box", "none padding-box padding-box"); 137 testInner("-webkit-mask", "none top", "none center top"); 138 testInner("-webkit-mask", "none center right 20px", "none right 20px center"); 139 testInner("-webkit-mask", "none border-box left top", "none left top border-box border-box"); 140 testInner("-webkit-mask", "none border-box left top 20px", "none left top 20px border-box border-box"); 141 testInner("-webkit-mask", "none border-box content-box left top repeat-x", "none left top repeat-x border-box content-box"); 142 testInner("-webkit-mask", "none border-box content-box left top / auto repeat-x", "none left top / auto repeat-x border-box content-box"); 143 testInner("-webkit-mask", "none border-box content-box right 0px center / auto repeat-x", "none right 0px center / auto repeat-x border-box content-box"); 144 145 // FIXME: Computed style not yet implemented. 146 // testComputed("-webkit-mask", "", ""); 147 // https://bugs.webkit.org/show_bug.cgi?id=103021 134 testInner("mask", "none padding-box content-box", "none padding-box content-box"); 135 testInner("mask", "none padding-box", "none padding-box"); 136 testInner("mask", "none top", "none center top"); 137 testInner("mask", "none center right 20px", "none right 20px center"); 138 testInner("mask", "none border-box left top", "none left top border-box"); 139 testInner("mask", "none border-box left top 20px", "none left top 20px border-box"); 140 testInner("mask", "none border-box content-box left top repeat-x", "none left top repeat-x border-box content-box"); 141 testInner("mask", "none border-box content-box left top / auto repeat-x", "none left top / auto repeat-x border-box content-box"); 142 testInner("mask", "none border-box content-box right 0px center / auto repeat-x", "none right 0px center / auto repeat-x border-box content-box"); 143 144 // test mask-position 145 testComputed("mask", "top left", "none 0% 0% / auto repeat border-box border-box add match-source"); 146 testComputed("mask", "bottom right", "none 100% 100% / auto repeat border-box border-box add match-source"); 147 testComputed("mask", "left bottom", "none 0% 100% / auto repeat border-box border-box add match-source"); 148 testComputed("mask", "right top", "none 100% 0% / auto repeat border-box border-box add match-source"); 149 testComputed("mask", "center", "none 50% 50% / auto repeat border-box border-box add match-source"); 150 testComputed("mask", "none top", "none 50% 0% / auto repeat border-box border-box add match-source"); 151 testComputed("mask", "none bottom", "none 50% 100% / auto repeat border-box border-box add match-source"); 152 testComputed("mask", "none right", "none 100% 50% / auto repeat border-box border-box add match-source"); 153 testComputed("mask", "none top right", "none 100% 0% / auto repeat border-box border-box add match-source"); 154 testComputed("mask", "none bottom left", "none 0% 100% / auto repeat border-box border-box add match-source"); 155 testComputed("mask", "none right", "none 100% 50% / auto repeat border-box border-box add match-source"); 156 testComputed("mask", "none left", "none 0% 50% / auto repeat border-box border-box add match-source"); 157 testComputed("mask", "center 50%", "none 50% 50% / auto repeat border-box border-box add match-source"); 158 testComputed("mask", "50px 50%", "none 50px 50% / auto repeat border-box border-box add match-source"); 159 testComputed("mask", "center left", "none 0% 50% / auto repeat border-box border-box add match-source"); 160 testComputed("mask", "top center", "none 50% 0% / auto repeat border-box border-box add match-source"); 161 testComputed("mask", "left 10px top 15px", "none 10px 15px / auto repeat border-box border-box add match-source"); 162 testComputed("mask", "left 10% top 30%", "none 10% 30% / auto repeat border-box border-box add match-source"); 163 testComputed("mask", "right top 15px", "none 100% 15px / auto repeat border-box border-box add match-source"); 164 testComputed("mask", "left 10px center", "none 10px 50% / auto repeat border-box border-box add match-source"); 165 testComputed("mask", "center top 20px", "none 50% 20px / auto repeat border-box border-box add match-source"); 166 testComputed("mask", "center left 30px", "none 30px 50% / auto repeat border-box border-box add match-source"); 167 testComputed("mask", "left 20% top", "none 20% 0% / auto repeat border-box border-box add match-source"); 168 testComputed("mask", "center center", "none 50% 50% / auto repeat border-box border-box add match-source"); 169 170 // test mask-repeat 171 testComputed("mask", "repeat-x", "none 0% 0% / auto repeat-x border-box border-box add match-source"); 172 testComputed("mask", "repeat-y", "none 0% 0% / auto repeat-y border-box border-box add match-source"); 173 testComputed("mask", "repeat", "none 0% 0% / auto repeat border-box border-box add match-source"); 174 testComputed("mask", "space", "none 0% 0% / auto space border-box border-box add match-source"); 175 testComputed("mask", "no-repeat", "none 0% 0% / auto no-repeat border-box border-box add match-source"); 176 testComputed("mask", "repeat space", "none 0% 0% / auto repeat space border-box border-box add match-source"); 177 testComputed("mask", "repeat round", "none 0% 0% / auto repeat round border-box border-box add match-source"); 178 testComputed("mask", "repeat no-repeat", "none 0% 0% / auto repeat-x border-box border-box add match-source"); 179 testComputed("mask", "repeat none", "none 0% 0% / auto repeat border-box border-box add match-source"); 180 testComputed("mask", "none repeat", "none 0% 0% / auto repeat border-box border-box add match-source"); 181 182 // test mask-origin / mask-clip 183 testComputed("mask", "padding-box", "none 0% 0% / auto repeat padding-box padding-box add match-source"); 184 testComputed("mask", "border-box", "none 0% 0% / auto repeat border-box border-box add match-source"); 185 testComputed("mask", "content-box", "none 0% 0% / auto repeat content-box content-box add match-source"); 186 testComputed("mask", "padding-box none", "none 0% 0% / auto repeat padding-box padding-box add match-source"); 187 testComputed("mask", "none padding-box", "none 0% 0% / auto repeat padding-box padding-box add match-source"); 188 testComputed("mask", "padding-box content-box", "none 0% 0% / auto repeat padding-box content-box add match-source"); 189 testComputed("mask", "content-box content-box", "none 0% 0% / auto repeat content-box content-box add match-source"); 190 testComputed("mask", "padding-box border-box", "none 0% 0% / auto repeat padding-box border-box add match-source"); 191 testComputed("mask", "padding-box border-box none", "none 0% 0% / auto repeat padding-box border-box add match-source"); 192 testComputed("mask", "none padding-box border-box", "none 0% 0% / auto repeat padding-box border-box add match-source"); 193 194 // test mask-size 195 testComputed("mask", "none left top / auto", "none 0% 0% / auto repeat border-box border-box add match-source"); 196 testComputed("mask", "none left top / auto auto", "none 0% 0% / auto repeat border-box border-box add match-source"); 197 testComputed("mask", "none left top / 100%", "none 0% 0% / 100% repeat border-box border-box add match-source"); 198 testComputed("mask", "none left top / 0%", "none 0% 0% / 0% repeat border-box border-box add match-source"); 199 testComputed("mask", "none left top / auto 0%", "none 0% 0% / auto 0% repeat border-box border-box add match-source"); 200 testComputed("mask", "none left top / cover", "none 0% 0% / cover repeat border-box border-box add match-source"); 201 testComputed("mask", "none left top / contain", "none 0% 0% / contain repeat border-box border-box add match-source"); 202 testComputed("mask", "none left 20px top 10px / contain", "none 20px 10px / contain repeat border-box border-box add match-source"); 203 testComputed("mask", "none left 20px top / contain", "none 20px 0% / contain repeat border-box border-box add match-source"); 204 205 // combinations 206 testComputed("mask", "none padding-box content-box", "none 0% 0% / auto repeat padding-box content-box add match-source"); 207 testComputed("mask", "none padding-box", "none 0% 0% / auto repeat padding-box padding-box add match-source"); 208 testComputed("mask", "none top", "none 50% 0% / auto repeat border-box border-box add match-source"); 209 testComputed("mask", "none center right 20px", "none right 20px 50% / auto repeat border-box border-box add match-source"); 210 testComputed("mask", "none border-box left top", "none 0% 0% / auto repeat border-box border-box add match-source"); 211 testComputed("mask", "none border-box left top 20px", "none 0% 20px / auto repeat border-box border-box add match-source"); 212 testComputed("mask", "none border-box content-box left top repeat-x", "none 0% 0% / auto repeat-x border-box content-box add match-source"); 213 testComputed("mask", "none border-box content-box left top / auto repeat-x", "none 0% 0% / auto repeat-x border-box content-box add match-source"); 214 testComputed("mask", "none border-box content-box right 0px center / auto repeat-x", "none right 0px 50% / auto repeat-x border-box content-box add match-source"); 148 215 149 216 // negative tests 150 negativeTest("-webkit-mask", "top none left"); 151 negativeTest("-webkit-mask", "right none bottom"); 152 negativeTest("-webkit-mask", "right right"); 153 negativeTest("-webkit-mask", "left left"); 154 negativeTest("-webkit-mask", "top top"); 155 negativeTest("-webkit-mask", "bottom bottom"); 156 negativeTest("-webkit-mask", "50% none 50%"); 157 negativeTest("-webkit-mask", "repeat-x repeat-x"); 158 negativeTest("-webkit-mask", "space repeat-y"); 159 negativeTest("-webkit-mask", "repeat space space"); 160 negativeTest("-webkit-mask", "padding-box border-box content-box"); 161 negativeTest("-webkit-mask", "none / auto"); 162 negativeTest("-webkit-mask", "none repeat-x / auto"); 163 negativeTest("-webkit-mask", "none border-box / auto"); 164 negativeTest("-webkit-mask", "none top left / cover 100%"); 165 negativeTest("-webkit-mask", "scroll"); 166 negativeTest("-webkit-mask", "fixed"); 167 negativeTest("-webkit-mask", "local"); 168 negativeTest("-webkit-mask", "space scroll"); 169 negativeTest("-webkit-mask", "none scroll"); 170 negativeTest("-webkit-mask", "none top left / auto repeat-x scroll border-box border-box"); 171 negativeTest("-webkit-mask", "right top left"); 172 negativeTest("-webkit-mask", "center left center"); 173 negativeTest("-webkit-mask", "center top center"); 174 negativeTest("-webkit-mask", "center right bottom"); 175 negativeTest("-webkit-mask", "top solid bottom"); 176 negativeTest("-webkit-mask", "none top left right center top / auto repeat-x scroll border-box border-box"); 177 negativeTest("-webkit-mask", "none center center 20px / auto repeat-x scroll border-box border-box"); 178 negativeTest("-webkit-mask", "none top 20px right 30px center / auto repeat-x scroll border-box border-box"); 179 negativeTest("-webkit-mask", "none top 20px top 30px / auto repeat-x scroll border-box border-box"); 180 negativeTest("-webkit-mask", "none top 20px bottom / auto repeat-x scroll border-box border-box"); 181 negativeTest("-webkit-mask", "none alpha, none auto alpha"); 182 negativeTest("-webkit-mask", "none alpha luminance"); 183 negativeTest("-webkit-mask-source-type", "rubbish"); 184 negativeTest("-webkit-mask-source-type", ""); 185 negativeTest("-webkit-mask-source-type", "center"); 186 negativeTest("-webkit-mask-source-type", "repeat"); 217 negativeTest("mask", "top none left"); 218 negativeTest("mask", "right none bottom"); 219 negativeTest("mask", "right right"); 220 negativeTest("mask", "left left"); 221 negativeTest("mask", "top top"); 222 negativeTest("mask", "bottom bottom"); 223 negativeTest("mask", "50% none 50%"); 224 negativeTest("mask", "repeat-x repeat-x"); 225 negativeTest("mask", "space repeat-y"); 226 negativeTest("mask", "repeat space space"); 227 negativeTest("mask", "padding-box border-box content-box"); 228 negativeTest("mask", "none / auto"); 229 negativeTest("mask", "none repeat-x / auto"); 230 negativeTest("mask", "none border-box / auto"); 231 negativeTest("mask", "none top left / cover 100%"); 232 negativeTest("mask", "scroll"); 233 negativeTest("mask", "fixed"); 234 negativeTest("mask", "local"); 235 negativeTest("mask", "space scroll"); 236 negativeTest("mask", "none scroll"); 237 negativeTest("mask", "none top left / auto repeat-x scroll border-box border-box"); 238 negativeTest("mask", "right top left"); 239 negativeTest("mask", "center left center"); 240 negativeTest("mask", "center top center"); 241 negativeTest("mask", "center right bottom"); 242 negativeTest("mask", "top solid bottom"); 243 negativeTest("mask", "none top left right center top / auto repeat-x scroll border-box border-box"); 244 negativeTest("mask", "none center center 20px / auto repeat-x scroll border-box border-box"); 245 negativeTest("mask", "none top 20px right 30px center / auto repeat-x scroll border-box border-box"); 246 negativeTest("mask", "none top 20px top 30px / auto repeat-x scroll border-box border-box"); 247 negativeTest("mask", "none top 20px bottom / auto repeat-x scroll border-box border-box"); 248 negativeTest("mask", "none alpha, none match-source alpha"); 249 negativeTest("mask", "none alpha luminance"); 250 negativeTest("mask-mode", "auto"); 251 negativeTest("mask-mode", "rubbish"); 252 negativeTest("mask-mode", ""); 253 negativeTest("mask-mode", "center"); 254 negativeTest("mask-mode", "repeat"); 255 256 // FIXME: mask-position-x and mask-position-y should not be exposed unprefixed. 257 negativeTest("mask-position-x", "left"); 258 negativeTest("mask-position-y", "top"); 259 260 negativeTest("mask-repeat-x", "repeat"); 261 negativeTest("mask-repeat-y", "repeat"); 187 262 188 263 </script> -
trunk/LayoutTests/fast/masking/parsing-webkit-mask-expected.txt
r286794 r286795 40 40 PASS innerStyle("-webkit-mask-position", "center left 30px") is "left 30px center" 41 41 PASS innerStyle("-webkit-mask-position", "left 20% top") is "left 20% top" 42 PASS innerStyle("-webkit-mask-position-x", "left") is "left" 43 PASS innerStyle("-webkit-mask-position-y", "top") is "top" 42 44 PASS innerStyle("-webkit-mask", "none alpha") is "none alpha" 43 45 PASS innerStyle("-webkit-mask", "none luminance, none alpha") is "none luminance, none alpha" … … 127 129 PASS innerStyle("-webkit-mask-source-type", "center") is "" 128 130 PASS innerStyle("-webkit-mask-source-type", "repeat") is "" 131 PASS innerStyle("-webkit-mask-repeat-x", "repeat") is "" 132 PASS innerStyle("-webkit-mask-repeat-y", "repeat") is "" 129 133 PASS successfullyParsed is true 130 134 -
trunk/LayoutTests/fast/masking/parsing-webkit-mask.html
r286794 r286795 82 82 testInner("-webkit-mask-position", "center left 30px", "left 30px center"); 83 83 testInner("-webkit-mask-position", "left 20% top", "left 20% top"); 84 85 testInner("-webkit-mask-position-x", "left", "left"); 86 testInner("-webkit-mask-position-y", "top", "top"); 84 87 85 88 // test mask-source-type … … 185 188 negativeTest("-webkit-mask-source-type", "center"); 186 189 negativeTest("-webkit-mask-source-type", "repeat"); 190 negativeTest("-webkit-mask-repeat-x", "repeat"); 191 negativeTest("-webkit-mask-repeat-y", "repeat"); 187 192 188 193 </script> -
trunk/LayoutTests/imported/w3c/ChangeLog
r286775 r286795 1 2021-12-09 Matt Woodrow <matt.woodrow@gmail.com> 2 3 Unprefix -webkit-mask 4 https://bugs.webkit.org/show_bug.cgi?id=229082 5 6 Reviewed by Antti Koivisto. 7 8 * web-platform-tests/css/css-masking/animations/mask-image-interpolation-expected.txt: 9 * web-platform-tests/css/css-masking/animations/mask-position-interpolation-expected.txt: 10 * web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-expected.html: 11 * web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-filter-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-expected.html. 12 * web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-filter.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation.html. 13 * web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-incompatible-shapes1-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-expected.html. 14 * web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-incompatible-shapes1.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation.html. 15 * web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-incompatible-shapes2-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-expected.html. 16 * web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-incompatible-shapes2.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation.html. 17 * web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-overflow-expected.html: Added. 18 * web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-overflow.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation.html. 19 * web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-three-keyframes1-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-expected.html. 20 * web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-three-keyframes1.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation.html. 21 * web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-three-keyframes2-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-expected.html. 22 * web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-three-keyframes2.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation.html. 23 * web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation.html: 24 * web-platform-tests/css/css-masking/clip-path/animations/clip-path-transition-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-expected.html. 25 * web-platform-tests/css/css-masking/clip-path/animations/clip-path-transition.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation.html. 26 * web-platform-tests/css/css-masking/clip-path/animations/w3c-import.log: 27 * web-platform-tests/css/css-masking/clip-path/clip-path-columns-shape-002.html: 28 * web-platform-tests/css/css-masking/clip-path/clip-path-descendant-text-mutated-001.html: 29 * web-platform-tests/css/css-masking/clip-path/clip-path-element-userSpaceOnUse-001.html: 30 * web-platform-tests/css/css-masking/clip-path/clip-path-element-userSpaceOnUse-002.html: 31 * web-platform-tests/css/css-masking/clip-path/clip-path-element-userSpaceOnUse-003.html: 32 * web-platform-tests/css/css-masking/clip-path/clip-path-element-userSpaceOnUse-004.html: 33 * web-platform-tests/css/css-masking/clip-path/clip-path-fixed-scroll-expected.html: Added. 34 * web-platform-tests/css/css-masking/clip-path/clip-path-fixed-scroll.html: Added. 35 * web-platform-tests/css/css-masking/clip-path/clip-path-path-001-expected.html: 36 * web-platform-tests/css/css-masking/clip-path/clip-path-path-002-expected.html: 37 * web-platform-tests/css/css-masking/clip-path/clip-path-path-interpolation-001-expected.html: 38 * web-platform-tests/css/css-masking/clip-path/clip-path-path-interpolation-002-expected.html: 39 * web-platform-tests/css/css-masking/clip-path/clip-path-reference-restore.html: 40 * web-platform-tests/css/css-masking/clip-path/clip-path-svg-invalidate-expected.html: 41 * web-platform-tests/css/css-masking/clip-path/clip-path-svg-invalidate.html: 42 * web-platform-tests/css/css-masking/clip-path/clip-path-svg-text-backdrop-filter.html: 43 * web-platform-tests/css/css-masking/clip-path/clip-path-svg-text-font-loading.html: 44 * web-platform-tests/css/css-masking/clip-path/clip-path-transform-mutated-001.html: 45 * web-platform-tests/css/css-masking/clip-path/clip-path-transform-mutated-002.html: 46 * web-platform-tests/css/css-masking/clip-path/clip-path-url-reference-change-from-empty.html: 47 * web-platform-tests/css/css-masking/clip-path/clip-path-url-reference-change.html: 48 * web-platform-tests/css/css-masking/clip-path/reference-local-url-with-base-001.html: 49 * web-platform-tests/css/css-masking/clip-path/reference-mutated.html: 50 * web-platform-tests/css/css-masking/clip-path/reference-nonexisting-existing-local.html: 51 * web-platform-tests/css/css-masking/clip-path/w3c-import.log: 52 * web-platform-tests/css/css-masking/clip-rule/clip-rule-001.html: 53 * web-platform-tests/css/css-masking/clip-rule/clip-rule-002.html: 54 * web-platform-tests/css/css-masking/hit-test/clip-path-element-objectboundingbox-001.html: 55 * web-platform-tests/css/css-masking/hit-test/clip-path-element-objectboundingbox-002.html: 56 * web-platform-tests/css/css-masking/hit-test/clip-path-element-userspaceonuse-001.html: 57 * web-platform-tests/css/css-masking/idlharness.html: 58 * web-platform-tests/css/css-masking/inheritance.sub-expected.txt: 59 * web-platform-tests/css/css-masking/parsing/mask-position-valid-expected.txt: 60 * web-platform-tests/css/css-masking/parsing/mask-valid.sub-expected.txt: 61 1 62 2021-12-09 Antti Koivisto <antti@apple.com> 2 63 -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt
r285822 r286795 181 181 PASS marker-mid 182 182 PASS marker-start 183 PASS mask 183 PASS mask-clip 184 PASS mask-composite 185 PASS mask-image 186 PASS mask-mode 187 PASS mask-origin 188 PASS mask-repeat 189 PASS mask-size 184 190 PASS mask-type 185 191 PASS math-style … … 374 380 PASS -webkit-mask-clip 375 381 PASS -webkit-mask-composite 376 PASS -webkit-mask-image377 PASS -webkit-mask-mode378 PASS -webkit-mask-origin379 382 PASS -webkit-mask-position-x 380 383 PASS -webkit-mask-position-y 381 PASS -webkit-mask-repeat382 PASS -webkit-mask-size383 384 PASS -webkit-mask-source-type 384 385 PASS -webkit-nbsp-mode -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/animations/mask-image-interpolation-expected.txt
r281580 r286795 1 1 2 FAIL CSS Transitions: property <mask-image> from neutral to [url(../resources/green-20.png)] at (-0.3) should be [url(../resources/stripes-20.png)] assert_ true: 'to' value should be supported expected true got false3 FAIL CSS Transitions: property <mask-image> from neutral to [url(../resources/green-20.png)] at (0) should be [url(../resources/stripes-20.png)] assert_true: 'to' value should be supported expected true got false 4 FAIL CSS Transitions: property <mask-image> from neutral to [url(../resources/green-20.png)] at (0.3) should be [url(../resources/stripes-20.png)] assert_ true: 'to' value should be supported expected true got false5 FAIL CSS Transitions: property <mask-image> from neutral to [url(../resources/green-20.png)] at (0.6) should be [url(../resources/green-20.png)] assert_ true: 'to' value should be supported expected true got false6 FAIL CSS Transitions: property <mask-image> from neutral to [url(../resources/green-20.png)] at (1) should be [url(../resources/green-20.png)] assert_true: 'to' value should be supported expected true got false 7 FAIL CSS Transitions: property <mask-image> from neutral to [url(../resources/green-20.png)] at (1.5) should be [url(../resources/green-20.png)] assert_ true: 'to' value should be supported expected true got false8 FAIL CSS Transitions with transition: all: property <mask-image> from neutral to [url(../resources/green-20.png)] at (-0.3) should be [url(../resources/stripes-20.png)] assert_ true: 'to' value should be supported expected true got false9 FAIL CSS Transitions with transition: all: property <mask-image> from neutral to [url(../resources/green-20.png)] at (0) should be [url(../resources/stripes-20.png)] assert_true: 'to' value should be supported expected true got false 10 FAIL CSS Transitions with transition: all: property <mask-image> from neutral to [url(../resources/green-20.png)] at (0.3) should be [url(../resources/stripes-20.png)] assert_ true: 'to' value should be supported expected true got false11 FAIL CSS Transitions with transition: all: property <mask-image> from neutral to [url(../resources/green-20.png)] at (0.6) should be [url(../resources/green-20.png)] assert_ true: 'to' value should be supported expected true got false12 FAIL CSS Transitions with transition: all: property <mask-image> from neutral to [url(../resources/green-20.png)] at (1) should be [url(../resources/green-20.png)] assert_true: 'to' value should be supported expected true got false 13 FAIL CSS Transitions with transition: all: property <mask-image> from neutral to [url(../resources/green-20.png)] at (1.5) should be [url(../resources/green-20.png)] assert_ true: 'to' value should be supported expected true got false14 FAIL CSS Animations: property <mask-image> from neutral to [url(../resources/green-20.png)] at (-0.3) should be [url(../resources/stripes-20.png)] assert_ true: 'to' value should be supported expected true got false15 FAIL CSS Animations: property <mask-image> from neutral to [url(../resources/green-20.png)] at (0) should be [url(../resources/stripes-20.png)] assert_true: 'to' value should be supported expected true got false 16 FAIL CSS Animations: property <mask-image> from neutral to [url(../resources/green-20.png)] at (0.3) should be [url(../resources/stripes-20.png)] assert_ true: 'to' value should be supported expected true got false17 FAIL CSS Animations: property <mask-image> from neutral to [url(../resources/green-20.png)] at (0.6) should be [url(../resources/green-20.png)] assert_ true: 'to' value should be supported expected true got false18 FAIL CSS Animations: property <mask-image> from neutral to [url(../resources/green-20.png)] at (1) should be [url(../resources/green-20.png)] assert_true: 'to' value should be supported expected true got false 19 FAIL CSS Animations: property <mask-image> from neutral to [url(../resources/green-20.png)] at (1.5) should be [url(../resources/green-20.png)] assert_ true: 'to' value should be supported expected true got false20 FAIL Web Animations: property <mask-image> from neutral to [url(../resources/green-20.png)] at (-0.3) should be [url(../resources/stripes-20.png)] assert_ true: 'to' value should be supported expected true got false21 FAIL Web Animations: property <mask-image> from neutral to [url(../resources/green-20.png)] at (0) should be [url(../resources/stripes-20.png)] assert_true: 'to' value should be supported expected true got false 22 FAIL Web Animations: property <mask-image> from neutral to [url(../resources/green-20.png)] at (0.3) should be [url(../resources/stripes-20.png)] assert_ true: 'to' value should be supported expected true got false23 FAIL Web Animations: property <mask-image> from neutral to [url(../resources/green-20.png)] at (0.6) should be [url(../resources/green-20.png)] assert_true: 'to' value should be supported expected true got false 24 FAIL Web Animations: property <mask-image> from neutral to [url(../resources/green-20.png)] at (1) should be [url(../resources/green-20.png)] assert_true: 'to' value should be supported expected true got false 25 FAIL Web Animations: property <mask-image> from neutral to [url(../resources/green-20.png)] at (1.5) should be [url(../resources/green-20.png)] assert_true: 'to' value should be supported expected true got false 26 FAIL CSS Transitions: property <mask-image> from [initial] to [url(../resources/green-20.png)] at (-0.3) should be [none] assert_ true: 'from' value should be supported expected true got false27 FAIL CSS Transitions: property <mask-image> from [initial] to [url(../resources/green-20.png)] at (0) should be [none] assert_ true: 'from' value should be supported expected true got false28 FAIL CSS Transitions: property <mask-image> from [initial] to [url(../resources/green-20.png)] at (0.3) should be [none] assert_ true: 'from' value should be supported expected true got false29 FAIL CSS Transitions: property <mask-image> from [initial] to [url(../resources/green-20.png)] at (0.6) should be [url(../resources/green-20.png)] assert_true: 'from' value should be supported expected true got false 30 FAIL CSS Transitions: property <mask-image> from [initial] to [url(../resources/green-20.png)] at (1) should be [url(../resources/green-20.png)] assert_true: 'from' value should be supported expected true got false 31 FAIL CSS Transitions: property <mask-image> from [initial] to [url(../resources/green-20.png)] at (1.5) should be [url(../resources/green-20.png)] assert_true: 'from' value should be supported expected true got false 32 FAIL CSS Transitions with transition: all: property <mask-image> from [initial] to [url(../resources/green-20.png)] at (-0.3) should be [none] assert_ true: 'from' value should be supported expected true got false33 FAIL CSS Transitions with transition: all: property <mask-image> from [initial] to [url(../resources/green-20.png)] at (0) should be [none] assert_ true: 'from' value should be supported expected true got false34 FAIL CSS Transitions with transition: all: property <mask-image> from [initial] to [url(../resources/green-20.png)] at (0.3) should be [none] assert_ true: 'from' value should be supported expected true got false35 FAIL CSS Transitions with transition: all: property <mask-image> from [initial] to [url(../resources/green-20.png)] at (0.6) should be [url(../resources/green-20.png)] assert_true: 'from' value should be supported expected true got false 36 FAIL CSS Transitions with transition: all: property <mask-image> from [initial] to [url(../resources/green-20.png)] at (1) should be [url(../resources/green-20.png)] assert_true: 'from' value should be supported expected true got false 37 FAIL CSS Transitions with transition: all: property <mask-image> from [initial] to [url(../resources/green-20.png)] at (1.5) should be [url(../resources/green-20.png)] assert_true: 'from' value should be supported expected true got false 38 FAIL CSS Animations: property <mask-image> from [initial] to [url(../resources/green-20.png)] at (-0.3) should be [none] assert_true: 'from' value should be supported expected true got false 39 FAIL CSS Animations: property <mask-image> from [initial] to [url(../resources/green-20.png)] at (0) should be [none] assert_true: 'from' value should be supported expected true got false 40 FAIL CSS Animations: property <mask-image> from [initial] to [url(../resources/green-20.png)] at (0.3) should be [none] assert_true: 'from' value should be supported expected true got false 41 FAIL CSS Animations: property <mask-image> from [initial] to [url(../resources/green-20.png)] at (0.6) should be [url(../resources/green-20.png)] assert_true: 'from' value should be supported expected true got false 42 FAIL CSS Animations: property <mask-image> from [initial] to [url(../resources/green-20.png)] at (1) should be [url(../resources/green-20.png)] assert_true: 'from' value should be supported expected true got false 43 FAIL CSS Animations: property <mask-image> from [initial] to [url(../resources/green-20.png)] at (1.5) should be [url(../resources/green-20.png)] assert_true: 'from' value should be supported expected true got false 44 FAIL Web Animations: property <mask-image> from [initial] to [url(../resources/green-20.png)] at (-0.3) should be [none] assert_true: 'from' value should be supported expected true got false 45 FAIL Web Animations: property <mask-image> from [initial] to [url(../resources/green-20.png)] at (0) should be [none] assert_true: 'from' value should be supported expected true got false 46 FAIL Web Animations: property <mask-image> from [initial] to [url(../resources/green-20.png)] at (0.3) should be [none] assert_true: 'from' value should be supported expected true got false 47 FAIL Web Animations: property <mask-image> from [initial] to [url(../resources/green-20.png)] at (0.6) should be [url(../resources/green-20.png)] assert_true: 'from' value should be supported expected true got false 48 FAIL Web Animations: property <mask-image> from [initial] to [url(../resources/green-20.png)] at (1) should be [url(../resources/green-20.png)] assert_true: 'from' value should be supported expected true got false 49 FAIL Web Animations: property <mask-image> from [initial] to [url(../resources/green-20.png)] at (1.5) should be [url(../resources/green-20.png)] assert_true: 'from' value should be supported expected true got false 50 FAIL CSS Transitions: property <mask-image> from [inherit] to [url(../resources/green-20.png)] at (-0.3) should be [url(../resources/blue-20.png)] assert_ true: 'from' value should be supported expected true got false51 FAIL CSS Transitions: property <mask-image> from [inherit] to [url(../resources/green-20.png)] at (0) should be [url(../resources/blue-20.png)] assert_true: 'from' value should be supported expected true got false 52 FAIL CSS Transitions: property <mask-image> from [inherit] to [url(../resources/green-20.png)] at (0.3) should be [url(../resources/blue-20.png)] assert_ true: 'from' value should be supported expected true got false53 FAIL CSS Transitions: property <mask-image> from [inherit] to [url(../resources/green-20.png)] at (0.6) should be [url(../resources/green-20.png)] assert_ true: 'from' value should be supported expected true got false54 FAIL CSS Transitions: property <mask-image> from [inherit] to [url(../resources/green-20.png)] at (1) should be [url(../resources/green-20.png)] assert_true: 'from' value should be supported expected true got false 55 FAIL CSS Transitions: property <mask-image> from [inherit] to [url(../resources/green-20.png)] at (1.5) should be [url(../resources/green-20.png)] assert_ true: 'from' value should be supported expected true got false56 FAIL CSS Transitions with transition: all: property <mask-image> from [inherit] to [url(../resources/green-20.png)] at (-0.3) should be [url(../resources/blue-20.png)] assert_ true: 'from' value should be supported expected true got false57 FAIL CSS Transitions with transition: all: property <mask-image> from [inherit] to [url(../resources/green-20.png)] at (0) should be [url(../resources/blue-20.png)] assert_true: 'from' value should be supported expected true got false 58 FAIL CSS Transitions with transition: all: property <mask-image> from [inherit] to [url(../resources/green-20.png)] at (0.3) should be [url(../resources/blue-20.png)] assert_ true: 'from' value should be supported expected true got false59 FAIL CSS Transitions with transition: all: property <mask-image> from [inherit] to [url(../resources/green-20.png)] at (0.6) should be [url(../resources/green-20.png)] assert_ true: 'from' value should be supported expected true got false60 FAIL CSS Transitions with transition: all: property <mask-image> from [inherit] to [url(../resources/green-20.png)] at (1) should be [url(../resources/green-20.png)] assert_true: 'from' value should be supported expected true got false 61 FAIL CSS Transitions with transition: all: property <mask-image> from [inherit] to [url(../resources/green-20.png)] at (1.5) should be [url(../resources/green-20.png)] assert_ true: 'from' value should be supported expected true got false62 FAIL CSS Animations: property <mask-image> from [inherit] to [url(../resources/green-20.png)] at (-0.3) should be [url(../resources/blue-20.png)] assert_ true: 'from' value should be supported expected true got false63 FAIL CSS Animations: property <mask-image> from [inherit] to [url(../resources/green-20.png)] at (0) should be [url(../resources/blue-20.png)] assert_true: 'from' value should be supported expected true got false 64 FAIL CSS Animations: property <mask-image> from [inherit] to [url(../resources/green-20.png)] at (0.3) should be [url(../resources/blue-20.png)] assert_ true: 'from' value should be supported expected true got false65 FAIL CSS Animations: property <mask-image> from [inherit] to [url(../resources/green-20.png)] at (0.6) should be [url(../resources/green-20.png)] assert_ true: 'from' value should be supported expected true got false66 FAIL CSS Animations: property <mask-image> from [inherit] to [url(../resources/green-20.png)] at (1) should be [url(../resources/green-20.png)] assert_true: 'from' value should be supported expected true got false 67 FAIL CSS Animations: property <mask-image> from [inherit] to [url(../resources/green-20.png)] at (1.5) should be [url(../resources/green-20.png)] assert_ true: 'from' value should be supported expected true got false68 FAIL Web Animations: property <mask-image> from [inherit] to [url(../resources/green-20.png)] at (-0.3) should be [url(../resources/blue-20.png)] assert_ true: 'from' value should be supported expected true got false69 FAIL Web Animations: property <mask-image> from [inherit] to [url(../resources/green-20.png)] at (0) should be [url(../resources/blue-20.png)] assert_true: 'from' value should be supported expected true got false 70 FAIL Web Animations: property <mask-image> from [inherit] to [url(../resources/green-20.png)] at (0.3) should be [url(../resources/blue-20.png)] assert_ true: 'from' value should be supported expected true got false71 FAIL Web Animations: property <mask-image> from [inherit] to [url(../resources/green-20.png)] at (0.6) should be [url(../resources/green-20.png)] assert_true: 'from' value should be supported expected true got false 72 FAIL Web Animations: property <mask-image> from [inherit] to [url(../resources/green-20.png)] at (1) should be [url(../resources/green-20.png)] assert_true: 'from' value should be supported expected true got false 73 FAIL Web Animations: property <mask-image> from [inherit] to [url(../resources/green-20.png)] at (1.5) should be [url(../resources/green-20.png)] assert_true: 'from' value should be supported expected true got false 74 FAIL CSS Transitions: property <mask-image> from [unset] to [url(../resources/stripes-20.png)] at (-0.3) should be [none] assert_ true: 'from' value should be supported expected true got false75 FAIL CSS Transitions: property <mask-image> from [unset] to [url(../resources/stripes-20.png)] at (0) should be [none] assert_ true: 'from' value should be supported expected true got false76 FAIL CSS Transitions: property <mask-image> from [unset] to [url(../resources/stripes-20.png)] at (0.3) should be [none] assert_ true: 'from' value should be supported expected true got false77 FAIL CSS Transitions: property <mask-image> from [unset] to [url(../resources/stripes-20.png)] at (0.6) should be [url(../resources/stripes-20.png)] assert_true: 'from' value should be supported expected true got false 78 FAIL CSS Transitions: property <mask-image> from [unset] to [url(../resources/stripes-20.png)] at (1) should be [url(../resources/stripes-20.png)] assert_true: 'from' value should be supported expected true got false 79 FAIL CSS Transitions: property <mask-image> from [unset] to [url(../resources/stripes-20.png)] at (1.5) should be [url(../resources/stripes-20.png)] assert_true: 'from' value should be supported expected true got false 80 FAIL CSS Transitions with transition: all: property <mask-image> from [unset] to [url(../resources/stripes-20.png)] at (-0.3) should be [none] assert_ true: 'from' value should be supported expected true got false81 FAIL CSS Transitions with transition: all: property <mask-image> from [unset] to [url(../resources/stripes-20.png)] at (0) should be [none] assert_ true: 'from' value should be supported expected true got false82 FAIL CSS Transitions with transition: all: property <mask-image> from [unset] to [url(../resources/stripes-20.png)] at (0.3) should be [none] assert_ true: 'from' value should be supported expected true got false83 FAIL CSS Transitions with transition: all: property <mask-image> from [unset] to [url(../resources/stripes-20.png)] at (0.6) should be [url(../resources/stripes-20.png)] assert_true: 'from' value should be supported expected true got false 84 FAIL CSS Transitions with transition: all: property <mask-image> from [unset] to [url(../resources/stripes-20.png)] at (1) should be [url(../resources/stripes-20.png)] assert_true: 'from' value should be supported expected true got false 85 FAIL CSS Transitions with transition: all: property <mask-image> from [unset] to [url(../resources/stripes-20.png)] at (1.5) should be [url(../resources/stripes-20.png)] assert_true: 'from' value should be supported expected true got false 86 FAIL CSS Animations: property <mask-image> from [unset] to [url(../resources/stripes-20.png)] at (-0.3) should be [none] assert_true: 'from' value should be supported expected true got false 87 FAIL CSS Animations: property <mask-image> from [unset] to [url(../resources/stripes-20.png)] at (0) should be [none] assert_true: 'from' value should be supported expected true got false 88 FAIL CSS Animations: property <mask-image> from [unset] to [url(../resources/stripes-20.png)] at (0.3) should be [none] assert_true: 'from' value should be supported expected true got false 89 FAIL CSS Animations: property <mask-image> from [unset] to [url(../resources/stripes-20.png)] at (0.6) should be [url(../resources/stripes-20.png)] assert_true: 'from' value should be supported expected true got false 90 FAIL CSS Animations: property <mask-image> from [unset] to [url(../resources/stripes-20.png)] at (1) should be [url(../resources/stripes-20.png)] assert_true: 'from' value should be supported expected true got false 91 FAIL CSS Animations: property <mask-image> from [unset] to [url(../resources/stripes-20.png)] at (1.5) should be [url(../resources/stripes-20.png)] assert_true: 'from' value should be supported expected true got false 92 FAIL Web Animations: property <mask-image> from [unset] to [url(../resources/stripes-20.png)] at (-0.3) should be [none] assert_true: 'from' value should be supported expected true got false 93 FAIL Web Animations: property <mask-image> from [unset] to [url(../resources/stripes-20.png)] at (0) should be [none] assert_true: 'from' value should be supported expected true got false 94 FAIL Web Animations: property <mask-image> from [unset] to [url(../resources/stripes-20.png)] at (0.3) should be [none] assert_true: 'from' value should be supported expected true got false 95 FAIL Web Animations: property <mask-image> from [unset] to [url(../resources/stripes-20.png)] at (0.6) should be [url(../resources/stripes-20.png)] assert_true: 'from' value should be supported expected true got false 96 FAIL Web Animations: property <mask-image> from [unset] to [url(../resources/stripes-20.png)] at (1) should be [url(../resources/stripes-20.png)] assert_true: 'from' value should be supported expected true got false 97 FAIL Web Animations: property <mask-image> from [unset] to [url(../resources/stripes-20.png)] at (1.5) should be [url(../resources/stripes-20.png)] assert_true: 'from' value should be supported expected true got false 98 FAIL CSS Transitions: property <mask-image> from [url(../resources/stripes-20.png)] to [url(../resources/blue-20.png)] at (-0.3) should be [url(../resources/stripes-20.png)] assert_ true: 'from' value should be supported expected true got false99 FAIL CSS Transitions: property <mask-image> from [url(../resources/stripes-20.png)] to [url(../resources/blue-20.png)] at (0) should be [url(../resources/stripes-20.png)] assert_true: 'from' value should be supported expected true got false 100 FAIL CSS Transitions: property <mask-image> from [url(../resources/stripes-20.png)] to [url(../resources/blue-20.png)] at (0.3) should be [url(../resources/stripes-20.png)] assert_ true: 'from' value should be supported expected true got false101 FAIL CSS Transitions: property <mask-image> from [url(../resources/stripes-20.png)] to [url(../resources/blue-20.png)] at (0.6) should be [url(../resources/blue-20.png)] assert_ true: 'from' value should be supported expected true got false102 FAIL CSS Transitions: property <mask-image> from [url(../resources/stripes-20.png)] to [url(../resources/blue-20.png)] at (1) should be [url(../resources/blue-20.png)] assert_true: 'from' value should be supported expected true got false 103 FAIL CSS Transitions: property <mask-image> from [url(../resources/stripes-20.png)] to [url(../resources/blue-20.png)] at (1.5) should be [url(../resources/blue-20.png)] assert_ true: 'from' value should be supported expected true got false104 FAIL CSS Transitions with transition: all: property <mask-image> from [url(../resources/stripes-20.png)] to [url(../resources/blue-20.png)] at (-0.3) should be [url(../resources/stripes-20.png)] assert_ true: 'from' value should be supported expected true got false105 FAIL CSS Transitions with transition: all: property <mask-image> from [url(../resources/stripes-20.png)] to [url(../resources/blue-20.png)] at (0) should be [url(../resources/stripes-20.png)] assert_true: 'from' value should be supported expected true got false 106 FAIL CSS Transitions with transition: all: property <mask-image> from [url(../resources/stripes-20.png)] to [url(../resources/blue-20.png)] at (0.3) should be [url(../resources/stripes-20.png)] assert_ true: 'from' value should be supported expected true got false107 FAIL CSS Transitions with transition: all: property <mask-image> from [url(../resources/stripes-20.png)] to [url(../resources/blue-20.png)] at (0.6) should be [url(../resources/blue-20.png)] assert_ true: 'from' value should be supported expected true got false108 FAIL CSS Transitions with transition: all: property <mask-image> from [url(../resources/stripes-20.png)] to [url(../resources/blue-20.png)] at (1) should be [url(../resources/blue-20.png)] assert_true: 'from' value should be supported expected true got false 109 FAIL CSS Transitions with transition: all: property <mask-image> from [url(../resources/stripes-20.png)] to [url(../resources/blue-20.png)] at (1.5) should be [url(../resources/blue-20.png)] assert_ true: 'from' value should be supported expected true got false110 FAIL CSS Animations: property <mask-image> from [url(../resources/stripes-20.png)] to [url(../resources/blue-20.png)] at (-0.3) should be [url(../resources/stripes-20.png)] assert_ true: 'from' value should be supported expected true got false111 FAIL CSS Animations: property <mask-image> from [url(../resources/stripes-20.png)] to [url(../resources/blue-20.png)] at (0) should be [url(../resources/stripes-20.png)] assert_true: 'from' value should be supported expected true got false 112 FAIL CSS Animations: property <mask-image> from [url(../resources/stripes-20.png)] to [url(../resources/blue-20.png)] at (0.3) should be [url(../resources/stripes-20.png)] assert_ true: 'from' value should be supported expected true got false113 FAIL CSS Animations: property <mask-image> from [url(../resources/stripes-20.png)] to [url(../resources/blue-20.png)] at (0.6) should be [url(../resources/blue-20.png)] assert_ true: 'from' value should be supported expected true got false114 FAIL CSS Animations: property <mask-image> from [url(../resources/stripes-20.png)] to [url(../resources/blue-20.png)] at (1) should be [url(../resources/blue-20.png)] assert_true: 'from' value should be supported expected true got false 115 FAIL CSS Animations: property <mask-image> from [url(../resources/stripes-20.png)] to [url(../resources/blue-20.png)] at (1.5) should be [url(../resources/blue-20.png)] assert_ true: 'from' value should be supported expected true got false116 FAIL Web Animations: property <mask-image> from [url(../resources/stripes-20.png)] to [url(../resources/blue-20.png)] at (-0.3) should be [url(../resources/stripes-20.png)] assert_ true: 'from' value should be supported expected true got false117 FAIL Web Animations: property <mask-image> from [url(../resources/stripes-20.png)] to [url(../resources/blue-20.png)] at (0) should be [url(../resources/stripes-20.png)] assert_true: 'from' value should be supported expected true got false 118 FAIL Web Animations: property <mask-image> from [url(../resources/stripes-20.png)] to [url(../resources/blue-20.png)] at (0.3) should be [url(../resources/stripes-20.png)] assert_ true: 'from' value should be supported expected true got false119 FAIL Web Animations: property <mask-image> from [url(../resources/stripes-20.png)] to [url(../resources/blue-20.png)] at (0.6) should be [url(../resources/blue-20.png)] assert_true: 'from' value should be supported expected true got false 120 FAIL Web Animations: property <mask-image> from [url(../resources/stripes-20.png)] to [url(../resources/blue-20.png)] at (1) should be [url(../resources/blue-20.png)] assert_true: 'from' value should be supported expected true got false 121 FAIL Web Animations: property <mask-image> from [url(../resources/stripes-20.png)] to [url(../resources/blue-20.png)] at (1.5) should be [url(../resources/blue-20.png)] assert_true: 'from' value should be supported expected true got false 122 FAIL CSS Transitions: property <mask-image> from [url(../resources/stripes-20.png)] to [linear-gradient(45deg, blue, transparent)] at (-0.3) should be [url(../resources/stripes-20.png)] assert_ true: 'from' value should be supported expected true got false123 FAIL CSS Transitions: property <mask-image> from [url(../resources/stripes-20.png)] to [linear-gradient(45deg, blue, transparent)] at (0) should be [url(../resources/stripes-20.png)] assert_true: 'from' value should be supported expected true got false 124 FAIL CSS Transitions: property <mask-image> from [url(../resources/stripes-20.png)] to [linear-gradient(45deg, blue, transparent)] at (0.3) should be [url(../resources/stripes-20.png)] assert_ true: 'from' value should be supported expected true got false125 FAIL CSS Transitions: property <mask-image> from [url(../resources/stripes-20.png)] to [linear-gradient(45deg, blue, transparent)] at (0.6) should be [linear-gradient(45deg, blue, transparent)] assert_true: 'from' value should be supported expected true got false 126 FAIL CSS Transitions: property <mask-image> from [url(../resources/stripes-20.png)] to [linear-gradient(45deg, blue, transparent)] at (1) should be [linear-gradient(45deg, blue, transparent)] assert_true: 'from' value should be supported expected true got false 127 FAIL CSS Transitions: property <mask-image> from [url(../resources/stripes-20.png)] to [linear-gradient(45deg, blue, transparent)] at (1.5) should be [linear-gradient(45deg, blue, transparent)] assert_true: 'from' value should be supported expected true got false 128 FAIL CSS Transitions with transition: all: property <mask-image> from [url(../resources/stripes-20.png)] to [linear-gradient(45deg, blue, transparent)] at (-0.3) should be [url(../resources/stripes-20.png)] assert_ true: 'from' value should be supported expected true got false129 FAIL CSS Transitions with transition: all: property <mask-image> from [url(../resources/stripes-20.png)] to [linear-gradient(45deg, blue, transparent)] at (0) should be [url(../resources/stripes-20.png)] assert_true: 'from' value should be supported expected true got false 130 FAIL CSS Transitions with transition: all: property <mask-image> from [url(../resources/stripes-20.png)] to [linear-gradient(45deg, blue, transparent)] at (0.3) should be [url(../resources/stripes-20.png)] assert_ true: 'from' value should be supported expected true got false131 FAIL CSS Transitions with transition: all: property <mask-image> from [url(../resources/stripes-20.png)] to [linear-gradient(45deg, blue, transparent)] at (0.6) should be [linear-gradient(45deg, blue, transparent)] assert_true: 'from' value should be supported expected true got false 132 FAIL CSS Transitions with transition: all: property <mask-image> from [url(../resources/stripes-20.png)] to [linear-gradient(45deg, blue, transparent)] at (1) should be [linear-gradient(45deg, blue, transparent)] assert_true: 'from' value should be supported expected true got false 133 FAIL CSS Transitions with transition: all: property <mask-image> from [url(../resources/stripes-20.png)] to [linear-gradient(45deg, blue, transparent)] at (1.5) should be [linear-gradient(45deg, blue, transparent)] assert_true: 'from' value should be supported expected true got false 134 FAIL CSS Animations: property <mask-image> from [url(../resources/stripes-20.png)] to [linear-gradient(45deg, blue, transparent)] at (-0.3) should be [url(../resources/stripes-20.png)] assert_ true: 'from' value should be supported expected true got false135 FAIL CSS Animations: property <mask-image> from [url(../resources/stripes-20.png)] to [linear-gradient(45deg, blue, transparent)] at (0) should be [url(../resources/stripes-20.png)] assert_true: 'from' value should be supported expected true got false 136 FAIL CSS Animations: property <mask-image> from [url(../resources/stripes-20.png)] to [linear-gradient(45deg, blue, transparent)] at (0.3) should be [url(../resources/stripes-20.png)] assert_ true: 'from' value should be supported expected true got false137 FAIL CSS Animations: property <mask-image> from [url(../resources/stripes-20.png)] to [linear-gradient(45deg, blue, transparent)] at (0.6) should be [linear-gradient(45deg, blue, transparent)] assert_true: 'from' value should be supported expected true got false 138 FAIL CSS Animations: property <mask-image> from [url(../resources/stripes-20.png)] to [linear-gradient(45deg, blue, transparent)] at (1) should be [linear-gradient(45deg, blue, transparent)] assert_true: 'from' value should be supported expected true got false 139 FAIL CSS Animations: property <mask-image> from [url(../resources/stripes-20.png)] to [linear-gradient(45deg, blue, transparent)] at (1.5) should be [linear-gradient(45deg, blue, transparent)] assert_true: 'from' value should be supported expected true got false 140 FAIL Web Animations: property <mask-image> from [url(../resources/stripes-20.png)] to [linear-gradient(45deg, blue, transparent)] at (-0.3) should be [url(../resources/stripes-20.png)] assert_ true: 'from' value should be supported expected true got false141 FAIL Web Animations: property <mask-image> from [url(../resources/stripes-20.png)] to [linear-gradient(45deg, blue, transparent)] at (0) should be [url(../resources/stripes-20.png)] assert_true: 'from' value should be supported expected true got false 142 FAIL Web Animations: property <mask-image> from [url(../resources/stripes-20.png)] to [linear-gradient(45deg, blue, transparent)] at (0.3) should be [url(../resources/stripes-20.png)] assert_ true: 'from' value should be supported expected true got false143 FAIL Web Animations: property <mask-image> from [url(../resources/stripes-20.png)] to [linear-gradient(45deg, blue, transparent)] at (0.6) should be [linear-gradient(45deg, blue, transparent)] assert_true: 'from' value should be supported expected true got false 144 FAIL Web Animations: property <mask-image> from [url(../resources/stripes-20.png)] to [linear-gradient(45deg, blue, transparent)] at (1) should be [linear-gradient(45deg, blue, transparent)] assert_true: 'from' value should be supported expected true got false 145 FAIL Web Animations: property <mask-image> from [url(../resources/stripes-20.png)] to [linear-gradient(45deg, blue, transparent)] at (1.5) should be [linear-gradient(45deg, blue, transparent)] assert_true: 'from' value should be supported expected true got false 146 FAIL CSS Transitions: property <mask-image> from [none] to [url(../resources/green-20.png)] at (-0.3) should be [none] assert_ true: 'from' value should be supported expected true got false147 FAIL CSS Transitions: property <mask-image> from [none] to [url(../resources/green-20.png)] at (0) should be [none] assert_ true: 'from' value should be supported expected true got false148 FAIL CSS Transitions: property <mask-image> from [none] to [url(../resources/green-20.png)] at (0.3) should be [none] assert_ true: 'from' value should be supported expected true got false149 FAIL CSS Transitions: property <mask-image> from [none] to [url(../resources/green-20.png)] at (0.6) should be [url(../resources/green-20.png)] assert_true: 'from' value should be supported expected true got false 150 FAIL CSS Transitions: property <mask-image> from [none] to [url(../resources/green-20.png)] at (1) should be [url(../resources/green-20.png)] assert_true: 'from' value should be supported expected true got false 151 FAIL CSS Transitions: property <mask-image> from [none] to [url(../resources/green-20.png)] at (1.5) should be [url(../resources/green-20.png)] assert_true: 'from' value should be supported expected true got false 152 FAIL CSS Transitions with transition: all: property <mask-image> from [none] to [url(../resources/green-20.png)] at (-0.3) should be [none] assert_ true: 'from' value should be supported expected true got false153 FAIL CSS Transitions with transition: all: property <mask-image> from [none] to [url(../resources/green-20.png)] at (0) should be [none] assert_ true: 'from' value should be supported expected true got false154 FAIL CSS Transitions with transition: all: property <mask-image> from [none] to [url(../resources/green-20.png)] at (0.3) should be [none] assert_ true: 'from' value should be supported expected true got false155 FAIL CSS Transitions with transition: all: property <mask-image> from [none] to [url(../resources/green-20.png)] at (0.6) should be [url(../resources/green-20.png)] assert_true: 'from' value should be supported expected true got false 156 FAIL CSS Transitions with transition: all: property <mask-image> from [none] to [url(../resources/green-20.png)] at (1) should be [url(../resources/green-20.png)] assert_true: 'from' value should be supported expected true got false 157 FAIL CSS Transitions with transition: all: property <mask-image> from [none] to [url(../resources/green-20.png)] at (1.5) should be [url(../resources/green-20.png)] assert_true: 'from' value should be supported expected true got false 158 FAIL CSS Animations: property <mask-image> from [none] to [url(../resources/green-20.png)] at (-0.3) should be [none] assert_true: 'from' value should be supported expected true got false 159 FAIL CSS Animations: property <mask-image> from [none] to [url(../resources/green-20.png)] at (0) should be [none] assert_true: 'from' value should be supported expected true got false 160 FAIL CSS Animations: property <mask-image> from [none] to [url(../resources/green-20.png)] at (0.3) should be [none] assert_true: 'from' value should be supported expected true got false 161 FAIL CSS Animations: property <mask-image> from [none] to [url(../resources/green-20.png)] at (0.6) should be [url(../resources/green-20.png)] assert_true: 'from' value should be supported expected true got false 162 FAIL CSS Animations: property <mask-image> from [none] to [url(../resources/green-20.png)] at (1) should be [url(../resources/green-20.png)] assert_true: 'from' value should be supported expected true got false 163 FAIL CSS Animations: property <mask-image> from [none] to [url(../resources/green-20.png)] at (1.5) should be [url(../resources/green-20.png)] assert_true: 'from' value should be supported expected true got false 164 FAIL Web Animations: property <mask-image> from [none] to [url(../resources/green-20.png)] at (-0.3) should be [none] assert_true: 'from' value should be supported expected true got false 165 FAIL Web Animations: property <mask-image> from [none] to [url(../resources/green-20.png)] at (0) should be [none] assert_true: 'from' value should be supported expected true got false 166 FAIL Web Animations: property <mask-image> from [none] to [url(../resources/green-20.png)] at (0.3) should be [none] assert_true: 'from' value should be supported expected true got false 167 FAIL Web Animations: property <mask-image> from [none] to [url(../resources/green-20.png)] at (0.6) should be [url(../resources/green-20.png)] assert_true: 'from' value should be supported expected true got false 168 FAIL Web Animations: property <mask-image> from [none] to [url(../resources/green-20.png)] at (1) should be [url(../resources/green-20.png)] assert_true: 'from' value should be supported expected true got false 169 FAIL Web Animations: property <mask-image> from [none] to [url(../resources/green-20.png)] at (1.5) should be [url(../resources/green-20.png)] assert_true: 'from' value should be supported expected true got false 170 FAIL CSS Transitions: property <mask-image> from [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] to [url(../resources/blue-20.png), url(../resources/stripes-20.png)] at (-0.3) should be [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] assert_ true: 'from' value should be supported expected true got false171 FAIL CSS Transitions: property <mask-image> from [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] to [url(../resources/blue-20.png), url(../resources/stripes-20.png)] at (0) should be [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] assert_true: 'from' value should be supported expected true got false 172 FAIL CSS Transitions: property <mask-image> from [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] to [url(../resources/blue-20.png), url(../resources/stripes-20.png)] at (0.3) should be [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] assert_ true: 'from' value should be supported expected true got false173 FAIL CSS Transitions: property <mask-image> from [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] to [url(../resources/blue-20.png), url(../resources/stripes-20.png)] at (0.6) should be [url(../resources/blue-20.png), url(../resources/stripes-20.png)] assert_ true: 'from' value should be supported expected true got false174 FAIL CSS Transitions: property <mask-image> from [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] to [url(../resources/blue-20.png), url(../resources/stripes-20.png)] at (1) should be [url(../resources/blue-20.png), url(../resources/stripes-20.png)] assert_true: 'from' value should be supported expected true got false 175 FAIL CSS Transitions: property <mask-image> from [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] to [url(../resources/blue-20.png), url(../resources/stripes-20.png)] at (1.5) should be [url(../resources/blue-20.png), url(../resources/stripes-20.png)] assert_ true: 'from' value should be supported expected true got false176 FAIL CSS Transitions with transition: all: property <mask-image> from [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] to [url(../resources/blue-20.png), url(../resources/stripes-20.png)] at (-0.3) should be [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] assert_ true: 'from' value should be supported expected true got false177 FAIL CSS Transitions with transition: all: property <mask-image> from [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] to [url(../resources/blue-20.png), url(../resources/stripes-20.png)] at (0) should be [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] assert_true: 'from' value should be supported expected true got false 178 FAIL CSS Transitions with transition: all: property <mask-image> from [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] to [url(../resources/blue-20.png), url(../resources/stripes-20.png)] at (0.3) should be [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] assert_ true: 'from' value should be supported expected true got false179 FAIL CSS Transitions with transition: all: property <mask-image> from [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] to [url(../resources/blue-20.png), url(../resources/stripes-20.png)] at (0.6) should be [url(../resources/blue-20.png), url(../resources/stripes-20.png)] assert_ true: 'from' value should be supported expected true got false180 FAIL CSS Transitions with transition: all: property <mask-image> from [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] to [url(../resources/blue-20.png), url(../resources/stripes-20.png)] at (1) should be [url(../resources/blue-20.png), url(../resources/stripes-20.png)] assert_true: 'from' value should be supported expected true got false 181 FAIL CSS Transitions with transition: all: property <mask-image> from [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] to [url(../resources/blue-20.png), url(../resources/stripes-20.png)] at (1.5) should be [url(../resources/blue-20.png), url(../resources/stripes-20.png)] assert_ true: 'from' value should be supported expected true got false182 FAIL CSS Animations: property <mask-image> from [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] to [url(../resources/blue-20.png), url(../resources/stripes-20.png)] at (-0.3) should be [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] assert_ true: 'from' value should be supported expected true got false183 FAIL CSS Animations: property <mask-image> from [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] to [url(../resources/blue-20.png), url(../resources/stripes-20.png)] at (0) should be [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] assert_ true: 'from' value should be supported expected true got false184 FAIL CSS Animations: property <mask-image> from [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] to [url(../resources/blue-20.png), url(../resources/stripes-20.png)] at (0.3) should be [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] assert_ true: 'from' value should be supported expected true got false185 FAIL CSS Animations: property <mask-image> from [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] to [url(../resources/blue-20.png), url(../resources/stripes-20.png)] at (0.6) should be [url(../resources/blue-20.png), url(../resources/stripes-20.png)] assert_ true: 'from' value should be supported expected true got false186 FAIL CSS Animations: property <mask-image> from [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] to [url(../resources/blue-20.png), url(../resources/stripes-20.png)] at (1) should be [url(../resources/blue-20.png), url(../resources/stripes-20.png)] assert_ true: 'from' value should be supported expected true got false187 FAIL CSS Animations: property <mask-image> from [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] to [url(../resources/blue-20.png), url(../resources/stripes-20.png)] at (1.5) should be [url(../resources/blue-20.png), url(../resources/stripes-20.png)] assert_ true: 'from' value should be supported expected true got false188 FAIL Web Animations: property <mask-image> from [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] to [url(../resources/blue-20.png), url(../resources/stripes-20.png)] at (-0.3) should be [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] assert_ true: 'from' value should be supported expected true got false189 FAIL Web Animations: property <mask-image> from [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] to [url(../resources/blue-20.png), url(../resources/stripes-20.png)] at (0) should be [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] assert_ true: 'from' value should be supported expected true got false190 FAIL Web Animations: property <mask-image> from [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] to [url(../resources/blue-20.png), url(../resources/stripes-20.png)] at (0.3) should be [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] assert_ true: 'from' value should be supported expected true got false191 FAIL Web Animations: property <mask-image> from [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] to [url(../resources/blue-20.png), url(../resources/stripes-20.png)] at (0.6) should be [url(../resources/blue-20.png), url(../resources/stripes-20.png)] assert_ true: 'from' value should be supported expected true got false192 FAIL Web Animations: property <mask-image> from [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] to [url(../resources/blue-20.png), url(../resources/stripes-20.png)] at (1) should be [url(../resources/blue-20.png), url(../resources/stripes-20.png)] assert_ true: 'from' value should be supported expected true got false193 FAIL Web Animations: property <mask-image> from [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] to [url(../resources/blue-20.png), url(../resources/stripes-20.png)] at (1.5) should be [url(../resources/blue-20.png), url(../resources/stripes-20.png)] assert_ true: 'from' value should be supported expected true got false194 FAIL CSS Transitions: property <mask-image> from [url(../resources/blue-20.png)] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (-0.3) should be [url(../resources/blue-20.png)] assert_ true: 'from' value should be supported expected true got false195 FAIL CSS Transitions: property <mask-image> from [url(../resources/blue-20.png)] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (0) should be [url(../resources/blue-20.png)] assert_ true: 'from' value should be supported expected true got false196 FAIL CSS Transitions: property <mask-image> from [url(../resources/blue-20.png)] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (0.3) should be [url(../resources/blue-20.png)] assert_ true: 'from' value should be supported expected true got false197 FAIL CSS Transitions: property <mask-image> from [url(../resources/blue-20.png)] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (0.6) should be [url(../resources/stripes-20.png), url(../resources/blue-20.png)] assert_ true: 'from' value should be supported expected true got false198 FAIL CSS Transitions: property <mask-image> from [url(../resources/blue-20.png)] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (1) should be [url(../resources/stripes-20.png), url(../resources/blue-20.png)] assert_true: 'from' value should be supported expected true got false 199 FAIL CSS Transitions: property <mask-image> from [url(../resources/blue-20.png)] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (1.5) should be [url(../resources/stripes-20.png), url(../resources/blue-20.png)] assert_ true: 'from' value should be supported expected true got false200 FAIL CSS Transitions with transition: all: property <mask-image> from [url(../resources/blue-20.png)] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (-0.3) should be [url(../resources/blue-20.png)] assert_ true: 'from' value should be supported expected true got false201 FAIL CSS Transitions with transition: all: property <mask-image> from [url(../resources/blue-20.png)] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (0) should be [url(../resources/blue-20.png)] assert_ true: 'from' value should be supported expected true got false202 FAIL CSS Transitions with transition: all: property <mask-image> from [url(../resources/blue-20.png)] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (0.3) should be [url(../resources/blue-20.png)] assert_ true: 'from' value should be supported expected true got false203 FAIL CSS Transitions with transition: all: property <mask-image> from [url(../resources/blue-20.png)] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (0.6) should be [url(../resources/stripes-20.png), url(../resources/blue-20.png)] assert_ true: 'from' value should be supported expected true got false204 FAIL CSS Transitions with transition: all: property <mask-image> from [url(../resources/blue-20.png)] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (1) should be [url(../resources/stripes-20.png), url(../resources/blue-20.png)] assert_true: 'from' value should be supported expected true got false 205 FAIL CSS Transitions with transition: all: property <mask-image> from [url(../resources/blue-20.png)] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (1.5) should be [url(../resources/stripes-20.png), url(../resources/blue-20.png)] assert_ true: 'from' value should be supported expected true got false206 FAIL CSS Animations: property <mask-image> from [url(../resources/blue-20.png)] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (-0.3) should be [url(../resources/blue-20.png)] assert_ true: 'from' value should be supported expected true got false207 FAIL CSS Animations: property <mask-image> from [url(../resources/blue-20.png)] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (0) should be [url(../resources/blue-20.png)] assert_true: 'from' value should be supported expected true got false 208 FAIL CSS Animations: property <mask-image> from [url(../resources/blue-20.png)] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (0.3) should be [url(../resources/blue-20.png)] assert_ true: 'from' value should be supported expected true got false209 FAIL CSS Animations: property <mask-image> from [url(../resources/blue-20.png)] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (0.6) should be [url(../resources/stripes-20.png), url(../resources/blue-20.png)] assert_ true: 'from' value should be supported expected true got false210 FAIL CSS Animations: property <mask-image> from [url(../resources/blue-20.png)] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (1) should be [url(../resources/stripes-20.png), url(../resources/blue-20.png)] assert_ true: 'from' value should be supported expected true got false211 FAIL CSS Animations: property <mask-image> from [url(../resources/blue-20.png)] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (1.5) should be [url(../resources/stripes-20.png), url(../resources/blue-20.png)] assert_ true: 'from' value should be supported expected true got false212 FAIL Web Animations: property <mask-image> from [url(../resources/blue-20.png)] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (-0.3) should be [url(../resources/blue-20.png)] assert_ true: 'from' value should be supported expected true got false213 FAIL Web Animations: property <mask-image> from [url(../resources/blue-20.png)] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (0) should be [url(../resources/blue-20.png)] assert_true: 'from' value should be supported expected true got false 214 FAIL Web Animations: property <mask-image> from [url(../resources/blue-20.png)] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (0.3) should be [url(../resources/blue-20.png)] assert_ true: 'from' value should be supported expected true got false215 FAIL Web Animations: property <mask-image> from [url(../resources/blue-20.png)] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (0.6) should be [url(../resources/stripes-20.png), url(../resources/blue-20.png)] assert_ true: 'from' value should be supported expected true got false216 FAIL Web Animations: property <mask-image> from [url(../resources/blue-20.png)] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (1) should be [url(../resources/stripes-20.png), url(../resources/blue-20.png)] assert_ true: 'from' value should be supported expected true got false217 FAIL Web Animations: property <mask-image> from [url(../resources/blue-20.png)] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (1.5) should be [url(../resources/stripes-20.png), url(../resources/blue-20.png)] assert_ true: 'from' value should be supported expected true got false218 FAIL CSS Transitions: property <mask-image> from [url(../resources/blue-20.png), none] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (-0.3) should be [url(../resources/blue-20.png)] assert_ true: 'from' value should be supported expected true got false219 FAIL CSS Transitions: property <mask-image> from [url(../resources/blue-20.png), none] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (0) should be [url(../resources/blue-20.png)] assert_ true: 'from' value should be supported expected true got false220 FAIL CSS Transitions: property <mask-image> from [url(../resources/blue-20.png), none] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (0.3) should be [url(../resources/blue-20.png)] assert_ true: 'from' value should be supported expected true got false221 FAIL CSS Transitions: property <mask-image> from [url(../resources/blue-20.png), none] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (0.6) should be [url(../resources/stripes-20.png), url(../resources/blue-20.png)] assert_true: 'from' value should be supported expected true got false 222 FAIL CSS Transitions: property <mask-image> from [url(../resources/blue-20.png), none] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (1) should be [url(../resources/stripes-20.png), url(../resources/blue-20.png)] assert_true: 'from' value should be supported expected true got false 223 FAIL CSS Transitions: property <mask-image> from [url(../resources/blue-20.png), none] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (1.5) should be [url(../resources/stripes-20.png), url(../resources/blue-20.png)] assert_true: 'from' value should be supported expected true got false 224 FAIL CSS Transitions with transition: all: property <mask-image> from [url(../resources/blue-20.png), none] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (-0.3) should be [url(../resources/blue-20.png)] assert_ true: 'from' value should be supported expected true got false225 FAIL CSS Transitions with transition: all: property <mask-image> from [url(../resources/blue-20.png), none] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (0) should be [url(../resources/blue-20.png)] assert_ true: 'from' value should be supported expected true got false226 FAIL CSS Transitions with transition: all: property <mask-image> from [url(../resources/blue-20.png), none] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (0.3) should be [url(../resources/blue-20.png)] assert_ true: 'from' value should be supported expected true got false227 FAIL CSS Transitions with transition: all: property <mask-image> from [url(../resources/blue-20.png), none] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (0.6) should be [url(../resources/stripes-20.png), url(../resources/blue-20.png)] assert_true: 'from' value should be supported expected true got false 228 FAIL CSS Transitions with transition: all: property <mask-image> from [url(../resources/blue-20.png), none] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (1) should be [url(../resources/stripes-20.png), url(../resources/blue-20.png)] assert_true: 'from' value should be supported expected true got false 229 FAIL CSS Transitions with transition: all: property <mask-image> from [url(../resources/blue-20.png), none] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (1.5) should be [url(../resources/stripes-20.png), url(../resources/blue-20.png)] assert_true: 'from' value should be supported expected true got false 230 FAIL CSS Animations: property <mask-image> from [url(../resources/blue-20.png), none] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (-0.3) should be [url(../resources/blue-20.png)] assert_true: 'from' value should be supported expected true got false 231 FAIL CSS Animations: property <mask-image> from [url(../resources/blue-20.png), none] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (0) should be [url(../resources/blue-20.png)] assert_true: 'from' value should be supported expected true got false 232 FAIL CSS Animations: property <mask-image> from [url(../resources/blue-20.png), none] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (0.3) should be [url(../resources/blue-20.png)] assert_true: 'from' value should be supported expected true got false 233 FAIL CSS Animations: property <mask-image> from [url(../resources/blue-20.png), none] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (0.6) should be [url(../resources/stripes-20.png), url(../resources/blue-20.png)] assert_ true: 'from' value should be supported expected true got false234 FAIL CSS Animations: property <mask-image> from [url(../resources/blue-20.png), none] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (1) should be [url(../resources/stripes-20.png), url(../resources/blue-20.png)] assert_ true: 'from' value should be supported expected true got false235 FAIL CSS Animations: property <mask-image> from [url(../resources/blue-20.png), none] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (1.5) should be [url(../resources/stripes-20.png), url(../resources/blue-20.png)] assert_ true: 'from' value should be supported expected true got false236 FAIL Web Animations: property <mask-image> from [url(../resources/blue-20.png), none] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (-0.3) should be [url(../resources/blue-20.png)] assert_true: 'from' value should be supported expected true got false 237 FAIL Web Animations: property <mask-image> from [url(../resources/blue-20.png), none] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (0) should be [url(../resources/blue-20.png)] assert_true: 'from' value should be supported expected true got false 238 FAIL Web Animations: property <mask-image> from [url(../resources/blue-20.png), none] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (0.3) should be [url(../resources/blue-20.png)] assert_true: 'from' value should be supported expected true got false 239 FAIL Web Animations: property <mask-image> from [url(../resources/blue-20.png), none] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (0.6) should be [url(../resources/stripes-20.png), url(../resources/blue-20.png)] assert_ true: 'from' value should be supported expected true got false240 FAIL Web Animations: property <mask-image> from [url(../resources/blue-20.png), none] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (1) should be [url(../resources/stripes-20.png), url(../resources/blue-20.png)] assert_ true: 'from' value should be supported expected true got false241 FAIL Web Animations: property <mask-image> from [url(../resources/blue-20.png), none] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (1.5) should be [url(../resources/stripes-20.png), url(../resources/blue-20.png)] assert_ true: 'from' value should be supported expected true got false2 FAIL CSS Transitions: property <mask-image> from neutral to [url(../resources/green-20.png)] at (-0.3) should be [url(../resources/stripes-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , url ( http : / / localhost : 8800 / ... / green - 20.png ) , - 0.3 ) " 3 PASS CSS Transitions: property <mask-image> from neutral to [url(../resources/green-20.png)] at (0) should be [url(../resources/stripes-20.png)] 4 FAIL CSS Transitions: property <mask-image> from neutral to [url(../resources/green-20.png)] at (0.3) should be [url(../resources/stripes-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , url ( http : / / localhost : 8800 / ... / green - 20.png ) , 0.3 ) " 5 FAIL CSS Transitions: property <mask-image> from neutral to [url(../resources/green-20.png)] at (0.6) should be [url(../resources/green-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / green - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , url ( http : / / localhost : 8800 / ... / green - 20.png ) , 0.6 ) " 6 PASS CSS Transitions: property <mask-image> from neutral to [url(../resources/green-20.png)] at (1) should be [url(../resources/green-20.png)] 7 FAIL CSS Transitions: property <mask-image> from neutral to [url(../resources/green-20.png)] at (1.5) should be [url(../resources/green-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / green - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , url ( http : / / localhost : 8800 / ... / green - 20.png ) , 1.5 ) " 8 FAIL CSS Transitions with transition: all: property <mask-image> from neutral to [url(../resources/green-20.png)] at (-0.3) should be [url(../resources/stripes-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , url ( http : / / localhost : 8800 / ... / green - 20.png ) , - 0.3 ) " 9 PASS CSS Transitions with transition: all: property <mask-image> from neutral to [url(../resources/green-20.png)] at (0) should be [url(../resources/stripes-20.png)] 10 FAIL CSS Transitions with transition: all: property <mask-image> from neutral to [url(../resources/green-20.png)] at (0.3) should be [url(../resources/stripes-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , url ( http : / / localhost : 8800 / ... / green - 20.png ) , 0.3 ) " 11 FAIL CSS Transitions with transition: all: property <mask-image> from neutral to [url(../resources/green-20.png)] at (0.6) should be [url(../resources/green-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / green - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , url ( http : / / localhost : 8800 / ... / green - 20.png ) , 0.6 ) " 12 PASS CSS Transitions with transition: all: property <mask-image> from neutral to [url(../resources/green-20.png)] at (1) should be [url(../resources/green-20.png)] 13 FAIL CSS Transitions with transition: all: property <mask-image> from neutral to [url(../resources/green-20.png)] at (1.5) should be [url(../resources/green-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / green - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , url ( http : / / localhost : 8800 / ... / green - 20.png ) , 1.5 ) " 14 FAIL CSS Animations: property <mask-image> from neutral to [url(../resources/green-20.png)] at (-0.3) should be [url(../resources/stripes-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , url ( http : / / localhost : 8800 / ... / green - 20.png ) , - 0.3 ) " 15 PASS CSS Animations: property <mask-image> from neutral to [url(../resources/green-20.png)] at (0) should be [url(../resources/stripes-20.png)] 16 FAIL CSS Animations: property <mask-image> from neutral to [url(../resources/green-20.png)] at (0.3) should be [url(../resources/stripes-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , url ( http : / / localhost : 8800 / ... / green - 20.png ) , 0.3 ) " 17 FAIL CSS Animations: property <mask-image> from neutral to [url(../resources/green-20.png)] at (0.6) should be [url(../resources/green-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / green - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , url ( http : / / localhost : 8800 / ... / green - 20.png ) , 0.6 ) " 18 PASS CSS Animations: property <mask-image> from neutral to [url(../resources/green-20.png)] at (1) should be [url(../resources/green-20.png)] 19 FAIL CSS Animations: property <mask-image> from neutral to [url(../resources/green-20.png)] at (1.5) should be [url(../resources/green-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / green - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , url ( http : / / localhost : 8800 / ... / green - 20.png ) , 1.5 ) " 20 FAIL Web Animations: property <mask-image> from neutral to [url(../resources/green-20.png)] at (-0.3) should be [url(../resources/stripes-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " but got "url ( http : / / localhost : 8800 / ... / green - 20.png ) " 21 PASS Web Animations: property <mask-image> from neutral to [url(../resources/green-20.png)] at (0) should be [url(../resources/stripes-20.png)] 22 FAIL Web Animations: property <mask-image> from neutral to [url(../resources/green-20.png)] at (0.3) should be [url(../resources/stripes-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " but got "url ( http : / / localhost : 8800 / ... / green - 20.png ) " 23 PASS Web Animations: property <mask-image> from neutral to [url(../resources/green-20.png)] at (0.6) should be [url(../resources/green-20.png)] 24 PASS Web Animations: property <mask-image> from neutral to [url(../resources/green-20.png)] at (1) should be [url(../resources/green-20.png)] 25 PASS Web Animations: property <mask-image> from neutral to [url(../resources/green-20.png)] at (1.5) should be [url(../resources/green-20.png)] 26 FAIL CSS Transitions: property <mask-image> from [initial] to [url(../resources/green-20.png)] at (-0.3) should be [none] assert_equals: expected "none " but got "url ( http : / / localhost : 8800 / ... / green - 20.png ) " 27 FAIL CSS Transitions: property <mask-image> from [initial] to [url(../resources/green-20.png)] at (0) should be [none] assert_equals: expected "none " but got "url ( http : / / localhost : 8800 / ... / green - 20.png ) " 28 FAIL CSS Transitions: property <mask-image> from [initial] to [url(../resources/green-20.png)] at (0.3) should be [none] assert_equals: expected "none " but got "url ( http : / / localhost : 8800 / ... / green - 20.png ) " 29 PASS CSS Transitions: property <mask-image> from [initial] to [url(../resources/green-20.png)] at (0.6) should be [url(../resources/green-20.png)] 30 PASS CSS Transitions: property <mask-image> from [initial] to [url(../resources/green-20.png)] at (1) should be [url(../resources/green-20.png)] 31 PASS CSS Transitions: property <mask-image> from [initial] to [url(../resources/green-20.png)] at (1.5) should be [url(../resources/green-20.png)] 32 FAIL CSS Transitions with transition: all: property <mask-image> from [initial] to [url(../resources/green-20.png)] at (-0.3) should be [none] assert_equals: expected "none " but got "url ( http : / / localhost : 8800 / ... / green - 20.png ) " 33 FAIL CSS Transitions with transition: all: property <mask-image> from [initial] to [url(../resources/green-20.png)] at (0) should be [none] assert_equals: expected "none " but got "url ( http : / / localhost : 8800 / ... / green - 20.png ) " 34 FAIL CSS Transitions with transition: all: property <mask-image> from [initial] to [url(../resources/green-20.png)] at (0.3) should be [none] assert_equals: expected "none " but got "url ( http : / / localhost : 8800 / ... / green - 20.png ) " 35 PASS CSS Transitions with transition: all: property <mask-image> from [initial] to [url(../resources/green-20.png)] at (0.6) should be [url(../resources/green-20.png)] 36 PASS CSS Transitions with transition: all: property <mask-image> from [initial] to [url(../resources/green-20.png)] at (1) should be [url(../resources/green-20.png)] 37 PASS CSS Transitions with transition: all: property <mask-image> from [initial] to [url(../resources/green-20.png)] at (1.5) should be [url(../resources/green-20.png)] 38 PASS CSS Animations: property <mask-image> from [initial] to [url(../resources/green-20.png)] at (-0.3) should be [none] 39 PASS CSS Animations: property <mask-image> from [initial] to [url(../resources/green-20.png)] at (0) should be [none] 40 PASS CSS Animations: property <mask-image> from [initial] to [url(../resources/green-20.png)] at (0.3) should be [none] 41 PASS CSS Animations: property <mask-image> from [initial] to [url(../resources/green-20.png)] at (0.6) should be [url(../resources/green-20.png)] 42 PASS CSS Animations: property <mask-image> from [initial] to [url(../resources/green-20.png)] at (1) should be [url(../resources/green-20.png)] 43 PASS CSS Animations: property <mask-image> from [initial] to [url(../resources/green-20.png)] at (1.5) should be [url(../resources/green-20.png)] 44 PASS Web Animations: property <mask-image> from [initial] to [url(../resources/green-20.png)] at (-0.3) should be [none] 45 PASS Web Animations: property <mask-image> from [initial] to [url(../resources/green-20.png)] at (0) should be [none] 46 PASS Web Animations: property <mask-image> from [initial] to [url(../resources/green-20.png)] at (0.3) should be [none] 47 PASS Web Animations: property <mask-image> from [initial] to [url(../resources/green-20.png)] at (0.6) should be [url(../resources/green-20.png)] 48 PASS Web Animations: property <mask-image> from [initial] to [url(../resources/green-20.png)] at (1) should be [url(../resources/green-20.png)] 49 PASS Web Animations: property <mask-image> from [initial] to [url(../resources/green-20.png)] at (1.5) should be [url(../resources/green-20.png)] 50 FAIL CSS Transitions: property <mask-image> from [inherit] to [url(../resources/green-20.png)] at (-0.3) should be [url(../resources/blue-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / blue - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / blue - 20.png ) , url ( http : / / localhost : 8800 / ... / green - 20.png ) , - 0.3 ) " 51 PASS CSS Transitions: property <mask-image> from [inherit] to [url(../resources/green-20.png)] at (0) should be [url(../resources/blue-20.png)] 52 FAIL CSS Transitions: property <mask-image> from [inherit] to [url(../resources/green-20.png)] at (0.3) should be [url(../resources/blue-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / blue - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / blue - 20.png ) , url ( http : / / localhost : 8800 / ... / green - 20.png ) , 0.3 ) " 53 FAIL CSS Transitions: property <mask-image> from [inherit] to [url(../resources/green-20.png)] at (0.6) should be [url(../resources/green-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / green - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / blue - 20.png ) , url ( http : / / localhost : 8800 / ... / green - 20.png ) , 0.6 ) " 54 PASS CSS Transitions: property <mask-image> from [inherit] to [url(../resources/green-20.png)] at (1) should be [url(../resources/green-20.png)] 55 FAIL CSS Transitions: property <mask-image> from [inherit] to [url(../resources/green-20.png)] at (1.5) should be [url(../resources/green-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / green - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / blue - 20.png ) , url ( http : / / localhost : 8800 / ... / green - 20.png ) , 1.5 ) " 56 FAIL CSS Transitions with transition: all: property <mask-image> from [inherit] to [url(../resources/green-20.png)] at (-0.3) should be [url(../resources/blue-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / blue - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / blue - 20.png ) , url ( http : / / localhost : 8800 / ... / green - 20.png ) , - 0.3 ) " 57 PASS CSS Transitions with transition: all: property <mask-image> from [inherit] to [url(../resources/green-20.png)] at (0) should be [url(../resources/blue-20.png)] 58 FAIL CSS Transitions with transition: all: property <mask-image> from [inherit] to [url(../resources/green-20.png)] at (0.3) should be [url(../resources/blue-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / blue - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / blue - 20.png ) , url ( http : / / localhost : 8800 / ... / green - 20.png ) , 0.3 ) " 59 FAIL CSS Transitions with transition: all: property <mask-image> from [inherit] to [url(../resources/green-20.png)] at (0.6) should be [url(../resources/green-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / green - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / blue - 20.png ) , url ( http : / / localhost : 8800 / ... / green - 20.png ) , 0.6 ) " 60 PASS CSS Transitions with transition: all: property <mask-image> from [inherit] to [url(../resources/green-20.png)] at (1) should be [url(../resources/green-20.png)] 61 FAIL CSS Transitions with transition: all: property <mask-image> from [inherit] to [url(../resources/green-20.png)] at (1.5) should be [url(../resources/green-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / green - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / blue - 20.png ) , url ( http : / / localhost : 8800 / ... / green - 20.png ) , 1.5 ) " 62 FAIL CSS Animations: property <mask-image> from [inherit] to [url(../resources/green-20.png)] at (-0.3) should be [url(../resources/blue-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / blue - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / blue - 20.png ) , url ( http : / / localhost : 8800 / ... / green - 20.png ) , - 0.3 ) " 63 PASS CSS Animations: property <mask-image> from [inherit] to [url(../resources/green-20.png)] at (0) should be [url(../resources/blue-20.png)] 64 FAIL CSS Animations: property <mask-image> from [inherit] to [url(../resources/green-20.png)] at (0.3) should be [url(../resources/blue-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / blue - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / blue - 20.png ) , url ( http : / / localhost : 8800 / ... / green - 20.png ) , 0.3 ) " 65 FAIL CSS Animations: property <mask-image> from [inherit] to [url(../resources/green-20.png)] at (0.6) should be [url(../resources/green-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / green - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / blue - 20.png ) , url ( http : / / localhost : 8800 / ... / green - 20.png ) , 0.6 ) " 66 PASS CSS Animations: property <mask-image> from [inherit] to [url(../resources/green-20.png)] at (1) should be [url(../resources/green-20.png)] 67 FAIL CSS Animations: property <mask-image> from [inherit] to [url(../resources/green-20.png)] at (1.5) should be [url(../resources/green-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / green - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / blue - 20.png ) , url ( http : / / localhost : 8800 / ... / green - 20.png ) , 1.5 ) " 68 FAIL Web Animations: property <mask-image> from [inherit] to [url(../resources/green-20.png)] at (-0.3) should be [url(../resources/blue-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / blue - 20.png ) " but got "url ( http : / / localhost : 8800 / ... / green - 20.png ) " 69 PASS Web Animations: property <mask-image> from [inherit] to [url(../resources/green-20.png)] at (0) should be [url(../resources/blue-20.png)] 70 FAIL Web Animations: property <mask-image> from [inherit] to [url(../resources/green-20.png)] at (0.3) should be [url(../resources/blue-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / blue - 20.png ) " but got "url ( http : / / localhost : 8800 / ... / green - 20.png ) " 71 PASS Web Animations: property <mask-image> from [inherit] to [url(../resources/green-20.png)] at (0.6) should be [url(../resources/green-20.png)] 72 PASS Web Animations: property <mask-image> from [inherit] to [url(../resources/green-20.png)] at (1) should be [url(../resources/green-20.png)] 73 PASS Web Animations: property <mask-image> from [inherit] to [url(../resources/green-20.png)] at (1.5) should be [url(../resources/green-20.png)] 74 FAIL CSS Transitions: property <mask-image> from [unset] to [url(../resources/stripes-20.png)] at (-0.3) should be [none] assert_equals: expected "none " but got "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " 75 FAIL CSS Transitions: property <mask-image> from [unset] to [url(../resources/stripes-20.png)] at (0) should be [none] assert_equals: expected "none " but got "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " 76 FAIL CSS Transitions: property <mask-image> from [unset] to [url(../resources/stripes-20.png)] at (0.3) should be [none] assert_equals: expected "none " but got "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " 77 PASS CSS Transitions: property <mask-image> from [unset] to [url(../resources/stripes-20.png)] at (0.6) should be [url(../resources/stripes-20.png)] 78 PASS CSS Transitions: property <mask-image> from [unset] to [url(../resources/stripes-20.png)] at (1) should be [url(../resources/stripes-20.png)] 79 PASS CSS Transitions: property <mask-image> from [unset] to [url(../resources/stripes-20.png)] at (1.5) should be [url(../resources/stripes-20.png)] 80 FAIL CSS Transitions with transition: all: property <mask-image> from [unset] to [url(../resources/stripes-20.png)] at (-0.3) should be [none] assert_equals: expected "none " but got "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " 81 FAIL CSS Transitions with transition: all: property <mask-image> from [unset] to [url(../resources/stripes-20.png)] at (0) should be [none] assert_equals: expected "none " but got "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " 82 FAIL CSS Transitions with transition: all: property <mask-image> from [unset] to [url(../resources/stripes-20.png)] at (0.3) should be [none] assert_equals: expected "none " but got "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " 83 PASS CSS Transitions with transition: all: property <mask-image> from [unset] to [url(../resources/stripes-20.png)] at (0.6) should be [url(../resources/stripes-20.png)] 84 PASS CSS Transitions with transition: all: property <mask-image> from [unset] to [url(../resources/stripes-20.png)] at (1) should be [url(../resources/stripes-20.png)] 85 PASS CSS Transitions with transition: all: property <mask-image> from [unset] to [url(../resources/stripes-20.png)] at (1.5) should be [url(../resources/stripes-20.png)] 86 PASS CSS Animations: property <mask-image> from [unset] to [url(../resources/stripes-20.png)] at (-0.3) should be [none] 87 PASS CSS Animations: property <mask-image> from [unset] to [url(../resources/stripes-20.png)] at (0) should be [none] 88 PASS CSS Animations: property <mask-image> from [unset] to [url(../resources/stripes-20.png)] at (0.3) should be [none] 89 PASS CSS Animations: property <mask-image> from [unset] to [url(../resources/stripes-20.png)] at (0.6) should be [url(../resources/stripes-20.png)] 90 PASS CSS Animations: property <mask-image> from [unset] to [url(../resources/stripes-20.png)] at (1) should be [url(../resources/stripes-20.png)] 91 PASS CSS Animations: property <mask-image> from [unset] to [url(../resources/stripes-20.png)] at (1.5) should be [url(../resources/stripes-20.png)] 92 PASS Web Animations: property <mask-image> from [unset] to [url(../resources/stripes-20.png)] at (-0.3) should be [none] 93 PASS Web Animations: property <mask-image> from [unset] to [url(../resources/stripes-20.png)] at (0) should be [none] 94 PASS Web Animations: property <mask-image> from [unset] to [url(../resources/stripes-20.png)] at (0.3) should be [none] 95 PASS Web Animations: property <mask-image> from [unset] to [url(../resources/stripes-20.png)] at (0.6) should be [url(../resources/stripes-20.png)] 96 PASS Web Animations: property <mask-image> from [unset] to [url(../resources/stripes-20.png)] at (1) should be [url(../resources/stripes-20.png)] 97 PASS Web Animations: property <mask-image> from [unset] to [url(../resources/stripes-20.png)] at (1.5) should be [url(../resources/stripes-20.png)] 98 FAIL CSS Transitions: property <mask-image> from [url(../resources/stripes-20.png)] to [url(../resources/blue-20.png)] at (-0.3) should be [url(../resources/stripes-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , url ( http : / / localhost : 8800 / ... / blue - 20.png ) , - 0.3 ) " 99 PASS CSS Transitions: property <mask-image> from [url(../resources/stripes-20.png)] to [url(../resources/blue-20.png)] at (0) should be [url(../resources/stripes-20.png)] 100 FAIL CSS Transitions: property <mask-image> from [url(../resources/stripes-20.png)] to [url(../resources/blue-20.png)] at (0.3) should be [url(../resources/stripes-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , url ( http : / / localhost : 8800 / ... / blue - 20.png ) , 0.3 ) " 101 FAIL CSS Transitions: property <mask-image> from [url(../resources/stripes-20.png)] to [url(../resources/blue-20.png)] at (0.6) should be [url(../resources/blue-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / blue - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , url ( http : / / localhost : 8800 / ... / blue - 20.png ) , 0.6 ) " 102 PASS CSS Transitions: property <mask-image> from [url(../resources/stripes-20.png)] to [url(../resources/blue-20.png)] at (1) should be [url(../resources/blue-20.png)] 103 FAIL CSS Transitions: property <mask-image> from [url(../resources/stripes-20.png)] to [url(../resources/blue-20.png)] at (1.5) should be [url(../resources/blue-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / blue - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , url ( http : / / localhost : 8800 / ... / blue - 20.png ) , 1.5 ) " 104 FAIL CSS Transitions with transition: all: property <mask-image> from [url(../resources/stripes-20.png)] to [url(../resources/blue-20.png)] at (-0.3) should be [url(../resources/stripes-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , url ( http : / / localhost : 8800 / ... / blue - 20.png ) , - 0.3 ) " 105 PASS CSS Transitions with transition: all: property <mask-image> from [url(../resources/stripes-20.png)] to [url(../resources/blue-20.png)] at (0) should be [url(../resources/stripes-20.png)] 106 FAIL CSS Transitions with transition: all: property <mask-image> from [url(../resources/stripes-20.png)] to [url(../resources/blue-20.png)] at (0.3) should be [url(../resources/stripes-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , url ( http : / / localhost : 8800 / ... / blue - 20.png ) , 0.3 ) " 107 FAIL CSS Transitions with transition: all: property <mask-image> from [url(../resources/stripes-20.png)] to [url(../resources/blue-20.png)] at (0.6) should be [url(../resources/blue-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / blue - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , url ( http : / / localhost : 8800 / ... / blue - 20.png ) , 0.6 ) " 108 PASS CSS Transitions with transition: all: property <mask-image> from [url(../resources/stripes-20.png)] to [url(../resources/blue-20.png)] at (1) should be [url(../resources/blue-20.png)] 109 FAIL CSS Transitions with transition: all: property <mask-image> from [url(../resources/stripes-20.png)] to [url(../resources/blue-20.png)] at (1.5) should be [url(../resources/blue-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / blue - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , url ( http : / / localhost : 8800 / ... / blue - 20.png ) , 1.5 ) " 110 FAIL CSS Animations: property <mask-image> from [url(../resources/stripes-20.png)] to [url(../resources/blue-20.png)] at (-0.3) should be [url(../resources/stripes-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , url ( http : / / localhost : 8800 / ... / blue - 20.png ) , - 0.3 ) " 111 PASS CSS Animations: property <mask-image> from [url(../resources/stripes-20.png)] to [url(../resources/blue-20.png)] at (0) should be [url(../resources/stripes-20.png)] 112 FAIL CSS Animations: property <mask-image> from [url(../resources/stripes-20.png)] to [url(../resources/blue-20.png)] at (0.3) should be [url(../resources/stripes-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , url ( http : / / localhost : 8800 / ... / blue - 20.png ) , 0.3 ) " 113 FAIL CSS Animations: property <mask-image> from [url(../resources/stripes-20.png)] to [url(../resources/blue-20.png)] at (0.6) should be [url(../resources/blue-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / blue - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , url ( http : / / localhost : 8800 / ... / blue - 20.png ) , 0.6 ) " 114 PASS CSS Animations: property <mask-image> from [url(../resources/stripes-20.png)] to [url(../resources/blue-20.png)] at (1) should be [url(../resources/blue-20.png)] 115 FAIL CSS Animations: property <mask-image> from [url(../resources/stripes-20.png)] to [url(../resources/blue-20.png)] at (1.5) should be [url(../resources/blue-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / blue - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , url ( http : / / localhost : 8800 / ... / blue - 20.png ) , 1.5 ) " 116 FAIL Web Animations: property <mask-image> from [url(../resources/stripes-20.png)] to [url(../resources/blue-20.png)] at (-0.3) should be [url(../resources/stripes-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " but got "url ( http : / / localhost : 8800 / ... / blue - 20.png ) " 117 PASS Web Animations: property <mask-image> from [url(../resources/stripes-20.png)] to [url(../resources/blue-20.png)] at (0) should be [url(../resources/stripes-20.png)] 118 FAIL Web Animations: property <mask-image> from [url(../resources/stripes-20.png)] to [url(../resources/blue-20.png)] at (0.3) should be [url(../resources/stripes-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " but got "url ( http : / / localhost : 8800 / ... / blue - 20.png ) " 119 PASS Web Animations: property <mask-image> from [url(../resources/stripes-20.png)] to [url(../resources/blue-20.png)] at (0.6) should be [url(../resources/blue-20.png)] 120 PASS Web Animations: property <mask-image> from [url(../resources/stripes-20.png)] to [url(../resources/blue-20.png)] at (1) should be [url(../resources/blue-20.png)] 121 PASS Web Animations: property <mask-image> from [url(../resources/stripes-20.png)] to [url(../resources/blue-20.png)] at (1.5) should be [url(../resources/blue-20.png)] 122 FAIL CSS Transitions: property <mask-image> from [url(../resources/stripes-20.png)] to [linear-gradient(45deg, blue, transparent)] at (-0.3) should be [url(../resources/stripes-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " but got "linear - gradient ( 45deg , blue , transparent ) " 123 PASS CSS Transitions: property <mask-image> from [url(../resources/stripes-20.png)] to [linear-gradient(45deg, blue, transparent)] at (0) should be [url(../resources/stripes-20.png)] 124 FAIL CSS Transitions: property <mask-image> from [url(../resources/stripes-20.png)] to [linear-gradient(45deg, blue, transparent)] at (0.3) should be [url(../resources/stripes-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " but got "linear - gradient ( 45deg , blue , transparent ) " 125 PASS CSS Transitions: property <mask-image> from [url(../resources/stripes-20.png)] to [linear-gradient(45deg, blue, transparent)] at (0.6) should be [linear-gradient(45deg, blue, transparent)] 126 PASS CSS Transitions: property <mask-image> from [url(../resources/stripes-20.png)] to [linear-gradient(45deg, blue, transparent)] at (1) should be [linear-gradient(45deg, blue, transparent)] 127 PASS CSS Transitions: property <mask-image> from [url(../resources/stripes-20.png)] to [linear-gradient(45deg, blue, transparent)] at (1.5) should be [linear-gradient(45deg, blue, transparent)] 128 FAIL CSS Transitions with transition: all: property <mask-image> from [url(../resources/stripes-20.png)] to [linear-gradient(45deg, blue, transparent)] at (-0.3) should be [url(../resources/stripes-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " but got "linear - gradient ( 45deg , blue , transparent ) " 129 PASS CSS Transitions with transition: all: property <mask-image> from [url(../resources/stripes-20.png)] to [linear-gradient(45deg, blue, transparent)] at (0) should be [url(../resources/stripes-20.png)] 130 FAIL CSS Transitions with transition: all: property <mask-image> from [url(../resources/stripes-20.png)] to [linear-gradient(45deg, blue, transparent)] at (0.3) should be [url(../resources/stripes-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " but got "linear - gradient ( 45deg , blue , transparent ) " 131 PASS CSS Transitions with transition: all: property <mask-image> from [url(../resources/stripes-20.png)] to [linear-gradient(45deg, blue, transparent)] at (0.6) should be [linear-gradient(45deg, blue, transparent)] 132 PASS CSS Transitions with transition: all: property <mask-image> from [url(../resources/stripes-20.png)] to [linear-gradient(45deg, blue, transparent)] at (1) should be [linear-gradient(45deg, blue, transparent)] 133 PASS CSS Transitions with transition: all: property <mask-image> from [url(../resources/stripes-20.png)] to [linear-gradient(45deg, blue, transparent)] at (1.5) should be [linear-gradient(45deg, blue, transparent)] 134 FAIL CSS Animations: property <mask-image> from [url(../resources/stripes-20.png)] to [linear-gradient(45deg, blue, transparent)] at (-0.3) should be [url(../resources/stripes-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " but got "linear - gradient ( 45deg , blue , transparent ) " 135 PASS CSS Animations: property <mask-image> from [url(../resources/stripes-20.png)] to [linear-gradient(45deg, blue, transparent)] at (0) should be [url(../resources/stripes-20.png)] 136 FAIL CSS Animations: property <mask-image> from [url(../resources/stripes-20.png)] to [linear-gradient(45deg, blue, transparent)] at (0.3) should be [url(../resources/stripes-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " but got "linear - gradient ( 45deg , blue , transparent ) " 137 PASS CSS Animations: property <mask-image> from [url(../resources/stripes-20.png)] to [linear-gradient(45deg, blue, transparent)] at (0.6) should be [linear-gradient(45deg, blue, transparent)] 138 PASS CSS Animations: property <mask-image> from [url(../resources/stripes-20.png)] to [linear-gradient(45deg, blue, transparent)] at (1) should be [linear-gradient(45deg, blue, transparent)] 139 PASS CSS Animations: property <mask-image> from [url(../resources/stripes-20.png)] to [linear-gradient(45deg, blue, transparent)] at (1.5) should be [linear-gradient(45deg, blue, transparent)] 140 FAIL Web Animations: property <mask-image> from [url(../resources/stripes-20.png)] to [linear-gradient(45deg, blue, transparent)] at (-0.3) should be [url(../resources/stripes-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " but got "linear - gradient ( 45deg , blue , transparent ) " 141 PASS Web Animations: property <mask-image> from [url(../resources/stripes-20.png)] to [linear-gradient(45deg, blue, transparent)] at (0) should be [url(../resources/stripes-20.png)] 142 FAIL Web Animations: property <mask-image> from [url(../resources/stripes-20.png)] to [linear-gradient(45deg, blue, transparent)] at (0.3) should be [url(../resources/stripes-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " but got "linear - gradient ( 45deg , blue , transparent ) " 143 PASS Web Animations: property <mask-image> from [url(../resources/stripes-20.png)] to [linear-gradient(45deg, blue, transparent)] at (0.6) should be [linear-gradient(45deg, blue, transparent)] 144 PASS Web Animations: property <mask-image> from [url(../resources/stripes-20.png)] to [linear-gradient(45deg, blue, transparent)] at (1) should be [linear-gradient(45deg, blue, transparent)] 145 PASS Web Animations: property <mask-image> from [url(../resources/stripes-20.png)] to [linear-gradient(45deg, blue, transparent)] at (1.5) should be [linear-gradient(45deg, blue, transparent)] 146 FAIL CSS Transitions: property <mask-image> from [none] to [url(../resources/green-20.png)] at (-0.3) should be [none] assert_equals: expected "none " but got "url ( http : / / localhost : 8800 / ... / green - 20.png ) " 147 FAIL CSS Transitions: property <mask-image> from [none] to [url(../resources/green-20.png)] at (0) should be [none] assert_equals: expected "none " but got "url ( http : / / localhost : 8800 / ... / green - 20.png ) " 148 FAIL CSS Transitions: property <mask-image> from [none] to [url(../resources/green-20.png)] at (0.3) should be [none] assert_equals: expected "none " but got "url ( http : / / localhost : 8800 / ... / green - 20.png ) " 149 PASS CSS Transitions: property <mask-image> from [none] to [url(../resources/green-20.png)] at (0.6) should be [url(../resources/green-20.png)] 150 PASS CSS Transitions: property <mask-image> from [none] to [url(../resources/green-20.png)] at (1) should be [url(../resources/green-20.png)] 151 PASS CSS Transitions: property <mask-image> from [none] to [url(../resources/green-20.png)] at (1.5) should be [url(../resources/green-20.png)] 152 FAIL CSS Transitions with transition: all: property <mask-image> from [none] to [url(../resources/green-20.png)] at (-0.3) should be [none] assert_equals: expected "none " but got "url ( http : / / localhost : 8800 / ... / green - 20.png ) " 153 FAIL CSS Transitions with transition: all: property <mask-image> from [none] to [url(../resources/green-20.png)] at (0) should be [none] assert_equals: expected "none " but got "url ( http : / / localhost : 8800 / ... / green - 20.png ) " 154 FAIL CSS Transitions with transition: all: property <mask-image> from [none] to [url(../resources/green-20.png)] at (0.3) should be [none] assert_equals: expected "none " but got "url ( http : / / localhost : 8800 / ... / green - 20.png ) " 155 PASS CSS Transitions with transition: all: property <mask-image> from [none] to [url(../resources/green-20.png)] at (0.6) should be [url(../resources/green-20.png)] 156 PASS CSS Transitions with transition: all: property <mask-image> from [none] to [url(../resources/green-20.png)] at (1) should be [url(../resources/green-20.png)] 157 PASS CSS Transitions with transition: all: property <mask-image> from [none] to [url(../resources/green-20.png)] at (1.5) should be [url(../resources/green-20.png)] 158 PASS CSS Animations: property <mask-image> from [none] to [url(../resources/green-20.png)] at (-0.3) should be [none] 159 PASS CSS Animations: property <mask-image> from [none] to [url(../resources/green-20.png)] at (0) should be [none] 160 PASS CSS Animations: property <mask-image> from [none] to [url(../resources/green-20.png)] at (0.3) should be [none] 161 PASS CSS Animations: property <mask-image> from [none] to [url(../resources/green-20.png)] at (0.6) should be [url(../resources/green-20.png)] 162 PASS CSS Animations: property <mask-image> from [none] to [url(../resources/green-20.png)] at (1) should be [url(../resources/green-20.png)] 163 PASS CSS Animations: property <mask-image> from [none] to [url(../resources/green-20.png)] at (1.5) should be [url(../resources/green-20.png)] 164 PASS Web Animations: property <mask-image> from [none] to [url(../resources/green-20.png)] at (-0.3) should be [none] 165 PASS Web Animations: property <mask-image> from [none] to [url(../resources/green-20.png)] at (0) should be [none] 166 PASS Web Animations: property <mask-image> from [none] to [url(../resources/green-20.png)] at (0.3) should be [none] 167 PASS Web Animations: property <mask-image> from [none] to [url(../resources/green-20.png)] at (0.6) should be [url(../resources/green-20.png)] 168 PASS Web Animations: property <mask-image> from [none] to [url(../resources/green-20.png)] at (1) should be [url(../resources/green-20.png)] 169 PASS Web Animations: property <mask-image> from [none] to [url(../resources/green-20.png)] at (1.5) should be [url(../resources/green-20.png)] 170 FAIL CSS Transitions: property <mask-image> from [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] to [url(../resources/blue-20.png), url(../resources/stripes-20.png)] at (-0.3) should be [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , linear - gradient ( - 45deg , blue , transparent ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , url ( http : / / localhost : 8800 / ... / blue - 20.png ) , - 0.3 ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " 171 PASS CSS Transitions: property <mask-image> from [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] to [url(../resources/blue-20.png), url(../resources/stripes-20.png)] at (0) should be [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] 172 FAIL CSS Transitions: property <mask-image> from [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] to [url(../resources/blue-20.png), url(../resources/stripes-20.png)] at (0.3) should be [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , linear - gradient ( - 45deg , blue , transparent ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , url ( http : / / localhost : 8800 / ... / blue - 20.png ) , 0.3 ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " 173 FAIL CSS Transitions: property <mask-image> from [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] to [url(../resources/blue-20.png), url(../resources/stripes-20.png)] at (0.6) should be [url(../resources/blue-20.png), url(../resources/stripes-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / blue - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , url ( http : / / localhost : 8800 / ... / blue - 20.png ) , 0.6 ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " 174 PASS CSS Transitions: property <mask-image> from [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] to [url(../resources/blue-20.png), url(../resources/stripes-20.png)] at (1) should be [url(../resources/blue-20.png), url(../resources/stripes-20.png)] 175 FAIL CSS Transitions: property <mask-image> from [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] to [url(../resources/blue-20.png), url(../resources/stripes-20.png)] at (1.5) should be [url(../resources/blue-20.png), url(../resources/stripes-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / blue - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , url ( http : / / localhost : 8800 / ... / blue - 20.png ) , 1.5 ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " 176 FAIL CSS Transitions with transition: all: property <mask-image> from [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] to [url(../resources/blue-20.png), url(../resources/stripes-20.png)] at (-0.3) should be [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , linear - gradient ( - 45deg , blue , transparent ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , url ( http : / / localhost : 8800 / ... / blue - 20.png ) , - 0.3 ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " 177 PASS CSS Transitions with transition: all: property <mask-image> from [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] to [url(../resources/blue-20.png), url(../resources/stripes-20.png)] at (0) should be [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] 178 FAIL CSS Transitions with transition: all: property <mask-image> from [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] to [url(../resources/blue-20.png), url(../resources/stripes-20.png)] at (0.3) should be [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , linear - gradient ( - 45deg , blue , transparent ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , url ( http : / / localhost : 8800 / ... / blue - 20.png ) , 0.3 ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " 179 FAIL CSS Transitions with transition: all: property <mask-image> from [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] to [url(../resources/blue-20.png), url(../resources/stripes-20.png)] at (0.6) should be [url(../resources/blue-20.png), url(../resources/stripes-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / blue - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , url ( http : / / localhost : 8800 / ... / blue - 20.png ) , 0.6 ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " 180 PASS CSS Transitions with transition: all: property <mask-image> from [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] to [url(../resources/blue-20.png), url(../resources/stripes-20.png)] at (1) should be [url(../resources/blue-20.png), url(../resources/stripes-20.png)] 181 FAIL CSS Transitions with transition: all: property <mask-image> from [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] to [url(../resources/blue-20.png), url(../resources/stripes-20.png)] at (1.5) should be [url(../resources/blue-20.png), url(../resources/stripes-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / blue - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , url ( http : / / localhost : 8800 / ... / blue - 20.png ) , 1.5 ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " 182 FAIL CSS Animations: property <mask-image> from [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] to [url(../resources/blue-20.png), url(../resources/stripes-20.png)] at (-0.3) should be [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , linear - gradient ( - 45deg , blue , transparent ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , url ( http : / / localhost : 8800 / ... / blue - 20.png ) , - 0.3 ) " 183 FAIL CSS Animations: property <mask-image> from [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] to [url(../resources/blue-20.png), url(../resources/stripes-20.png)] at (0) should be [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , linear - gradient ( - 45deg , blue , transparent ) " but got "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " 184 FAIL CSS Animations: property <mask-image> from [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] to [url(../resources/blue-20.png), url(../resources/stripes-20.png)] at (0.3) should be [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , linear - gradient ( - 45deg , blue , transparent ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , url ( http : / / localhost : 8800 / ... / blue - 20.png ) , 0.3 ) " 185 FAIL CSS Animations: property <mask-image> from [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] to [url(../resources/blue-20.png), url(../resources/stripes-20.png)] at (0.6) should be [url(../resources/blue-20.png), url(../resources/stripes-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / blue - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , url ( http : / / localhost : 8800 / ... / blue - 20.png ) , 0.6 ) " 186 FAIL CSS Animations: property <mask-image> from [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] to [url(../resources/blue-20.png), url(../resources/stripes-20.png)] at (1) should be [url(../resources/blue-20.png), url(../resources/stripes-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / blue - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " but got "url ( http : / / localhost : 8800 / ... / blue - 20.png ) " 187 FAIL CSS Animations: property <mask-image> from [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] to [url(../resources/blue-20.png), url(../resources/stripes-20.png)] at (1.5) should be [url(../resources/blue-20.png), url(../resources/stripes-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / blue - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , url ( http : / / localhost : 8800 / ... / blue - 20.png ) , 1.5 ) " 188 FAIL Web Animations: property <mask-image> from [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] to [url(../resources/blue-20.png), url(../resources/stripes-20.png)] at (-0.3) should be [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , linear - gradient ( - 45deg , blue , transparent ) " but got "url ( http : / / localhost : 8800 / ... / blue - 20.png ) " 189 FAIL Web Animations: property <mask-image> from [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] to [url(../resources/blue-20.png), url(../resources/stripes-20.png)] at (0) should be [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , linear - gradient ( - 45deg , blue , transparent ) " but got "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " 190 FAIL Web Animations: property <mask-image> from [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] to [url(../resources/blue-20.png), url(../resources/stripes-20.png)] at (0.3) should be [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , linear - gradient ( - 45deg , blue , transparent ) " but got "url ( http : / / localhost : 8800 / ... / blue - 20.png ) " 191 FAIL Web Animations: property <mask-image> from [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] to [url(../resources/blue-20.png), url(../resources/stripes-20.png)] at (0.6) should be [url(../resources/blue-20.png), url(../resources/stripes-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / blue - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " but got "url ( http : / / localhost : 8800 / ... / blue - 20.png ) " 192 FAIL Web Animations: property <mask-image> from [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] to [url(../resources/blue-20.png), url(../resources/stripes-20.png)] at (1) should be [url(../resources/blue-20.png), url(../resources/stripes-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / blue - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " but got "url ( http : / / localhost : 8800 / ... / blue - 20.png ) " 193 FAIL Web Animations: property <mask-image> from [url(../resources/stripes-20.png), linear-gradient(-45deg, blue, transparent)] to [url(../resources/blue-20.png), url(../resources/stripes-20.png)] at (1.5) should be [url(../resources/blue-20.png), url(../resources/stripes-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / blue - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " but got "url ( http : / / localhost : 8800 / ... / blue - 20.png ) " 194 FAIL CSS Transitions: property <mask-image> from [url(../resources/blue-20.png)] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (-0.3) should be [url(../resources/blue-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / blue - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / blue - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , - 0.3 ) , url ( http : / / localhost : 8800 / ... / blue - 20.png ) " 195 FAIL CSS Transitions: property <mask-image> from [url(../resources/blue-20.png)] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (0) should be [url(../resources/blue-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / blue - 20.png ) " but got "url ( http : / / localhost : 8800 / ... / blue - 20.png ) , url ( http : / / localhost : 8800 / ... / blue - 20.png ) " 196 FAIL CSS Transitions: property <mask-image> from [url(../resources/blue-20.png)] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (0.3) should be [url(../resources/blue-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / blue - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / blue - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , 0.3 ) , url ( http : / / localhost : 8800 / ... / blue - 20.png ) " 197 FAIL CSS Transitions: property <mask-image> from [url(../resources/blue-20.png)] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (0.6) should be [url(../resources/stripes-20.png), url(../resources/blue-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , url ( http : / / localhost : 8800 / ... / blue - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / blue - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , 0.6 ) , url ( http : / / localhost : 8800 / ... / blue - 20.png ) " 198 PASS CSS Transitions: property <mask-image> from [url(../resources/blue-20.png)] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (1) should be [url(../resources/stripes-20.png), url(../resources/blue-20.png)] 199 FAIL CSS Transitions: property <mask-image> from [url(../resources/blue-20.png)] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (1.5) should be [url(../resources/stripes-20.png), url(../resources/blue-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , url ( http : / / localhost : 8800 / ... / blue - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / blue - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , 1.5 ) , url ( http : / / localhost : 8800 / ... / blue - 20.png ) " 200 FAIL CSS Transitions with transition: all: property <mask-image> from [url(../resources/blue-20.png)] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (-0.3) should be [url(../resources/blue-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / blue - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / blue - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , - 0.3 ) , url ( http : / / localhost : 8800 / ... / blue - 20.png ) " 201 FAIL CSS Transitions with transition: all: property <mask-image> from [url(../resources/blue-20.png)] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (0) should be [url(../resources/blue-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / blue - 20.png ) " but got "url ( http : / / localhost : 8800 / ... / blue - 20.png ) , url ( http : / / localhost : 8800 / ... / blue - 20.png ) " 202 FAIL CSS Transitions with transition: all: property <mask-image> from [url(../resources/blue-20.png)] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (0.3) should be [url(../resources/blue-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / blue - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / blue - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , 0.3 ) , url ( http : / / localhost : 8800 / ... / blue - 20.png ) " 203 FAIL CSS Transitions with transition: all: property <mask-image> from [url(../resources/blue-20.png)] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (0.6) should be [url(../resources/stripes-20.png), url(../resources/blue-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , url ( http : / / localhost : 8800 / ... / blue - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / blue - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , 0.6 ) , url ( http : / / localhost : 8800 / ... / blue - 20.png ) " 204 PASS CSS Transitions with transition: all: property <mask-image> from [url(../resources/blue-20.png)] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (1) should be [url(../resources/stripes-20.png), url(../resources/blue-20.png)] 205 FAIL CSS Transitions with transition: all: property <mask-image> from [url(../resources/blue-20.png)] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (1.5) should be [url(../resources/stripes-20.png), url(../resources/blue-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , url ( http : / / localhost : 8800 / ... / blue - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / blue - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , 1.5 ) , url ( http : / / localhost : 8800 / ... / blue - 20.png ) " 206 FAIL CSS Animations: property <mask-image> from [url(../resources/blue-20.png)] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (-0.3) should be [url(../resources/blue-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / blue - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / blue - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , - 0.3 ) " 207 PASS CSS Animations: property <mask-image> from [url(../resources/blue-20.png)] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (0) should be [url(../resources/blue-20.png)] 208 FAIL CSS Animations: property <mask-image> from [url(../resources/blue-20.png)] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (0.3) should be [url(../resources/blue-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / blue - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / blue - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , 0.3 ) " 209 FAIL CSS Animations: property <mask-image> from [url(../resources/blue-20.png)] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (0.6) should be [url(../resources/stripes-20.png), url(../resources/blue-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , url ( http : / / localhost : 8800 / ... / blue - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / blue - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , 0.6 ) " 210 FAIL CSS Animations: property <mask-image> from [url(../resources/blue-20.png)] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (1) should be [url(../resources/stripes-20.png), url(../resources/blue-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , url ( http : / / localhost : 8800 / ... / blue - 20.png ) " but got "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " 211 FAIL CSS Animations: property <mask-image> from [url(../resources/blue-20.png)] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (1.5) should be [url(../resources/stripes-20.png), url(../resources/blue-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , url ( http : / / localhost : 8800 / ... / blue - 20.png ) " but got "cross - fade ( url ( http : / / localhost : 8800 / ... / blue - 20.png ) , url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , 1.5 ) " 212 FAIL Web Animations: property <mask-image> from [url(../resources/blue-20.png)] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (-0.3) should be [url(../resources/blue-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / blue - 20.png ) " but got "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " 213 PASS Web Animations: property <mask-image> from [url(../resources/blue-20.png)] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (0) should be [url(../resources/blue-20.png)] 214 FAIL Web Animations: property <mask-image> from [url(../resources/blue-20.png)] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (0.3) should be [url(../resources/blue-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / blue - 20.png ) " but got "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " 215 FAIL Web Animations: property <mask-image> from [url(../resources/blue-20.png)] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (0.6) should be [url(../resources/stripes-20.png), url(../resources/blue-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , url ( http : / / localhost : 8800 / ... / blue - 20.png ) " but got "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " 216 FAIL Web Animations: property <mask-image> from [url(../resources/blue-20.png)] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (1) should be [url(../resources/stripes-20.png), url(../resources/blue-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , url ( http : / / localhost : 8800 / ... / blue - 20.png ) " but got "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " 217 FAIL Web Animations: property <mask-image> from [url(../resources/blue-20.png)] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (1.5) should be [url(../resources/stripes-20.png), url(../resources/blue-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , url ( http : / / localhost : 8800 / ... / blue - 20.png ) " but got "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " 218 FAIL CSS Transitions: property <mask-image> from [url(../resources/blue-20.png), none] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (-0.3) should be [url(../resources/blue-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / blue - 20.png ) " but got "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , url ( http : / / localhost : 8800 / ... / blue - 20.png ) " 219 FAIL CSS Transitions: property <mask-image> from [url(../resources/blue-20.png), none] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (0) should be [url(../resources/blue-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / blue - 20.png ) " but got "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , url ( http : / / localhost : 8800 / ... / blue - 20.png ) " 220 FAIL CSS Transitions: property <mask-image> from [url(../resources/blue-20.png), none] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (0.3) should be [url(../resources/blue-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / blue - 20.png ) " but got "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , url ( http : / / localhost : 8800 / ... / blue - 20.png ) " 221 PASS CSS Transitions: property <mask-image> from [url(../resources/blue-20.png), none] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (0.6) should be [url(../resources/stripes-20.png), url(../resources/blue-20.png)] 222 PASS CSS Transitions: property <mask-image> from [url(../resources/blue-20.png), none] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (1) should be [url(../resources/stripes-20.png), url(../resources/blue-20.png)] 223 PASS CSS Transitions: property <mask-image> from [url(../resources/blue-20.png), none] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (1.5) should be [url(../resources/stripes-20.png), url(../resources/blue-20.png)] 224 FAIL CSS Transitions with transition: all: property <mask-image> from [url(../resources/blue-20.png), none] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (-0.3) should be [url(../resources/blue-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / blue - 20.png ) " but got "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , url ( http : / / localhost : 8800 / ... / blue - 20.png ) " 225 FAIL CSS Transitions with transition: all: property <mask-image> from [url(../resources/blue-20.png), none] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (0) should be [url(../resources/blue-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / blue - 20.png ) " but got "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , url ( http : / / localhost : 8800 / ... / blue - 20.png ) " 226 FAIL CSS Transitions with transition: all: property <mask-image> from [url(../resources/blue-20.png), none] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (0.3) should be [url(../resources/blue-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / blue - 20.png ) " but got "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , url ( http : / / localhost : 8800 / ... / blue - 20.png ) " 227 PASS CSS Transitions with transition: all: property <mask-image> from [url(../resources/blue-20.png), none] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (0.6) should be [url(../resources/stripes-20.png), url(../resources/blue-20.png)] 228 PASS CSS Transitions with transition: all: property <mask-image> from [url(../resources/blue-20.png), none] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (1) should be [url(../resources/stripes-20.png), url(../resources/blue-20.png)] 229 PASS CSS Transitions with transition: all: property <mask-image> from [url(../resources/blue-20.png), none] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (1.5) should be [url(../resources/stripes-20.png), url(../resources/blue-20.png)] 230 PASS CSS Animations: property <mask-image> from [url(../resources/blue-20.png), none] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (-0.3) should be [url(../resources/blue-20.png)] 231 PASS CSS Animations: property <mask-image> from [url(../resources/blue-20.png), none] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (0) should be [url(../resources/blue-20.png)] 232 PASS CSS Animations: property <mask-image> from [url(../resources/blue-20.png), none] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (0.3) should be [url(../resources/blue-20.png)] 233 FAIL CSS Animations: property <mask-image> from [url(../resources/blue-20.png), none] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (0.6) should be [url(../resources/stripes-20.png), url(../resources/blue-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , url ( http : / / localhost : 8800 / ... / blue - 20.png ) " but got "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " 234 FAIL CSS Animations: property <mask-image> from [url(../resources/blue-20.png), none] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (1) should be [url(../resources/stripes-20.png), url(../resources/blue-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , url ( http : / / localhost : 8800 / ... / blue - 20.png ) " but got "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " 235 FAIL CSS Animations: property <mask-image> from [url(../resources/blue-20.png), none] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (1.5) should be [url(../resources/stripes-20.png), url(../resources/blue-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , url ( http : / / localhost : 8800 / ... / blue - 20.png ) " but got "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " 236 PASS Web Animations: property <mask-image> from [url(../resources/blue-20.png), none] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (-0.3) should be [url(../resources/blue-20.png)] 237 PASS Web Animations: property <mask-image> from [url(../resources/blue-20.png), none] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (0) should be [url(../resources/blue-20.png)] 238 PASS Web Animations: property <mask-image> from [url(../resources/blue-20.png), none] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (0.3) should be [url(../resources/blue-20.png)] 239 FAIL Web Animations: property <mask-image> from [url(../resources/blue-20.png), none] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (0.6) should be [url(../resources/stripes-20.png), url(../resources/blue-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , url ( http : / / localhost : 8800 / ... / blue - 20.png ) " but got "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " 240 FAIL Web Animations: property <mask-image> from [url(../resources/blue-20.png), none] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (1) should be [url(../resources/stripes-20.png), url(../resources/blue-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , url ( http : / / localhost : 8800 / ... / blue - 20.png ) " but got "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " 241 FAIL Web Animations: property <mask-image> from [url(../resources/blue-20.png), none] to [url(../resources/stripes-20.png), url(../resources/blue-20.png)] at (1.5) should be [url(../resources/stripes-20.png), url(../resources/blue-20.png)] assert_equals: expected "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) , url ( http : / / localhost : 8800 / ... / blue - 20.png ) " but got "url ( http : / / localhost : 8800 / ... / stripes - 20.png ) " 242 242 -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/animations/mask-position-interpolation-expected.txt
r281580 r286795 1 1 2 FAIL CSS Transitions: property <mask-position> from neutral to [20px 20px] at (-0.25) should be [7.5px 32.5px] assert_true: 'to' value should be supported expected true got false 3 FAIL CSS Transitions: property <mask-position> from neutral to [20px 20px] at (0) should be [10px 30px] assert_true: 'to' value should be supported expected true got false 4 FAIL CSS Transitions: property <mask-position> from neutral to [20px 20px] at (0.25) should be [12.5px 27.5px] assert_true: 'to' value should be supported expected true got false 5 FAIL CSS Transitions: property <mask-position> from neutral to [20px 20px] at (0.5) should be [15px 25px] assert_true: 'to' value should be supported expected true got false 6 FAIL CSS Transitions: property <mask-position> from neutral to [20px 20px] at (0.75) should be [17.5px 22.5px] assert_true: 'to' value should be supported expected true got false 7 FAIL CSS Transitions: property <mask-position> from neutral to [20px 20px] at (1) should be [20px 20px] assert_true: 'to' value should be supported expected true got false 8 FAIL CSS Transitions: property <mask-position> from neutral to [20px 20px] at (1.25) should be [22.5px 17.5px] assert_true: 'to' value should be supported expected true got false 9 FAIL CSS Transitions with transition: all: property <mask-position> from neutral to [20px 20px] at (-0.25) should be [7.5px 32.5px] assert_true: 'to' value should be supported expected true got false 10 FAIL CSS Transitions with transition: all: property <mask-position> from neutral to [20px 20px] at (0) should be [10px 30px] assert_true: 'to' value should be supported expected true got false 11 FAIL CSS Transitions with transition: all: property <mask-position> from neutral to [20px 20px] at (0.25) should be [12.5px 27.5px] assert_true: 'to' value should be supported expected true got false 12 FAIL CSS Transitions with transition: all: property <mask-position> from neutral to [20px 20px] at (0.5) should be [15px 25px] assert_true: 'to' value should be supported expected true got false 13 FAIL CSS Transitions with transition: all: property <mask-position> from neutral to [20px 20px] at (0.75) should be [17.5px 22.5px] assert_true: 'to' value should be supported expected true got false 14 FAIL CSS Transitions with transition: all: property <mask-position> from neutral to [20px 20px] at (1) should be [20px 20px] assert_true: 'to' value should be supported expected true got false 15 FAIL CSS Transitions with transition: all: property <mask-position> from neutral to [20px 20px] at (1.25) should be [22.5px 17.5px] assert_true: 'to' value should be supported expected true got false 16 FAIL CSS Animations: property <mask-position> from neutral to [20px 20px] at (-0.25) should be [7.5px 32.5px] assert_true: 'to' value should be supported expected true got false 17 FAIL CSS Animations: property <mask-position> from neutral to [20px 20px] at (0) should be [10px 30px] assert_true: 'to' value should be supported expected true got false 18 FAIL CSS Animations: property <mask-position> from neutral to [20px 20px] at (0.25) should be [12.5px 27.5px] assert_true: 'to' value should be supported expected true got false 19 FAIL CSS Animations: property <mask-position> from neutral to [20px 20px] at (0.5) should be [15px 25px] assert_true: 'to' value should be supported expected true got false 20 FAIL CSS Animations: property <mask-position> from neutral to [20px 20px] at (0.75) should be [17.5px 22.5px] assert_true: 'to' value should be supported expected true got false 21 FAIL CSS Animations: property <mask-position> from neutral to [20px 20px] at (1) should be [20px 20px] assert_true: 'to' value should be supported expected true got false 22 FAIL CSS Animations: property <mask-position> from neutral to [20px 20px] at (1.25) should be [22.5px 17.5px] assert_true: 'to' value should be supported expected true got false 23 FAIL Web Animations: property <mask-position> from neutral to [20px 20px] at (-0.25) should be [7.5px 32.5px] assert_true: 'to' value should be supported expected true got false 24 FAIL Web Animations: property <mask-position> from neutral to [20px 20px] at (0) should be [10px 30px] assert_true: 'to' value should be supported expected true got false 25 FAIL Web Animations: property <mask-position> from neutral to [20px 20px] at (0.25) should be [12.5px 27.5px] assert_true: 'to' value should be supported expected true got false 26 FAIL Web Animations: property <mask-position> from neutral to [20px 20px] at (0.5) should be [15px 25px] assert_true: 'to' value should be supported expected true got false 27 FAIL Web Animations: property <mask-position> from neutral to [20px 20px] at (0.75) should be [17.5px 22.5px] assert_true: 'to' value should be supported expected true got false 28 FAIL Web Animations: property <mask-position> from neutral to [20px 20px] at (1) should be [20px 20px] assert_true: 'to' value should be supported expected true got false 29 FAIL Web Animations: property <mask-position> from neutral to [20px 20px] at (1.25) should be [22.5px 17.5px] assert_true: 'to' value should be supported expected true got false 30 FAIL CSS Transitions: property <mask-position> from [initial] to [20px 20px] at (-0.25) should be [calc(0% - 5px) calc(0% - 5px)] assert_true: 'from' value should be supported expected true got false 31 FAIL CSS Transitions: property <mask-position> from [initial] to [20px 20px] at (0) should be [0% 0%] assert_true: 'from' value should be supported expected true got false 32 FAIL CSS Transitions: property <mask-position> from [initial] to [20px 20px] at (0.25) should be [calc(0% + 5px) calc(0% + 5px)] assert_true: 'from' value should be supported expected true got false 33 FAIL CSS Transitions: property <mask-position> from [initial] to [20px 20px] at (0.5) should be [calc(0% + 10px) calc(0% + 10px)] assert_true: 'from' value should be supported expected true got false 34 FAIL CSS Transitions: property <mask-position> from [initial] to [20px 20px] at (0.75) should be [calc(0% + 15px) calc(0% + 15px)] assert_true: 'from' value should be supported expected true got false 35 FAIL CSS Transitions: property <mask-position> from [initial] to [20px 20px] at (1) should be [calc(0% + 20px) calc(0% + 20px)] assert_true: 'from' value should be supported expected true got false 36 FAIL CSS Transitions: property <mask-position> from [initial] to [20px 20px] at (1.25) should be [calc(0% + 25px) calc(0% + 25px)] assert_true: 'from' value should be supported expected true got false 37 FAIL CSS Transitions with transition: all: property <mask-position> from [initial] to [20px 20px] at (-0.25) should be [calc(0% - 5px) calc(0% - 5px)] assert_true: 'from' value should be supported expected true got false 38 FAIL CSS Transitions with transition: all: property <mask-position> from [initial] to [20px 20px] at (0) should be [0% 0%] assert_true: 'from' value should be supported expected true got false 39 FAIL CSS Transitions with transition: all: property <mask-position> from [initial] to [20px 20px] at (0.25) should be [calc(0% + 5px) calc(0% + 5px)] assert_true: 'from' value should be supported expected true got false 40 FAIL CSS Transitions with transition: all: property <mask-position> from [initial] to [20px 20px] at (0.5) should be [calc(0% + 10px) calc(0% + 10px)] assert_true: 'from' value should be supported expected true got false 41 FAIL CSS Transitions with transition: all: property <mask-position> from [initial] to [20px 20px] at (0.75) should be [calc(0% + 15px) calc(0% + 15px)] assert_true: 'from' value should be supported expected true got false 42 FAIL CSS Transitions with transition: all: property <mask-position> from [initial] to [20px 20px] at (1) should be [calc(0% + 20px) calc(0% + 20px)] assert_true: 'from' value should be supported expected true got false 43 FAIL CSS Transitions with transition: all: property <mask-position> from [initial] to [20px 20px] at (1.25) should be [calc(0% + 25px) calc(0% + 25px)] assert_true: 'from' value should be supported expected true got false 44 FAIL CSS Animations: property <mask-position> from [initial] to [20px 20px] at (-0.25) should be [calc(0% - 5px) calc(0% - 5px)] assert_true: 'from' value should be supported expected true got false 45 FAIL CSS Animations: property <mask-position> from [initial] to [20px 20px] at (0) should be [0% 0%] assert_true: 'from' value should be supported expected true got false 46 FAIL CSS Animations: property <mask-position> from [initial] to [20px 20px] at (0.25) should be [calc(0% + 5px) calc(0% + 5px)] assert_true: 'from' value should be supported expected true got false 47 FAIL CSS Animations: property <mask-position> from [initial] to [20px 20px] at (0.5) should be [calc(0% + 10px) calc(0% + 10px)] assert_true: 'from' value should be supported expected true got false 48 FAIL CSS Animations: property <mask-position> from [initial] to [20px 20px] at (0.75) should be [calc(0% + 15px) calc(0% + 15px)] assert_true: 'from' value should be supported expected true got false 49 FAIL CSS Animations: property <mask-position> from [initial] to [20px 20px] at (1) should be [calc(0% + 20px) calc(0% + 20px)] assert_true: 'from' value should be supported expected true got false 50 FAIL CSS Animations: property <mask-position> from [initial] to [20px 20px] at (1.25) should be [calc(0% + 25px) calc(0% + 25px)] assert_true: 'from' value should be supported expected true got false 51 FAIL Web Animations: property <mask-position> from [initial] to [20px 20px] at (-0.25) should be [calc(0% - 5px) calc(0% - 5px)] assert_true: 'from' value should be supported expected true got false 52 FAIL Web Animations: property <mask-position> from [initial] to [20px 20px] at (0) should be [0% 0%] assert_true: 'from' value should be supported expected true got false 53 FAIL Web Animations: property <mask-position> from [initial] to [20px 20px] at (0.25) should be [calc(0% + 5px) calc(0% + 5px)] assert_true: 'from' value should be supported expected true got false 54 FAIL Web Animations: property <mask-position> from [initial] to [20px 20px] at (0.5) should be [calc(0% + 10px) calc(0% + 10px)] assert_true: 'from' value should be supported expected true got false 55 FAIL Web Animations: property <mask-position> from [initial] to [20px 20px] at (0.75) should be [calc(0% + 15px) calc(0% + 15px)] assert_true: 'from' value should be supported expected true got false 56 FAIL Web Animations: property <mask-position> from [initial] to [20px 20px] at (1) should be [calc(0% + 20px) calc(0% + 20px)] assert_true: 'from' value should be supported expected true got false 57 FAIL Web Animations: property <mask-position> from [initial] to [20px 20px] at (1.25) should be [calc(0% + 25px) calc(0% + 25px)] assert_true: 'from' value should be supported expected true got false 58 FAIL CSS Transitions: property <mask-position> from [inherit] to [20px 20px] at (-0.25) should be [32.5px 7.5px] assert_true: 'from' value should be supported expected true got false 59 FAIL CSS Transitions: property <mask-position> from [inherit] to [20px 20px] at (0) should be [30px 10px] assert_true: 'from' value should be supported expected true got false 60 FAIL CSS Transitions: property <mask-position> from [inherit] to [20px 20px] at (0.25) should be [27.5px 12.5px] assert_true: 'from' value should be supported expected true got false 61 FAIL CSS Transitions: property <mask-position> from [inherit] to [20px 20px] at (0.5) should be [25px 15px] assert_true: 'from' value should be supported expected true got false 62 FAIL CSS Transitions: property <mask-position> from [inherit] to [20px 20px] at (0.75) should be [22.5px 17.5px] assert_true: 'from' value should be supported expected true got false 63 FAIL CSS Transitions: property <mask-position> from [inherit] to [20px 20px] at (1) should be [20px 20px] assert_true: 'from' value should be supported expected true got false 64 FAIL CSS Transitions: property <mask-position> from [inherit] to [20px 20px] at (1.25) should be [17.5px 22.5px] assert_true: 'from' value should be supported expected true got false 65 FAIL CSS Transitions with transition: all: property <mask-position> from [inherit] to [20px 20px] at (-0.25) should be [32.5px 7.5px] assert_true: 'from' value should be supported expected true got false 66 FAIL CSS Transitions with transition: all: property <mask-position> from [inherit] to [20px 20px] at (0) should be [30px 10px] assert_true: 'from' value should be supported expected true got false 67 FAIL CSS Transitions with transition: all: property <mask-position> from [inherit] to [20px 20px] at (0.25) should be [27.5px 12.5px] assert_true: 'from' value should be supported expected true got false 68 FAIL CSS Transitions with transition: all: property <mask-position> from [inherit] to [20px 20px] at (0.5) should be [25px 15px] assert_true: 'from' value should be supported expected true got false 69 FAIL CSS Transitions with transition: all: property <mask-position> from [inherit] to [20px 20px] at (0.75) should be [22.5px 17.5px] assert_true: 'from' value should be supported expected true got false 70 FAIL CSS Transitions with transition: all: property <mask-position> from [inherit] to [20px 20px] at (1) should be [20px 20px] assert_true: 'from' value should be supported expected true got false 71 FAIL CSS Transitions with transition: all: property <mask-position> from [inherit] to [20px 20px] at (1.25) should be [17.5px 22.5px] assert_true: 'from' value should be supported expected true got false 72 FAIL CSS Animations: property <mask-position> from [inherit] to [20px 20px] at (-0.25) should be [32.5px 7.5px] assert_true: 'from' value should be supported expected true got false 73 FAIL CSS Animations: property <mask-position> from [inherit] to [20px 20px] at (0) should be [30px 10px] assert_true: 'from' value should be supported expected true got false 74 FAIL CSS Animations: property <mask-position> from [inherit] to [20px 20px] at (0.25) should be [27.5px 12.5px] assert_true: 'from' value should be supported expected true got false 75 FAIL CSS Animations: property <mask-position> from [inherit] to [20px 20px] at (0.5) should be [25px 15px] assert_true: 'from' value should be supported expected true got false 76 FAIL CSS Animations: property <mask-position> from [inherit] to [20px 20px] at (0.75) should be [22.5px 17.5px] assert_true: 'from' value should be supported expected true got false 77 FAIL CSS Animations: property <mask-position> from [inherit] to [20px 20px] at (1) should be [20px 20px] assert_true: 'from' value should be supported expected true got false 78 FAIL CSS Animations: property <mask-position> from [inherit] to [20px 20px] at (1.25) should be [17.5px 22.5px] assert_true: 'from' value should be supported expected true got false 79 FAIL Web Animations: property <mask-position> from [inherit] to [20px 20px] at (-0.25) should be [32.5px 7.5px] assert_true: 'from' value should be supported expected true got false 80 FAIL Web Animations: property <mask-position> from [inherit] to [20px 20px] at (0) should be [30px 10px] assert_true: 'from' value should be supported expected true got false 81 FAIL Web Animations: property <mask-position> from [inherit] to [20px 20px] at (0.25) should be [27.5px 12.5px] assert_true: 'from' value should be supported expected true got false 82 FAIL Web Animations: property <mask-position> from [inherit] to [20px 20px] at (0.5) should be [25px 15px] assert_true: 'from' value should be supported expected true got false 83 FAIL Web Animations: property <mask-position> from [inherit] to [20px 20px] at (0.75) should be [22.5px 17.5px] assert_true: 'from' value should be supported expected true got false 84 FAIL Web Animations: property <mask-position> from [inherit] to [20px 20px] at (1) should be [20px 20px] assert_true: 'from' value should be supported expected true got false 85 FAIL Web Animations: property <mask-position> from [inherit] to [20px 20px] at (1.25) should be [17.5px 22.5px] assert_true: 'from' value should be supported expected true got false 86 FAIL CSS Transitions: property <mask-position> from [unset] to [20px 20px] at (-0.25) should be [calc(0% - 5px) calc(0% - 5px)] assert_true: 'from' value should be supported expected true got false 87 FAIL CSS Transitions: property <mask-position> from [unset] to [20px 20px] at (0) should be [0% 0%] assert_true: 'from' value should be supported expected true got false 88 FAIL CSS Transitions: property <mask-position> from [unset] to [20px 20px] at (0.25) should be [calc(0% + 5px) calc(0% + 5px)] assert_true: 'from' value should be supported expected true got false 89 FAIL CSS Transitions: property <mask-position> from [unset] to [20px 20px] at (0.5) should be [calc(0% + 10px) calc(0% + 10px)] assert_true: 'from' value should be supported expected true got false 90 FAIL CSS Transitions: property <mask-position> from [unset] to [20px 20px] at (0.75) should be [calc(0% + 15px) calc(0% + 15px)] assert_true: 'from' value should be supported expected true got false 91 FAIL CSS Transitions: property <mask-position> from [unset] to [20px 20px] at (1) should be [calc(0% + 20px) calc(0% + 20px)] assert_true: 'from' value should be supported expected true got false 92 FAIL CSS Transitions: property <mask-position> from [unset] to [20px 20px] at (1.25) should be [calc(0% + 25px) calc(0% + 25px)] assert_true: 'from' value should be supported expected true got false 93 FAIL CSS Transitions with transition: all: property <mask-position> from [unset] to [20px 20px] at (-0.25) should be [calc(0% - 5px) calc(0% - 5px)] assert_true: 'from' value should be supported expected true got false 94 FAIL CSS Transitions with transition: all: property <mask-position> from [unset] to [20px 20px] at (0) should be [0% 0%] assert_true: 'from' value should be supported expected true got false 95 FAIL CSS Transitions with transition: all: property <mask-position> from [unset] to [20px 20px] at (0.25) should be [calc(0% + 5px) calc(0% + 5px)] assert_true: 'from' value should be supported expected true got false 96 FAIL CSS Transitions with transition: all: property <mask-position> from [unset] to [20px 20px] at (0.5) should be [calc(0% + 10px) calc(0% + 10px)] assert_true: 'from' value should be supported expected true got false 97 FAIL CSS Transitions with transition: all: property <mask-position> from [unset] to [20px 20px] at (0.75) should be [calc(0% + 15px) calc(0% + 15px)] assert_true: 'from' value should be supported expected true got false 98 FAIL CSS Transitions with transition: all: property <mask-position> from [unset] to [20px 20px] at (1) should be [calc(0% + 20px) calc(0% + 20px)] assert_true: 'from' value should be supported expected true got false 99 FAIL CSS Transitions with transition: all: property <mask-position> from [unset] to [20px 20px] at (1.25) should be [calc(0% + 25px) calc(0% + 25px)] assert_true: 'from' value should be supported expected true got false 100 FAIL CSS Animations: property <mask-position> from [unset] to [20px 20px] at (-0.25) should be [calc(0% - 5px) calc(0% - 5px)] assert_true: 'from' value should be supported expected true got false 101 FAIL CSS Animations: property <mask-position> from [unset] to [20px 20px] at (0) should be [0% 0%] assert_true: 'from' value should be supported expected true got false 102 FAIL CSS Animations: property <mask-position> from [unset] to [20px 20px] at (0.25) should be [calc(0% + 5px) calc(0% + 5px)] assert_true: 'from' value should be supported expected true got false 103 FAIL CSS Animations: property <mask-position> from [unset] to [20px 20px] at (0.5) should be [calc(0% + 10px) calc(0% + 10px)] assert_true: 'from' value should be supported expected true got false 104 FAIL CSS Animations: property <mask-position> from [unset] to [20px 20px] at (0.75) should be [calc(0% + 15px) calc(0% + 15px)] assert_true: 'from' value should be supported expected true got false 105 FAIL CSS Animations: property <mask-position> from [unset] to [20px 20px] at (1) should be [calc(0% + 20px) calc(0% + 20px)] assert_true: 'from' value should be supported expected true got false 106 FAIL CSS Animations: property <mask-position> from [unset] to [20px 20px] at (1.25) should be [calc(0% + 25px) calc(0% + 25px)] assert_true: 'from' value should be supported expected true got false 107 FAIL Web Animations: property <mask-position> from [unset] to [20px 20px] at (-0.25) should be [calc(0% - 5px) calc(0% - 5px)] assert_true: 'from' value should be supported expected true got false 108 FAIL Web Animations: property <mask-position> from [unset] to [20px 20px] at (0) should be [0% 0%] assert_true: 'from' value should be supported expected true got false 109 FAIL Web Animations: property <mask-position> from [unset] to [20px 20px] at (0.25) should be [calc(0% + 5px) calc(0% + 5px)] assert_true: 'from' value should be supported expected true got false 110 FAIL Web Animations: property <mask-position> from [unset] to [20px 20px] at (0.5) should be [calc(0% + 10px) calc(0% + 10px)] assert_true: 'from' value should be supported expected true got false 111 FAIL Web Animations: property <mask-position> from [unset] to [20px 20px] at (0.75) should be [calc(0% + 15px) calc(0% + 15px)] assert_true: 'from' value should be supported expected true got false 112 FAIL Web Animations: property <mask-position> from [unset] to [20px 20px] at (1) should be [calc(0% + 20px) calc(0% + 20px)] assert_true: 'from' value should be supported expected true got false 113 FAIL Web Animations: property <mask-position> from [unset] to [20px 20px] at (1.25) should be [calc(0% + 25px) calc(0% + 25px)] assert_true: 'from' value should be supported expected true got false 114 FAIL CSS Transitions: property <mask-position> from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (-0.25) should be [-20px -20px, -20px -20px, -20px -20px, -20px -20px] assert_true: 'from' value should be supported expected true got false 115 FAIL CSS Transitions: property <mask-position> from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0) should be [ 0px 0px, 0px 0px, 0px 0px, 0px 0px] assert_true: 'from' value should be supported expected true got false 116 FAIL CSS Transitions: property <mask-position> from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0.25) should be [ 20px 20px, 20px 20px, 20px 20px, 20px 20px] assert_true: 'from' value should be supported expected true got false 117 FAIL CSS Transitions: property <mask-position> from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0.5) should be [ 40px 40px, 40px 40px, 40px 40px, 40px 40px] assert_true: 'from' value should be supported expected true got false 118 FAIL CSS Transitions: property <mask-position> from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0.75) should be [ 60px 60px, 60px 60px, 60px 60px, 60px 60px] assert_true: 'from' value should be supported expected true got false 119 FAIL CSS Transitions: property <mask-position> from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (1) should be [ 80px 80px, 80px 80px, 80px 80px, 80px 80px] assert_true: 'from' value should be supported expected true got false 120 FAIL CSS Transitions: property <mask-position> from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (1.25) should be [100px 100px, 100px 100px, 100px 100px, 100px 100px] assert_true: 'from' value should be supported expected true got false 121 FAIL CSS Transitions with transition: all: property <mask-position> from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (-0.25) should be [-20px -20px, -20px -20px, -20px -20px, -20px -20px] assert_true: 'from' value should be supported expected true got false 122 FAIL CSS Transitions with transition: all: property <mask-position> from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0) should be [ 0px 0px, 0px 0px, 0px 0px, 0px 0px] assert_true: 'from' value should be supported expected true got false 123 FAIL CSS Transitions with transition: all: property <mask-position> from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0.25) should be [ 20px 20px, 20px 20px, 20px 20px, 20px 20px] assert_true: 'from' value should be supported expected true got false 124 FAIL CSS Transitions with transition: all: property <mask-position> from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0.5) should be [ 40px 40px, 40px 40px, 40px 40px, 40px 40px] assert_true: 'from' value should be supported expected true got false 125 FAIL CSS Transitions with transition: all: property <mask-position> from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0.75) should be [ 60px 60px, 60px 60px, 60px 60px, 60px 60px] assert_true: 'from' value should be supported expected true got false 126 FAIL CSS Transitions with transition: all: property <mask-position> from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (1) should be [ 80px 80px, 80px 80px, 80px 80px, 80px 80px] assert_true: 'from' value should be supported expected true got false 127 FAIL CSS Transitions with transition: all: property <mask-position> from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (1.25) should be [100px 100px, 100px 100px, 100px 100px, 100px 100px] assert_true: 'from' value should be supported expected true got false 128 FAIL CSS Animations: property <mask-position> from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (-0.25) should be [-20px -20px, -20px -20px, -20px -20px, -20px -20px] assert_true: 'from' value should be supported expected true got false 129 FAIL CSS Animations: property <mask-position> from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0) should be [ 0px 0px, 0px 0px, 0px 0px, 0px 0px] assert_true: 'from' value should be supported expected true got false 130 FAIL CSS Animations: property <mask-position> from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0.25) should be [ 20px 20px, 20px 20px, 20px 20px, 20px 20px] assert_true: 'from' value should be supported expected true got false 131 FAIL CSS Animations: property <mask-position> from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0.5) should be [ 40px 40px, 40px 40px, 40px 40px, 40px 40px] assert_true: 'from' value should be supported expected true got false 132 FAIL CSS Animations: property <mask-position> from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0.75) should be [ 60px 60px, 60px 60px, 60px 60px, 60px 60px] assert_true: 'from' value should be supported expected true got false 133 FAIL CSS Animations: property <mask-position> from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (1) should be [ 80px 80px, 80px 80px, 80px 80px, 80px 80px] assert_true: 'from' value should be supported expected true got false 134 FAIL CSS Animations: property <mask-position> from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (1.25) should be [100px 100px, 100px 100px, 100px 100px, 100px 100px] assert_true: 'from' value should be supported expected true got false 135 FAIL Web Animations: property <mask-position> from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (-0.25) should be [-20px -20px, -20px -20px, -20px -20px, -20px -20px] assert_true: 'from' value should be supported expected true got false 136 FAIL Web Animations: property <mask-position> from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0) should be [ 0px 0px, 0px 0px, 0px 0px, 0px 0px] assert_true: 'from' value should be supported expected true got false 137 FAIL Web Animations: property <mask-position> from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0.25) should be [ 20px 20px, 20px 20px, 20px 20px, 20px 20px] assert_true: 'from' value should be supported expected true got false 138 FAIL Web Animations: property <mask-position> from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0.5) should be [ 40px 40px, 40px 40px, 40px 40px, 40px 40px] assert_true: 'from' value should be supported expected true got false 139 FAIL Web Animations: property <mask-position> from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0.75) should be [ 60px 60px, 60px 60px, 60px 60px, 60px 60px] assert_true: 'from' value should be supported expected true got false 140 FAIL Web Animations: property <mask-position> from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (1) should be [ 80px 80px, 80px 80px, 80px 80px, 80px 80px] assert_true: 'from' value should be supported expected true got false 141 FAIL Web Animations: property <mask-position> from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (1.25) should be [100px 100px, 100px 100px, 100px 100px, 100px 100px] assert_true: 'from' value should be supported expected true got false 142 FAIL CSS Transitions: property <mask-position> from [top 0px left 0px] to [left 80px top 80px] at (-0.25) should be [-20px -20px] assert_true: 'from' value should be supported expected true got false 143 FAIL CSS Transitions: property <mask-position> from [top 0px left 0px] to [left 80px top 80px] at (0) should be [ 0px 0px] assert_true: 'from' value should be supported expected true got false 144 FAIL CSS Transitions: property <mask-position> from [top 0px left 0px] to [left 80px top 80px] at (0.25) should be [ 20px 20px] assert_true: 'from' value should be supported expected true got false 145 FAIL CSS Transitions: property <mask-position> from [top 0px left 0px] to [left 80px top 80px] at (0.5) should be [ 40px 40px] assert_true: 'from' value should be supported expected true got false 146 FAIL CSS Transitions: property <mask-position> from [top 0px left 0px] to [left 80px top 80px] at (0.75) should be [ 60px 60px] assert_true: 'from' value should be supported expected true got false 147 FAIL CSS Transitions: property <mask-position> from [top 0px left 0px] to [left 80px top 80px] at (1) should be [ 80px 80px] assert_true: 'from' value should be supported expected true got false 148 FAIL CSS Transitions: property <mask-position> from [top 0px left 0px] to [left 80px top 80px] at (1.25) should be [100px 100px] assert_true: 'from' value should be supported expected true got false 149 FAIL CSS Transitions with transition: all: property <mask-position> from [top 0px left 0px] to [left 80px top 80px] at (-0.25) should be [-20px -20px] assert_true: 'from' value should be supported expected true got false 150 FAIL CSS Transitions with transition: all: property <mask-position> from [top 0px left 0px] to [left 80px top 80px] at (0) should be [ 0px 0px] assert_true: 'from' value should be supported expected true got false 151 FAIL CSS Transitions with transition: all: property <mask-position> from [top 0px left 0px] to [left 80px top 80px] at (0.25) should be [ 20px 20px] assert_true: 'from' value should be supported expected true got false 152 FAIL CSS Transitions with transition: all: property <mask-position> from [top 0px left 0px] to [left 80px top 80px] at (0.5) should be [ 40px 40px] assert_true: 'from' value should be supported expected true got false 153 FAIL CSS Transitions with transition: all: property <mask-position> from [top 0px left 0px] to [left 80px top 80px] at (0.75) should be [ 60px 60px] assert_true: 'from' value should be supported expected true got false 154 FAIL CSS Transitions with transition: all: property <mask-position> from [top 0px left 0px] to [left 80px top 80px] at (1) should be [ 80px 80px] assert_true: 'from' value should be supported expected true got false 155 FAIL CSS Transitions with transition: all: property <mask-position> from [top 0px left 0px] to [left 80px top 80px] at (1.25) should be [100px 100px] assert_true: 'from' value should be supported expected true got false 156 FAIL CSS Animations: property <mask-position> from [top 0px left 0px] to [left 80px top 80px] at (-0.25) should be [-20px -20px] assert_true: 'from' value should be supported expected true got false 157 FAIL CSS Animations: property <mask-position> from [top 0px left 0px] to [left 80px top 80px] at (0) should be [ 0px 0px] assert_true: 'from' value should be supported expected true got false 158 FAIL CSS Animations: property <mask-position> from [top 0px left 0px] to [left 80px top 80px] at (0.25) should be [ 20px 20px] assert_true: 'from' value should be supported expected true got false 159 FAIL CSS Animations: property <mask-position> from [top 0px left 0px] to [left 80px top 80px] at (0.5) should be [ 40px 40px] assert_true: 'from' value should be supported expected true got false 160 FAIL CSS Animations: property <mask-position> from [top 0px left 0px] to [left 80px top 80px] at (0.75) should be [ 60px 60px] assert_true: 'from' value should be supported expected true got false 161 FAIL CSS Animations: property <mask-position> from [top 0px left 0px] to [left 80px top 80px] at (1) should be [ 80px 80px] assert_true: 'from' value should be supported expected true got false 162 FAIL CSS Animations: property <mask-position> from [top 0px left 0px] to [left 80px top 80px] at (1.25) should be [100px 100px] assert_true: 'from' value should be supported expected true got false 163 FAIL Web Animations: property <mask-position> from [top 0px left 0px] to [left 80px top 80px] at (-0.25) should be [-20px -20px] assert_true: 'from' value should be supported expected true got false 164 FAIL Web Animations: property <mask-position> from [top 0px left 0px] to [left 80px top 80px] at (0) should be [ 0px 0px] assert_true: 'from' value should be supported expected true got false 165 FAIL Web Animations: property <mask-position> from [top 0px left 0px] to [left 80px top 80px] at (0.25) should be [ 20px 20px] assert_true: 'from' value should be supported expected true got false 166 FAIL Web Animations: property <mask-position> from [top 0px left 0px] to [left 80px top 80px] at (0.5) should be [ 40px 40px] assert_true: 'from' value should be supported expected true got false 167 FAIL Web Animations: property <mask-position> from [top 0px left 0px] to [left 80px top 80px] at (0.75) should be [ 60px 60px] assert_true: 'from' value should be supported expected true got false 168 FAIL Web Animations: property <mask-position> from [top 0px left 0px] to [left 80px top 80px] at (1) should be [ 80px 80px] assert_true: 'from' value should be supported expected true got false 169 FAIL Web Animations: property <mask-position> from [top 0px left 0px] to [left 80px top 80px] at (1.25) should be [100px 100px] assert_true: 'from' value should be supported expected true got false 170 FAIL CSS Transitions: property <mask-position> from [0px 0px, 80px 0px] to [40px 40px, 80px 80px, 0px 80px] at (-0.25) should be [-10px -10px, 80px -20px, 0px -20px, 90px -10px, -20px -20px, 100px -20px] assert_true: 'from' value should be supported expected true got false 171 FAIL CSS Transitions: property <mask-position> from [0px 0px, 80px 0px] to [40px 40px, 80px 80px, 0px 80px] at (0) should be [ 0px 0px, 80px 0px, 0px 0px, 80px 0px, 0px 0px, 80px 0px] assert_true: 'from' value should be supported expected true got false 172 FAIL CSS Transitions: property <mask-position> from [0px 0px, 80px 0px] to [40px 40px, 80px 80px, 0px 80px] at (0.25) should be [ 10px 10px, 80px 20px, 0px 20px, 70px 10px, 20px 20px, 60px 20px] assert_true: 'from' value should be supported expected true got false 173 FAIL CSS Transitions: property <mask-position> from [0px 0px, 80px 0px] to [40px 40px, 80px 80px, 0px 80px] at (0.5) should be [ 20px 20px, 80px 40px, 0px 40px, 60px 20px, 40px 40px, 40px 40px] assert_true: 'from' value should be supported expected true got false 174 FAIL CSS Transitions: property <mask-position> from [0px 0px, 80px 0px] to [40px 40px, 80px 80px, 0px 80px] at (0.75) should be [ 30px 30px, 80px 60px, 0px 60px, 50px 30px, 60px 60px, 20px 60px] assert_true: 'from' value should be supported expected true got false 175 FAIL CSS Transitions: property <mask-position> from [0px 0px, 80px 0px] to [40px 40px, 80px 80px, 0px 80px] at (1) should be [ 40px 40px, 80px 80px, 0px 80px, 40px 40px, 80px 80px, 0px 80px] assert_true: 'from' value should be supported expected true got false 176 FAIL CSS Transitions: property <mask-position> from [0px 0px, 80px 0px] to [40px 40px, 80px 80px, 0px 80px] at (1.25) should be [ 50px 50px, 80px 100px, 0px 100px, 30px 50px, 100px 100px, -20px 100px] assert_true: 'from' value should be supported expected true got false 177 FAIL CSS Transitions with transition: all: property <mask-position> from [0px 0px, 80px 0px] to [40px 40px, 80px 80px, 0px 80px] at (-0.25) should be [-10px -10px, 80px -20px, 0px -20px, 90px -10px, -20px -20px, 100px -20px] assert_true: 'from' value should be supported expected true got false 178 FAIL CSS Transitions with transition: all: property <mask-position> from [0px 0px, 80px 0px] to [40px 40px, 80px 80px, 0px 80px] at (0) should be [ 0px 0px, 80px 0px, 0px 0px, 80px 0px, 0px 0px, 80px 0px] assert_true: 'from' value should be supported expected true got false 179 FAIL CSS Transitions with transition: all: property <mask-position> from [0px 0px, 80px 0px] to [40px 40px, 80px 80px, 0px 80px] at (0.25) should be [ 10px 10px, 80px 20px, 0px 20px, 70px 10px, 20px 20px, 60px 20px] assert_true: 'from' value should be supported expected true got false 180 FAIL CSS Transitions with transition: all: property <mask-position> from [0px 0px, 80px 0px] to [40px 40px, 80px 80px, 0px 80px] at (0.5) should be [ 20px 20px, 80px 40px, 0px 40px, 60px 20px, 40px 40px, 40px 40px] assert_true: 'from' value should be supported expected true got false 181 FAIL CSS Transitions with transition: all: property <mask-position> from [0px 0px, 80px 0px] to [40px 40px, 80px 80px, 0px 80px] at (0.75) should be [ 30px 30px, 80px 60px, 0px 60px, 50px 30px, 60px 60px, 20px 60px] assert_true: 'from' value should be supported expected true got false 182 FAIL CSS Transitions with transition: all: property <mask-position> from [0px 0px, 80px 0px] to [40px 40px, 80px 80px, 0px 80px] at (1) should be [ 40px 40px, 80px 80px, 0px 80px, 40px 40px, 80px 80px, 0px 80px] assert_true: 'from' value should be supported expected true got false 183 FAIL CSS Transitions with transition: all: property <mask-position> from [0px 0px, 80px 0px] to [40px 40px, 80px 80px, 0px 80px] at (1.25) should be [ 50px 50px, 80px 100px, 0px 100px, 30px 50px, 100px 100px, -20px 100px] assert_true: 'from' value should be supported expected true got false 184 FAIL CSS Animations: property <mask-position> from [0px 0px, 80px 0px] to [40px 40px, 80px 80px, 0px 80px] at (-0.25) should be [-10px -10px, 80px -20px, 0px -20px, 90px -10px, -20px -20px, 100px -20px] assert_true: 'from' value should be supported expected true got false 185 FAIL CSS Animations: property <mask-position> from [0px 0px, 80px 0px] to [40px 40px, 80px 80px, 0px 80px] at (0) should be [ 0px 0px, 80px 0px, 0px 0px, 80px 0px, 0px 0px, 80px 0px] assert_true: 'from' value should be supported expected true got false 186 FAIL CSS Animations: property <mask-position> from [0px 0px, 80px 0px] to [40px 40px, 80px 80px, 0px 80px] at (0.25) should be [ 10px 10px, 80px 20px, 0px 20px, 70px 10px, 20px 20px, 60px 20px] assert_true: 'from' value should be supported expected true got false 187 FAIL CSS Animations: property <mask-position> from [0px 0px, 80px 0px] to [40px 40px, 80px 80px, 0px 80px] at (0.5) should be [ 20px 20px, 80px 40px, 0px 40px, 60px 20px, 40px 40px, 40px 40px] assert_true: 'from' value should be supported expected true got false 188 FAIL CSS Animations: property <mask-position> from [0px 0px, 80px 0px] to [40px 40px, 80px 80px, 0px 80px] at (0.75) should be [ 30px 30px, 80px 60px, 0px 60px, 50px 30px, 60px 60px, 20px 60px] assert_true: 'from' value should be supported expected true got false 189 FAIL CSS Animations: property <mask-position> from [0px 0px, 80px 0px] to [40px 40px, 80px 80px, 0px 80px] at (1) should be [ 40px 40px, 80px 80px, 0px 80px, 40px 40px, 80px 80px, 0px 80px] assert_true: 'from' value should be supported expected true got false 190 FAIL CSS Animations: property <mask-position> from [0px 0px, 80px 0px] to [40px 40px, 80px 80px, 0px 80px] at (1.25) should be [ 50px 50px, 80px 100px, 0px 100px, 30px 50px, 100px 100px, -20px 100px] assert_true: 'from' value should be supported expected true got false 191 FAIL Web Animations: property <mask-position> from [0px 0px, 80px 0px] to [40px 40px, 80px 80px, 0px 80px] at (-0.25) should be [-10px -10px, 80px -20px, 0px -20px, 90px -10px, -20px -20px, 100px -20px] assert_true: 'from' value should be supported expected true got false 192 FAIL Web Animations: property <mask-position> from [0px 0px, 80px 0px] to [40px 40px, 80px 80px, 0px 80px] at (0) should be [ 0px 0px, 80px 0px, 0px 0px, 80px 0px, 0px 0px, 80px 0px] assert_true: 'from' value should be supported expected true got false 193 FAIL Web Animations: property <mask-position> from [0px 0px, 80px 0px] to [40px 40px, 80px 80px, 0px 80px] at (0.25) should be [ 10px 10px, 80px 20px, 0px 20px, 70px 10px, 20px 20px, 60px 20px] assert_true: 'from' value should be supported expected true got false 194 FAIL Web Animations: property <mask-position> from [0px 0px, 80px 0px] to [40px 40px, 80px 80px, 0px 80px] at (0.5) should be [ 20px 20px, 80px 40px, 0px 40px, 60px 20px, 40px 40px, 40px 40px] assert_true: 'from' value should be supported expected true got false 195 FAIL Web Animations: property <mask-position> from [0px 0px, 80px 0px] to [40px 40px, 80px 80px, 0px 80px] at (0.75) should be [ 30px 30px, 80px 60px, 0px 60px, 50px 30px, 60px 60px, 20px 60px] assert_true: 'from' value should be supported expected true got false 196 FAIL Web Animations: property <mask-position> from [0px 0px, 80px 0px] to [40px 40px, 80px 80px, 0px 80px] at (1) should be [ 40px 40px, 80px 80px, 0px 80px, 40px 40px, 80px 80px, 0px 80px] assert_true: 'from' value should be supported expected true got false 197 FAIL Web Animations: property <mask-position> from [0px 0px, 80px 0px] to [40px 40px, 80px 80px, 0px 80px] at (1.25) should be [ 50px 50px, 80px 100px, 0px 100px, 30px 50px, 100px 100px, -20px 100px] assert_true: 'from' value should be supported expected true got false 2 PASS CSS Transitions: property <mask-position> from neutral to [20px 20px] at (-0.25) should be [7.5px 32.5px] 3 PASS CSS Transitions: property <mask-position> from neutral to [20px 20px] at (0) should be [10px 30px] 4 PASS CSS Transitions: property <mask-position> from neutral to [20px 20px] at (0.25) should be [12.5px 27.5px] 5 PASS CSS Transitions: property <mask-position> from neutral to [20px 20px] at (0.5) should be [15px 25px] 6 PASS CSS Transitions: property <mask-position> from neutral to [20px 20px] at (0.75) should be [17.5px 22.5px] 7 PASS CSS Transitions: property <mask-position> from neutral to [20px 20px] at (1) should be [20px 20px] 8 PASS CSS Transitions: property <mask-position> from neutral to [20px 20px] at (1.25) should be [22.5px 17.5px] 9 PASS CSS Transitions with transition: all: property <mask-position> from neutral to [20px 20px] at (-0.25) should be [7.5px 32.5px] 10 PASS CSS Transitions with transition: all: property <mask-position> from neutral to [20px 20px] at (0) should be [10px 30px] 11 PASS CSS Transitions with transition: all: property <mask-position> from neutral to [20px 20px] at (0.25) should be [12.5px 27.5px] 12 PASS CSS Transitions with transition: all: property <mask-position> from neutral to [20px 20px] at (0.5) should be [15px 25px] 13 PASS CSS Transitions with transition: all: property <mask-position> from neutral to [20px 20px] at (0.75) should be [17.5px 22.5px] 14 PASS CSS Transitions with transition: all: property <mask-position> from neutral to [20px 20px] at (1) should be [20px 20px] 15 PASS CSS Transitions with transition: all: property <mask-position> from neutral to [20px 20px] at (1.25) should be [22.5px 17.5px] 16 PASS CSS Animations: property <mask-position> from neutral to [20px 20px] at (-0.25) should be [7.5px 32.5px] 17 PASS CSS Animations: property <mask-position> from neutral to [20px 20px] at (0) should be [10px 30px] 18 PASS CSS Animations: property <mask-position> from neutral to [20px 20px] at (0.25) should be [12.5px 27.5px] 19 PASS CSS Animations: property <mask-position> from neutral to [20px 20px] at (0.5) should be [15px 25px] 20 PASS CSS Animations: property <mask-position> from neutral to [20px 20px] at (0.75) should be [17.5px 22.5px] 21 PASS CSS Animations: property <mask-position> from neutral to [20px 20px] at (1) should be [20px 20px] 22 PASS CSS Animations: property <mask-position> from neutral to [20px 20px] at (1.25) should be [22.5px 17.5px] 23 PASS Web Animations: property <mask-position> from neutral to [20px 20px] at (-0.25) should be [7.5px 32.5px] 24 PASS Web Animations: property <mask-position> from neutral to [20px 20px] at (0) should be [10px 30px] 25 PASS Web Animations: property <mask-position> from neutral to [20px 20px] at (0.25) should be [12.5px 27.5px] 26 PASS Web Animations: property <mask-position> from neutral to [20px 20px] at (0.5) should be [15px 25px] 27 PASS Web Animations: property <mask-position> from neutral to [20px 20px] at (0.75) should be [17.5px 22.5px] 28 PASS Web Animations: property <mask-position> from neutral to [20px 20px] at (1) should be [20px 20px] 29 PASS Web Animations: property <mask-position> from neutral to [20px 20px] at (1.25) should be [22.5px 17.5px] 30 PASS CSS Transitions: property <mask-position> from [initial] to [20px 20px] at (-0.25) should be [calc(0% - 5px) calc(0% - 5px)] 31 PASS CSS Transitions: property <mask-position> from [initial] to [20px 20px] at (0) should be [0% 0%] 32 PASS CSS Transitions: property <mask-position> from [initial] to [20px 20px] at (0.25) should be [calc(0% + 5px) calc(0% + 5px)] 33 PASS CSS Transitions: property <mask-position> from [initial] to [20px 20px] at (0.5) should be [calc(0% + 10px) calc(0% + 10px)] 34 PASS CSS Transitions: property <mask-position> from [initial] to [20px 20px] at (0.75) should be [calc(0% + 15px) calc(0% + 15px)] 35 PASS CSS Transitions: property <mask-position> from [initial] to [20px 20px] at (1) should be [calc(0% + 20px) calc(0% + 20px)] 36 PASS CSS Transitions: property <mask-position> from [initial] to [20px 20px] at (1.25) should be [calc(0% + 25px) calc(0% + 25px)] 37 PASS CSS Transitions with transition: all: property <mask-position> from [initial] to [20px 20px] at (-0.25) should be [calc(0% - 5px) calc(0% - 5px)] 38 PASS CSS Transitions with transition: all: property <mask-position> from [initial] to [20px 20px] at (0) should be [0% 0%] 39 PASS CSS Transitions with transition: all: property <mask-position> from [initial] to [20px 20px] at (0.25) should be [calc(0% + 5px) calc(0% + 5px)] 40 PASS CSS Transitions with transition: all: property <mask-position> from [initial] to [20px 20px] at (0.5) should be [calc(0% + 10px) calc(0% + 10px)] 41 PASS CSS Transitions with transition: all: property <mask-position> from [initial] to [20px 20px] at (0.75) should be [calc(0% + 15px) calc(0% + 15px)] 42 PASS CSS Transitions with transition: all: property <mask-position> from [initial] to [20px 20px] at (1) should be [calc(0% + 20px) calc(0% + 20px)] 43 PASS CSS Transitions with transition: all: property <mask-position> from [initial] to [20px 20px] at (1.25) should be [calc(0% + 25px) calc(0% + 25px)] 44 PASS CSS Animations: property <mask-position> from [initial] to [20px 20px] at (-0.25) should be [calc(0% - 5px) calc(0% - 5px)] 45 PASS CSS Animations: property <mask-position> from [initial] to [20px 20px] at (0) should be [0% 0%] 46 PASS CSS Animations: property <mask-position> from [initial] to [20px 20px] at (0.25) should be [calc(0% + 5px) calc(0% + 5px)] 47 PASS CSS Animations: property <mask-position> from [initial] to [20px 20px] at (0.5) should be [calc(0% + 10px) calc(0% + 10px)] 48 PASS CSS Animations: property <mask-position> from [initial] to [20px 20px] at (0.75) should be [calc(0% + 15px) calc(0% + 15px)] 49 PASS CSS Animations: property <mask-position> from [initial] to [20px 20px] at (1) should be [calc(0% + 20px) calc(0% + 20px)] 50 PASS CSS Animations: property <mask-position> from [initial] to [20px 20px] at (1.25) should be [calc(0% + 25px) calc(0% + 25px)] 51 PASS Web Animations: property <mask-position> from [initial] to [20px 20px] at (-0.25) should be [calc(0% - 5px) calc(0% - 5px)] 52 PASS Web Animations: property <mask-position> from [initial] to [20px 20px] at (0) should be [0% 0%] 53 PASS Web Animations: property <mask-position> from [initial] to [20px 20px] at (0.25) should be [calc(0% + 5px) calc(0% + 5px)] 54 PASS Web Animations: property <mask-position> from [initial] to [20px 20px] at (0.5) should be [calc(0% + 10px) calc(0% + 10px)] 55 PASS Web Animations: property <mask-position> from [initial] to [20px 20px] at (0.75) should be [calc(0% + 15px) calc(0% + 15px)] 56 PASS Web Animations: property <mask-position> from [initial] to [20px 20px] at (1) should be [calc(0% + 20px) calc(0% + 20px)] 57 PASS Web Animations: property <mask-position> from [initial] to [20px 20px] at (1.25) should be [calc(0% + 25px) calc(0% + 25px)] 58 PASS CSS Transitions: property <mask-position> from [inherit] to [20px 20px] at (-0.25) should be [32.5px 7.5px] 59 PASS CSS Transitions: property <mask-position> from [inherit] to [20px 20px] at (0) should be [30px 10px] 60 PASS CSS Transitions: property <mask-position> from [inherit] to [20px 20px] at (0.25) should be [27.5px 12.5px] 61 PASS CSS Transitions: property <mask-position> from [inherit] to [20px 20px] at (0.5) should be [25px 15px] 62 PASS CSS Transitions: property <mask-position> from [inherit] to [20px 20px] at (0.75) should be [22.5px 17.5px] 63 PASS CSS Transitions: property <mask-position> from [inherit] to [20px 20px] at (1) should be [20px 20px] 64 PASS CSS Transitions: property <mask-position> from [inherit] to [20px 20px] at (1.25) should be [17.5px 22.5px] 65 PASS CSS Transitions with transition: all: property <mask-position> from [inherit] to [20px 20px] at (-0.25) should be [32.5px 7.5px] 66 PASS CSS Transitions with transition: all: property <mask-position> from [inherit] to [20px 20px] at (0) should be [30px 10px] 67 PASS CSS Transitions with transition: all: property <mask-position> from [inherit] to [20px 20px] at (0.25) should be [27.5px 12.5px] 68 PASS CSS Transitions with transition: all: property <mask-position> from [inherit] to [20px 20px] at (0.5) should be [25px 15px] 69 PASS CSS Transitions with transition: all: property <mask-position> from [inherit] to [20px 20px] at (0.75) should be [22.5px 17.5px] 70 PASS CSS Transitions with transition: all: property <mask-position> from [inherit] to [20px 20px] at (1) should be [20px 20px] 71 PASS CSS Transitions with transition: all: property <mask-position> from [inherit] to [20px 20px] at (1.25) should be [17.5px 22.5px] 72 PASS CSS Animations: property <mask-position> from [inherit] to [20px 20px] at (-0.25) should be [32.5px 7.5px] 73 PASS CSS Animations: property <mask-position> from [inherit] to [20px 20px] at (0) should be [30px 10px] 74 PASS CSS Animations: property <mask-position> from [inherit] to [20px 20px] at (0.25) should be [27.5px 12.5px] 75 PASS CSS Animations: property <mask-position> from [inherit] to [20px 20px] at (0.5) should be [25px 15px] 76 PASS CSS Animations: property <mask-position> from [inherit] to [20px 20px] at (0.75) should be [22.5px 17.5px] 77 PASS CSS Animations: property <mask-position> from [inherit] to [20px 20px] at (1) should be [20px 20px] 78 PASS CSS Animations: property <mask-position> from [inherit] to [20px 20px] at (1.25) should be [17.5px 22.5px] 79 PASS Web Animations: property <mask-position> from [inherit] to [20px 20px] at (-0.25) should be [32.5px 7.5px] 80 PASS Web Animations: property <mask-position> from [inherit] to [20px 20px] at (0) should be [30px 10px] 81 PASS Web Animations: property <mask-position> from [inherit] to [20px 20px] at (0.25) should be [27.5px 12.5px] 82 PASS Web Animations: property <mask-position> from [inherit] to [20px 20px] at (0.5) should be [25px 15px] 83 PASS Web Animations: property <mask-position> from [inherit] to [20px 20px] at (0.75) should be [22.5px 17.5px] 84 PASS Web Animations: property <mask-position> from [inherit] to [20px 20px] at (1) should be [20px 20px] 85 PASS Web Animations: property <mask-position> from [inherit] to [20px 20px] at (1.25) should be [17.5px 22.5px] 86 PASS CSS Transitions: property <mask-position> from [unset] to [20px 20px] at (-0.25) should be [calc(0% - 5px) calc(0% - 5px)] 87 PASS CSS Transitions: property <mask-position> from [unset] to [20px 20px] at (0) should be [0% 0%] 88 PASS CSS Transitions: property <mask-position> from [unset] to [20px 20px] at (0.25) should be [calc(0% + 5px) calc(0% + 5px)] 89 PASS CSS Transitions: property <mask-position> from [unset] to [20px 20px] at (0.5) should be [calc(0% + 10px) calc(0% + 10px)] 90 PASS CSS Transitions: property <mask-position> from [unset] to [20px 20px] at (0.75) should be [calc(0% + 15px) calc(0% + 15px)] 91 PASS CSS Transitions: property <mask-position> from [unset] to [20px 20px] at (1) should be [calc(0% + 20px) calc(0% + 20px)] 92 PASS CSS Transitions: property <mask-position> from [unset] to [20px 20px] at (1.25) should be [calc(0% + 25px) calc(0% + 25px)] 93 PASS CSS Transitions with transition: all: property <mask-position> from [unset] to [20px 20px] at (-0.25) should be [calc(0% - 5px) calc(0% - 5px)] 94 PASS CSS Transitions with transition: all: property <mask-position> from [unset] to [20px 20px] at (0) should be [0% 0%] 95 PASS CSS Transitions with transition: all: property <mask-position> from [unset] to [20px 20px] at (0.25) should be [calc(0% + 5px) calc(0% + 5px)] 96 PASS CSS Transitions with transition: all: property <mask-position> from [unset] to [20px 20px] at (0.5) should be [calc(0% + 10px) calc(0% + 10px)] 97 PASS CSS Transitions with transition: all: property <mask-position> from [unset] to [20px 20px] at (0.75) should be [calc(0% + 15px) calc(0% + 15px)] 98 PASS CSS Transitions with transition: all: property <mask-position> from [unset] to [20px 20px] at (1) should be [calc(0% + 20px) calc(0% + 20px)] 99 PASS CSS Transitions with transition: all: property <mask-position> from [unset] to [20px 20px] at (1.25) should be [calc(0% + 25px) calc(0% + 25px)] 100 PASS CSS Animations: property <mask-position> from [unset] to [20px 20px] at (-0.25) should be [calc(0% - 5px) calc(0% - 5px)] 101 PASS CSS Animations: property <mask-position> from [unset] to [20px 20px] at (0) should be [0% 0%] 102 PASS CSS Animations: property <mask-position> from [unset] to [20px 20px] at (0.25) should be [calc(0% + 5px) calc(0% + 5px)] 103 PASS CSS Animations: property <mask-position> from [unset] to [20px 20px] at (0.5) should be [calc(0% + 10px) calc(0% + 10px)] 104 PASS CSS Animations: property <mask-position> from [unset] to [20px 20px] at (0.75) should be [calc(0% + 15px) calc(0% + 15px)] 105 PASS CSS Animations: property <mask-position> from [unset] to [20px 20px] at (1) should be [calc(0% + 20px) calc(0% + 20px)] 106 PASS CSS Animations: property <mask-position> from [unset] to [20px 20px] at (1.25) should be [calc(0% + 25px) calc(0% + 25px)] 107 PASS Web Animations: property <mask-position> from [unset] to [20px 20px] at (-0.25) should be [calc(0% - 5px) calc(0% - 5px)] 108 PASS Web Animations: property <mask-position> from [unset] to [20px 20px] at (0) should be [0% 0%] 109 PASS Web Animations: property <mask-position> from [unset] to [20px 20px] at (0.25) should be [calc(0% + 5px) calc(0% + 5px)] 110 PASS Web Animations: property <mask-position> from [unset] to [20px 20px] at (0.5) should be [calc(0% + 10px) calc(0% + 10px)] 111 PASS Web Animations: property <mask-position> from [unset] to [20px 20px] at (0.75) should be [calc(0% + 15px) calc(0% + 15px)] 112 PASS Web Animations: property <mask-position> from [unset] to [20px 20px] at (1) should be [calc(0% + 20px) calc(0% + 20px)] 113 PASS Web Animations: property <mask-position> from [unset] to [20px 20px] at (1.25) should be [calc(0% + 25px) calc(0% + 25px)] 114 PASS CSS Transitions: property <mask-position> from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (-0.25) should be [-20px -20px, -20px -20px, -20px -20px, -20px -20px] 115 PASS CSS Transitions: property <mask-position> from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0) should be [ 0px 0px, 0px 0px, 0px 0px, 0px 0px] 116 PASS CSS Transitions: property <mask-position> from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0.25) should be [ 20px 20px, 20px 20px, 20px 20px, 20px 20px] 117 PASS CSS Transitions: property <mask-position> from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0.5) should be [ 40px 40px, 40px 40px, 40px 40px, 40px 40px] 118 PASS CSS Transitions: property <mask-position> from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0.75) should be [ 60px 60px, 60px 60px, 60px 60px, 60px 60px] 119 PASS CSS Transitions: property <mask-position> from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (1) should be [ 80px 80px, 80px 80px, 80px 80px, 80px 80px] 120 PASS CSS Transitions: property <mask-position> from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (1.25) should be [100px 100px, 100px 100px, 100px 100px, 100px 100px] 121 PASS CSS Transitions with transition: all: property <mask-position> from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (-0.25) should be [-20px -20px, -20px -20px, -20px -20px, -20px -20px] 122 PASS CSS Transitions with transition: all: property <mask-position> from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0) should be [ 0px 0px, 0px 0px, 0px 0px, 0px 0px] 123 PASS CSS Transitions with transition: all: property <mask-position> from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0.25) should be [ 20px 20px, 20px 20px, 20px 20px, 20px 20px] 124 PASS CSS Transitions with transition: all: property <mask-position> from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0.5) should be [ 40px 40px, 40px 40px, 40px 40px, 40px 40px] 125 PASS CSS Transitions with transition: all: property <mask-position> from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0.75) should be [ 60px 60px, 60px 60px, 60px 60px, 60px 60px] 126 PASS CSS Transitions with transition: all: property <mask-position> from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (1) should be [ 80px 80px, 80px 80px, 80px 80px, 80px 80px] 127 PASS CSS Transitions with transition: all: property <mask-position> from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (1.25) should be [100px 100px, 100px 100px, 100px 100px, 100px 100px] 128 PASS CSS Animations: property <mask-position> from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (-0.25) should be [-20px -20px, -20px -20px, -20px -20px, -20px -20px] 129 PASS CSS Animations: property <mask-position> from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0) should be [ 0px 0px, 0px 0px, 0px 0px, 0px 0px] 130 PASS CSS Animations: property <mask-position> from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0.25) should be [ 20px 20px, 20px 20px, 20px 20px, 20px 20px] 131 PASS CSS Animations: property <mask-position> from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0.5) should be [ 40px 40px, 40px 40px, 40px 40px, 40px 40px] 132 PASS CSS Animations: property <mask-position> from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0.75) should be [ 60px 60px, 60px 60px, 60px 60px, 60px 60px] 133 PASS CSS Animations: property <mask-position> from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (1) should be [ 80px 80px, 80px 80px, 80px 80px, 80px 80px] 134 PASS CSS Animations: property <mask-position> from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (1.25) should be [100px 100px, 100px 100px, 100px 100px, 100px 100px] 135 PASS Web Animations: property <mask-position> from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (-0.25) should be [-20px -20px, -20px -20px, -20px -20px, -20px -20px] 136 PASS Web Animations: property <mask-position> from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0) should be [ 0px 0px, 0px 0px, 0px 0px, 0px 0px] 137 PASS Web Animations: property <mask-position> from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0.25) should be [ 20px 20px, 20px 20px, 20px 20px, 20px 20px] 138 PASS Web Animations: property <mask-position> from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0.5) should be [ 40px 40px, 40px 40px, 40px 40px, 40px 40px] 139 PASS Web Animations: property <mask-position> from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (0.75) should be [ 60px 60px, 60px 60px, 60px 60px, 60px 60px] 140 PASS Web Animations: property <mask-position> from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (1) should be [ 80px 80px, 80px 80px, 80px 80px, 80px 80px] 141 PASS Web Animations: property <mask-position> from [0px 0px, 0px 0px, 0px 0px, 0px 0px] to [80px 80px, 80px 80px, 80px 80px, 80px 80px] at (1.25) should be [100px 100px, 100px 100px, 100px 100px, 100px 100px] 142 PASS CSS Transitions: property <mask-position> from [top 0px left 0px] to [left 80px top 80px] at (-0.25) should be [-20px -20px] 143 PASS CSS Transitions: property <mask-position> from [top 0px left 0px] to [left 80px top 80px] at (0) should be [ 0px 0px] 144 PASS CSS Transitions: property <mask-position> from [top 0px left 0px] to [left 80px top 80px] at (0.25) should be [ 20px 20px] 145 PASS CSS Transitions: property <mask-position> from [top 0px left 0px] to [left 80px top 80px] at (0.5) should be [ 40px 40px] 146 PASS CSS Transitions: property <mask-position> from [top 0px left 0px] to [left 80px top 80px] at (0.75) should be [ 60px 60px] 147 PASS CSS Transitions: property <mask-position> from [top 0px left 0px] to [left 80px top 80px] at (1) should be [ 80px 80px] 148 PASS CSS Transitions: property <mask-position> from [top 0px left 0px] to [left 80px top 80px] at (1.25) should be [100px 100px] 149 PASS CSS Transitions with transition: all: property <mask-position> from [top 0px left 0px] to [left 80px top 80px] at (-0.25) should be [-20px -20px] 150 PASS CSS Transitions with transition: all: property <mask-position> from [top 0px left 0px] to [left 80px top 80px] at (0) should be [ 0px 0px] 151 PASS CSS Transitions with transition: all: property <mask-position> from [top 0px left 0px] to [left 80px top 80px] at (0.25) should be [ 20px 20px] 152 PASS CSS Transitions with transition: all: property <mask-position> from [top 0px left 0px] to [left 80px top 80px] at (0.5) should be [ 40px 40px] 153 PASS CSS Transitions with transition: all: property <mask-position> from [top 0px left 0px] to [left 80px top 80px] at (0.75) should be [ 60px 60px] 154 PASS CSS Transitions with transition: all: property <mask-position> from [top 0px left 0px] to [left 80px top 80px] at (1) should be [ 80px 80px] 155 PASS CSS Transitions with transition: all: property <mask-position> from [top 0px left 0px] to [left 80px top 80px] at (1.25) should be [100px 100px] 156 PASS CSS Animations: property <mask-position> from [top 0px left 0px] to [left 80px top 80px] at (-0.25) should be [-20px -20px] 157 PASS CSS Animations: property <mask-position> from [top 0px left 0px] to [left 80px top 80px] at (0) should be [ 0px 0px] 158 PASS CSS Animations: property <mask-position> from [top 0px left 0px] to [left 80px top 80px] at (0.25) should be [ 20px 20px] 159 PASS CSS Animations: property <mask-position> from [top 0px left 0px] to [left 80px top 80px] at (0.5) should be [ 40px 40px] 160 PASS CSS Animations: property <mask-position> from [top 0px left 0px] to [left 80px top 80px] at (0.75) should be [ 60px 60px] 161 PASS CSS Animations: property <mask-position> from [top 0px left 0px] to [left 80px top 80px] at (1) should be [ 80px 80px] 162 PASS CSS Animations: property <mask-position> from [top 0px left 0px] to [left 80px top 80px] at (1.25) should be [100px 100px] 163 PASS Web Animations: property <mask-position> from [top 0px left 0px] to [left 80px top 80px] at (-0.25) should be [-20px -20px] 164 PASS Web Animations: property <mask-position> from [top 0px left 0px] to [left 80px top 80px] at (0) should be [ 0px 0px] 165 PASS Web Animations: property <mask-position> from [top 0px left 0px] to [left 80px top 80px] at (0.25) should be [ 20px 20px] 166 PASS Web Animations: property <mask-position> from [top 0px left 0px] to [left 80px top 80px] at (0.5) should be [ 40px 40px] 167 PASS Web Animations: property <mask-position> from [top 0px left 0px] to [left 80px top 80px] at (0.75) should be [ 60px 60px] 168 PASS Web Animations: property <mask-position> from [top 0px left 0px] to [left 80px top 80px] at (1) should be [ 80px 80px] 169 PASS Web Animations: property <mask-position> from [top 0px left 0px] to [left 80px top 80px] at (1.25) should be [100px 100px] 170 PASS CSS Transitions: property <mask-position> from [0px 0px, 80px 0px] to [40px 40px, 80px 80px, 0px 80px] at (-0.25) should be [-10px -10px, 80px -20px, 0px -20px, 90px -10px, -20px -20px, 100px -20px] 171 PASS CSS Transitions: property <mask-position> from [0px 0px, 80px 0px] to [40px 40px, 80px 80px, 0px 80px] at (0) should be [ 0px 0px, 80px 0px, 0px 0px, 80px 0px, 0px 0px, 80px 0px] 172 PASS CSS Transitions: property <mask-position> from [0px 0px, 80px 0px] to [40px 40px, 80px 80px, 0px 80px] at (0.25) should be [ 10px 10px, 80px 20px, 0px 20px, 70px 10px, 20px 20px, 60px 20px] 173 PASS CSS Transitions: property <mask-position> from [0px 0px, 80px 0px] to [40px 40px, 80px 80px, 0px 80px] at (0.5) should be [ 20px 20px, 80px 40px, 0px 40px, 60px 20px, 40px 40px, 40px 40px] 174 PASS CSS Transitions: property <mask-position> from [0px 0px, 80px 0px] to [40px 40px, 80px 80px, 0px 80px] at (0.75) should be [ 30px 30px, 80px 60px, 0px 60px, 50px 30px, 60px 60px, 20px 60px] 175 PASS CSS Transitions: property <mask-position> from [0px 0px, 80px 0px] to [40px 40px, 80px 80px, 0px 80px] at (1) should be [ 40px 40px, 80px 80px, 0px 80px, 40px 40px, 80px 80px, 0px 80px] 176 PASS CSS Transitions: property <mask-position> from [0px 0px, 80px 0px] to [40px 40px, 80px 80px, 0px 80px] at (1.25) should be [ 50px 50px, 80px 100px, 0px 100px, 30px 50px, 100px 100px, -20px 100px] 177 PASS CSS Transitions with transition: all: property <mask-position> from [0px 0px, 80px 0px] to [40px 40px, 80px 80px, 0px 80px] at (-0.25) should be [-10px -10px, 80px -20px, 0px -20px, 90px -10px, -20px -20px, 100px -20px] 178 PASS CSS Transitions with transition: all: property <mask-position> from [0px 0px, 80px 0px] to [40px 40px, 80px 80px, 0px 80px] at (0) should be [ 0px 0px, 80px 0px, 0px 0px, 80px 0px, 0px 0px, 80px 0px] 179 PASS CSS Transitions with transition: all: property <mask-position> from [0px 0px, 80px 0px] to [40px 40px, 80px 80px, 0px 80px] at (0.25) should be [ 10px 10px, 80px 20px, 0px 20px, 70px 10px, 20px 20px, 60px 20px] 180 PASS CSS Transitions with transition: all: property <mask-position> from [0px 0px, 80px 0px] to [40px 40px, 80px 80px, 0px 80px] at (0.5) should be [ 20px 20px, 80px 40px, 0px 40px, 60px 20px, 40px 40px, 40px 40px] 181 PASS CSS Transitions with transition: all: property <mask-position> from [0px 0px, 80px 0px] to [40px 40px, 80px 80px, 0px 80px] at (0.75) should be [ 30px 30px, 80px 60px, 0px 60px, 50px 30px, 60px 60px, 20px 60px] 182 PASS CSS Transitions with transition: all: property <mask-position> from [0px 0px, 80px 0px] to [40px 40px, 80px 80px, 0px 80px] at (1) should be [ 40px 40px, 80px 80px, 0px 80px, 40px 40px, 80px 80px, 0px 80px] 183 PASS CSS Transitions with transition: all: property <mask-position> from [0px 0px, 80px 0px] to [40px 40px, 80px 80px, 0px 80px] at (1.25) should be [ 50px 50px, 80px 100px, 0px 100px, 30px 50px, 100px 100px, -20px 100px] 184 PASS CSS Animations: property <mask-position> from [0px 0px, 80px 0px] to [40px 40px, 80px 80px, 0px 80px] at (-0.25) should be [-10px -10px, 80px -20px, 0px -20px, 90px -10px, -20px -20px, 100px -20px] 185 PASS CSS Animations: property <mask-position> from [0px 0px, 80px 0px] to [40px 40px, 80px 80px, 0px 80px] at (0) should be [ 0px 0px, 80px 0px, 0px 0px, 80px 0px, 0px 0px, 80px 0px] 186 PASS CSS Animations: property <mask-position> from [0px 0px, 80px 0px] to [40px 40px, 80px 80px, 0px 80px] at (0.25) should be [ 10px 10px, 80px 20px, 0px 20px, 70px 10px, 20px 20px, 60px 20px] 187 PASS CSS Animations: property <mask-position> from [0px 0px, 80px 0px] to [40px 40px, 80px 80px, 0px 80px] at (0.5) should be [ 20px 20px, 80px 40px, 0px 40px, 60px 20px, 40px 40px, 40px 40px] 188 PASS CSS Animations: property <mask-position> from [0px 0px, 80px 0px] to [40px 40px, 80px 80px, 0px 80px] at (0.75) should be [ 30px 30px, 80px 60px, 0px 60px, 50px 30px, 60px 60px, 20px 60px] 189 PASS CSS Animations: property <mask-position> from [0px 0px, 80px 0px] to [40px 40px, 80px 80px, 0px 80px] at (1) should be [ 40px 40px, 80px 80px, 0px 80px, 40px 40px, 80px 80px, 0px 80px] 190 PASS CSS Animations: property <mask-position> from [0px 0px, 80px 0px] to [40px 40px, 80px 80px, 0px 80px] at (1.25) should be [ 50px 50px, 80px 100px, 0px 100px, 30px 50px, 100px 100px, -20px 100px] 191 PASS Web Animations: property <mask-position> from [0px 0px, 80px 0px] to [40px 40px, 80px 80px, 0px 80px] at (-0.25) should be [-10px -10px, 80px -20px, 0px -20px, 90px -10px, -20px -20px, 100px -20px] 192 PASS Web Animations: property <mask-position> from [0px 0px, 80px 0px] to [40px 40px, 80px 80px, 0px 80px] at (0) should be [ 0px 0px, 80px 0px, 0px 0px, 80px 0px, 0px 0px, 80px 0px] 193 PASS Web Animations: property <mask-position> from [0px 0px, 80px 0px] to [40px 40px, 80px 80px, 0px 80px] at (0.25) should be [ 10px 10px, 80px 20px, 0px 20px, 70px 10px, 20px 20px, 60px 20px] 194 PASS Web Animations: property <mask-position> from [0px 0px, 80px 0px] to [40px 40px, 80px 80px, 0px 80px] at (0.5) should be [ 20px 20px, 80px 40px, 0px 40px, 60px 20px, 40px 40px, 40px 40px] 195 PASS Web Animations: property <mask-position> from [0px 0px, 80px 0px] to [40px 40px, 80px 80px, 0px 80px] at (0.75) should be [ 30px 30px, 80px 60px, 0px 60px, 50px 30px, 60px 60px, 20px 60px] 196 PASS Web Animations: property <mask-position> from [0px 0px, 80px 0px] to [40px 40px, 80px 80px, 0px 80px] at (1) should be [ 40px 40px, 80px 80px, 0px 80px, 40px 40px, 80px 80px, 0px 80px] 197 PASS Web Animations: property <mask-position> from [0px 0px, 80px 0px] to [40px 40px, 80px 80px, 0px 80px] at (1.25) should be [ 50px 50px, 80px 100px, 0px 100px, 30px 50px, 100px 100px, -20px 100px] 198 198 -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-expected.html
r281580 r286795 5 5 height: 100px; 6 6 background-color: green; 7 clip-path: circle( 20% at 20% 20%);7 clip-path: circle(35% at 35% 35%); 8 8 } 9 9 </style> -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-filter-expected.html
r286794 r286795 5 5 height: 100px; 6 6 background-color: green; 7 clip-path: circle(20% at 20% 20%); 7 filter: blur(5px); 8 clip-path: circle(75% at 75% 75%); 8 9 } 9 10 </style> -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-filter.html
r286794 r286795 2 2 <html class="reftest-wait"> 3 3 <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#basic-shape-interpolation"> 4 <link rel="match" href="clip-path-animation-ref.html"> 5 <meta name=fuzzy content="0-255;0-2"> 4 <link rel="match" href="clip-path-animation-filter-ref.html"> 6 5 <style> 7 6 .container { … … 9 8 height: 100px; 10 9 background-color: green; 11 clip-path: ellipse(50% 40% at 50% 50%);10 filter: blur(5px); 12 11 /* Use a long animation that start at 50% progress where the slope of the 13 12 selected timing function is zero. By setting up the animation in this way, … … 21 20 @keyframes clippath { 22 21 0% { clip-path: circle(50% at 50% 50%); } 23 30% { clip-path: circle(20% at 20% 20%); } 24 100% { clip-path: circle(20% at 20% 20%); } 22 100% { clip-path: circle(100% at 100% 100%); } 25 23 } 26 24 </style> -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-incompatible-shapes1-expected.html
r286794 r286795 5 5 height: 100px; 6 6 background-color: green; 7 clip-path: circle( 20% at 20% 20%);7 clip-path: circle(50% at 50% 50%); 8 8 } 9 9 </style> -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-incompatible-shapes1.html
r286794 r286795 2 2 <html class="reftest-wait"> 3 3 <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#basic-shape-interpolation"> 4 <link rel="match" href="clip-path-animation- ref.html">4 <link rel="match" href="clip-path-animation-incompatible-shapes1-ref.html"> 5 5 <meta name=fuzzy content="0-255;0-2"> 6 6 <style> … … 9 9 height: 100px; 10 10 background-color: green; 11 clip-path: ellipse(50% 40% at 50% 50%); 12 /* Use a long animation that start at 50% progress where the slope of the 11 /* Use a long animation that start at 30% progress where the slope of the 13 12 selected timing function is zero. By setting up the animation in this way, 14 13 we accommodate lengthy delays in running the test without a potential drift … … 17 16 animation is ready, thus the long animation duration has no bearing on 18 17 the actual duration of the test. */ 19 animation: clippath 1000000s cubic-bezier(0,1,1,0) - 500000s;18 animation: clippath 1000000s cubic-bezier(0,1,1,0) -300000s; 20 19 } 21 20 @keyframes clippath { 22 21 0% { clip-path: circle(50% at 50% 50%); } 23 30% { clip-path: circle(20% at 20% 20%); } 24 100% { clip-path: circle(20% at 20% 20%); } 22 100% { clip-path: ellipse(10% 20% at 50% 50%); } 25 23 } 26 24 </style> … … 30 28 31 29 <script> 30 // This test ensures that when selected keyframe shapes are incompatible 31 // and progress is less than 0.5, "from" keyframe is selected as a result. 32 32 document.getAnimations()[0].ready.then(() => { 33 33 takeScreenshot(); -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-incompatible-shapes2-expected.html
r286794 r286795 2 2 <style> 3 3 .container { 4 width: 100px;5 height: 100px;4 width: 300px; 5 height: 300px; 6 6 background-color: green; 7 clip-path: circle(20% at 20% 20%);7 clip-path: path('M 100 100 L 200 0 L 200 200 L 0 120 z'); 8 8 } 9 9 </style> -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-incompatible-shapes2.html
r286794 r286795 2 2 <html class="reftest-wait"> 3 3 <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#basic-shape-interpolation"> 4 <link rel="match" href="clip-path-animation- ref.html">5 <meta name=fuzzy content="0-255;0- 2">4 <link rel="match" href="clip-path-animation-incompatible-shapes2-ref.html"> 5 <meta name=fuzzy content="0-255;0-300"> 6 6 <style> 7 7 .container { 8 width: 100px;9 height: 100px;8 width: 300px; 9 height: 300px; 10 10 background-color: green; 11 clip-path: ellipse(50% 40% at 50% 50%); 12 /* Use a long animation that start at 50% progress where the slope of the 11 /* Use a long animation that start at 60% progress where the slope of the 13 12 selected timing function is zero. By setting up the animation in this way, 14 13 we accommodate lengthy delays in running the test without a potential drift … … 17 16 animation is ready, thus the long animation duration has no bearing on 18 17 the actual duration of the test. */ 19 animation: clippath 1000000s cubic-bezier(0,1,1,0) - 500000s;18 animation: clippath 1000000s cubic-bezier(0,1,1,0) -600000s; 20 19 } 21 20 @keyframes clippath { 22 21 0% { clip-path: circle(50% at 50% 50%); } 23 30% { clip-path: circle(20% at 20% 20%); } 24 100% { clip-path: circle(20% at 20% 20%); } 22 100% { clip-path: path('M 100 100 L 200 0 L 200 200 L 0 120 z'); } 25 23 } 26 24 </style> … … 30 28 31 29 <script> 30 // This test ensures that when selected keyframe shapes are incompatible 31 // and progress >= 0.5, "to" keyframe is selected as a result. 32 32 document.getAnimations()[0].ready.then(() => { 33 33 takeScreenshot(); -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-overflow.html
r286794 r286795 2 2 <html class="reftest-wait"> 3 3 <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#basic-shape-interpolation"> 4 <link rel="match" href="clip-path-animation- ref.html">5 <meta name=fuzzy content="0-255;0- 2">4 <link rel="match" href="clip-path-animation-overflow-ref.html"> 5 <meta name=fuzzy content="0-255;0-800"> 6 6 <style> 7 7 .container { 8 width: 100px;9 height: 100px;8 width: 200px; 9 height: 200px; 10 10 background-color: green; 11 clip-path: ellipse(50% 40% at 50% 50%);11 border: 20px solid black; 12 12 /* Use a long animation that start at 50% progress where the slope of the 13 13 selected timing function is zero. By setting up the animation in this way, … … 20 20 } 21 21 @keyframes clippath { 22 0% { clip-path: circle(50% at 50% 50%); } 23 30% { clip-path: circle(20% at 20% 20%); } 24 100% { clip-path: circle(20% at 20% 20%); } 22 0% { clip-path: circle(130px at 130px 130px); } 23 100% { clip-path: circle(110px at 110px 110px); } 25 24 } 26 25 </style> 27 26 <script src="/common/reftest-wait.js"></script> 28 27 <body> 29 <div class="container">< /div>28 <div class="container"><div class="container"></div></div> 30 29 31 30 <script> -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-three-keyframes1-expected.html
r286794 r286795 5 5 height: 100px; 6 6 background-color: green; 7 clip-path: circle(20% at 20% 20%);7 clip-path: ellipse(15% 25% at 60% 60%); 8 8 } 9 9 </style> -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-three-keyframes1.html
r286794 r286795 2 2 <html class="reftest-wait"> 3 3 <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#basic-shape-interpolation"> 4 <link rel="match" href="clip-path-animation-ref.html"> 5 <meta name=fuzzy content="0-255;0-2"> 4 <link rel="match" href="clip-path-animation-three-keyframes1-ref.html"> 6 5 <style> 7 6 .container { … … 9 8 height: 100px; 10 9 background-color: green; 11 clip-path: ellipse(50% 40% at 50% 50%); 12 /* Use a long animation that start at 50% progress where the slope of the 10 /* Use a long animation that start at 5% progress where the slope of the 13 11 selected timing function is zero. By setting up the animation in this way, 14 12 we accommodate lengthy delays in running the test without a potential drift … … 17 15 animation is ready, thus the long animation duration has no bearing on 18 16 the actual duration of the test. */ 19 animation: clippath 1000000s cubic-bezier(0,1,1,0) -50000 0s;17 animation: clippath 1000000s cubic-bezier(0,1,1,0) -50000s; 20 18 } 21 19 @keyframes clippath { 22 0% { clip-path: circle(50% at 50% 50%); } 23 30% { clip-path: circle(20% at 20% 20%); } 24 100% { clip-path: circle(20% at 20% 20%); } 20 0% { clip-path: ellipse(10% 20% at 50% 50%) } 21 10% { 22 clip-path: ellipse(20% 30% at 70% 70%); 23 animation-timing-function: cubic-bezier(0,1,1,0); 24 } 25 100% { 26 clip-path: ellipse(10% 20% at 50% 50%); 27 animation-timing-function: cubic-bezier(0,1,1,0); 28 } 25 29 } 26 30 </style> … … 30 34 31 35 <script> 36 // This test ensures that we select the correct start and end keyframes for 37 // interpolation. In this test, the start delay of the animation makes it 38 // jump to 5% right away. So for this test, we would choose the keyframes at 39 // 0% and 10% for interpolation. 32 40 document.getAnimations()[0].ready.then(() => { 33 41 takeScreenshot(); -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-three-keyframes2-expected.html
r286794 r286795 2 2 <style> 3 3 .container { 4 width: 100px;5 height: 100px;4 width: 300px; 5 height: 300px; 6 6 background-color: green; 7 clip-path: circle(20% at 20% 20%);7 clip-path: path('M 150 150 L 250 0 L 250 250 L 0 160 z'); 8 8 } 9 9 </style> -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-three-keyframes2.html
r286794 r286795 2 2 <html class="reftest-wait"> 3 3 <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#basic-shape-interpolation"> 4 <link rel="match" href="clip-path-animation- ref.html">5 <meta name=fuzzy content="0-255;0- 2">4 <link rel="match" href="clip-path-animation-three-keyframes2-ref.html"> 5 <meta name=fuzzy content="0-255;0-1000"> 6 6 <style> 7 7 .container { 8 width: 100px;9 height: 100px;8 width: 300px; 9 height: 300px; 10 10 background-color: green; 11 clip-path: ellipse(50% 40% at 50% 50%);12 11 /* Use a long animation that start at 50% progress where the slope of the 13 12 selected timing function is zero. By setting up the animation in this way, … … 17 16 animation is ready, thus the long animation duration has no bearing on 18 17 the actual duration of the test. */ 19 animation: clippath 1000000s cubic-bezier(0,1,1,0) -500000s;18 animation: clippath 1000000s cubic-bezier(0,1,1,0) -500000s; 20 19 } 21 20 @keyframes clippath { 22 0% { clip-path: circle(50% at 50% 50%); } 23 30% { clip-path: circle(20% at 20% 20%); } 24 100% { clip-path: circle(20% at 20% 20%); } 21 0% { 22 clip-path: path('M 300 300 L 500 0 L 500 500 L 0 300 z'); 23 } 24 10% { 25 clip-path: path('M 100 100 L 200 0 L 200 200 L 0 120 z'); 26 animation-timing-function: cubic-bezier(0,1,1,0); 27 } 28 100% { 29 clip-path: path('M 200 200 L 300 0 L 300 300 L 0 200 z'); 30 animation-timing-function: cubic-bezier(0,1,1,0); 31 } 25 32 } 33 26 34 </style> 27 35 <script src="/common/reftest-wait.js"></script> … … 30 38 31 39 <script> 40 // The start delay of the animation makes it jump 50% of the animation, which 41 // means we would select the keyframes at 10% and 100% for animation. The 42 // progress would be (0.5-0.1) / (1-0.1) = 0.44. So a timing function input of 43 // 0.44 results in an output of 0.5. 32 44 document.getAnimations()[0].ready.then(() => { 33 45 takeScreenshot(); -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation.html
r281580 r286795 3 3 <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#basic-shape-interpolation"> 4 4 <link rel="match" href="clip-path-animation-ref.html"> 5 <meta name=fuzzy content="0-255;0-2">6 5 <style> 7 6 .container { … … 9 8 height: 100px; 10 9 background-color: green; 11 clip-path: ellipse(50% 40% at 50% 50%);12 10 /* Use a long animation that start at 50% progress where the slope of the 13 11 selected timing function is zero. By setting up the animation in this way, … … 21 19 @keyframes clippath { 22 20 0% { clip-path: circle(50% at 50% 50%); } 23 30% { clip-path: circle(20% at 20% 20%); }24 21 100% { clip-path: circle(20% at 20% 20%); } 25 22 } -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-transition-expected.html
r286794 r286795 5 5 height: 100px; 6 6 background-color: green; 7 clip-path: circle( 20% at 20% 20%);7 clip-path: circle(40% at 40% 40%); 8 8 } 9 9 </style> -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-transition.html
r286794 r286795 2 2 <html class="reftest-wait"> 3 3 <link rel="help" href="https://drafts.csswg.org/css-shapes-1/#basic-shape-interpolation"> 4 <link rel="match" href="clip-path-animation-ref.html"> 5 <meta name=fuzzy content="0-255;0-2"> 4 <link rel="match" href="clip-path-transition-ref.html"> 6 5 <style> 7 6 .container { 8 7 width: 100px; 9 8 height: 100px; 9 clip-path: circle(50% at 50% 50%); 10 10 background-color: green; 11 clip-path: ellipse(50% 40% at 50% 50%);11 transition-property: clip-path; 12 12 /* Use a long animation that start at 50% progress where the slope of the 13 13 selected timing function is zero. By setting up the animation in this way, … … 17 17 animation is ready, thus the long animation duration has no bearing on 18 18 the actual duration of the test. */ 19 animation: clippath 1000000s cubic-bezier(0,1,1,0) -500000s; 20 } 21 @keyframes clippath { 22 0% { clip-path: circle(50% at 50% 50%); } 23 30% { clip-path: circle(20% at 20% 20%); } 24 100% { clip-path: circle(20% at 20% 20%); } 19 transition-duration: 1000000s; 20 transition-timing-function: cubic-bezier(0,1,1,0); 21 transition-delay: -500000s; 25 22 } 26 23 </style> 27 24 <script src="/common/reftest-wait.js"></script> 28 25 <body> 29 <div class="container" ></div>26 <div class="container" id="target"></div> 30 27 31 28 <script> 32 document.getAnimations()[0].ready.then(() => { 33 takeScreenshot(); 29 function update() { 30 document.getElementById('target').style.clipPath = "circle(30% at 30% 30%)"; 31 requestAnimationFrame(() => { 32 takeScreenshot(); 33 }); 34 } 35 requestAnimationFrame(function() { 36 requestAnimationFrame(update); 34 37 }); 35 38 </script> -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/w3c-import.log
r281580 r286795 16 16 List of files: 17 17 /LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-expected.html 18 /LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-filter-expected.html 19 /LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-filter.html 20 /LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-incompatible-shapes1-expected.html 21 /LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-incompatible-shapes1.html 22 /LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-incompatible-shapes2-expected.html 23 /LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-incompatible-shapes2.html 24 /LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-overflow-expected.html 25 /LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-overflow.html 26 /LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-three-keyframes1-expected.html 27 /LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-three-keyframes1.html 28 /LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-three-keyframes2-expected.html 29 /LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-three-keyframes2.html 18 30 /LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation.html 31 /LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-transition-expected.html 32 /LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-transition.html -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/clip-path-columns-shape-002.html
r268138 r286795 22 22 <clipPath id="c" clipPathUnits="userSpaceOnUse"> 23 23 <rect x="5" y="5" width="90" height="90"/> 24 </clip Path>24 </clippath> 25 25 </svg> -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/clip-path-descendant-text-mutated-001.html
r281580 r286795 23 23 <clipPath id="clip"> 24 24 <text id="text" y="80" font-family="Ahem" font-size="100">XX</text> 25 </clip Path>25 </clippath> 26 26 </svg> 27 27 <script> -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/clip-path-element-userSpaceOnUse-001.html
r268138 r286795 18 18 <clipPath id="clip"> 19 19 <rect x="50" y="50" width="150px" height="100" /> 20 </clip Path>20 </clippath> 21 21 </svg> 22 22 </body> -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/clip-path-element-userSpaceOnUse-002.html
r268138 r286795 18 18 <clipPath id="clip"> 19 19 <rect x="50" y="50" width="150px" height="100" /> 20 </clip Path>20 </clippath> 21 21 </svg> 22 22 </body> -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/clip-path-element-userSpaceOnUse-003.html
r268138 r286795 27 27 <clipPath id="clip"> 28 28 <rect x="50%" y="0" width="50%" height="100%" /> 29 </clip Path>29 </clippath> 30 30 </svg> 31 31 </body> -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/clip-path-element-userSpaceOnUse-004.html
r268138 r286795 27 27 <clipPath id="clip"> 28 28 <rect x="0" y="50%" width="100%" height="50%" /> 29 </clip Path>29 </clippath> 30 30 </svg> 31 31 </body> -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/clip-path-path-001-expected.html
r268138 r286795 23 23 <clipPath id="clip"> 24 24 <path clip-rule="nonzero" d="M10,10h80v80h-80zM25,25h50v50h-50z"/> 25 </clip Path>25 </clippath> 26 26 </defs> 27 27 </svg> -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/clip-path-path-002-expected.html
r268138 r286795 23 23 <clipPath id="clip"> 24 24 <path clip-rule="evenodd" d="M10,10h80v80h-80zM25,25h50v50h-50z"/> 25 </clip Path>25 </clippath> 26 26 </defs> 27 27 </svg> -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/clip-path-path-interpolation-001-expected.html
r268138 r286795 18 18 <clipPath id="clip"> 19 19 <path clip-rule="nonzero" d="M35,35 H90 V90 H35Z M25,25 H70 V70 H25Z"/> 20 </clip Path>20 </clippath> 21 21 </defs> 22 22 </svg> -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/clip-path-path-interpolation-002-expected.html
r268138 r286795 18 18 <clipPath id="clip"> 19 19 <path clip-rule="evenodd" d="M35,35 H90 V90 H35Z M25,25 H70 V70 H25Z"/> 20 </clip Path>20 </clippath> 21 21 </defs> 22 22 </svg> -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/clip-path-reference-restore.html
r268138 r286795 27 27 <clipPath id="c" clipPathUnits="objectBoundingBox"> 28 28 <rect width="0.5" height="1"/> 29 </clip Path>29 </clippath> 30 30 </defs> 31 31 </svg> -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/clip-path-svg-invalidate-expected.html
r268138 r286795 25 25 <clipPath id="clip" clipPathUnits="objectBoundingBox"> 26 26 <polygon points="0,0 0.5,1 1,0" /> 27 </clip Path>27 </clippath> 28 28 </svg> -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/clip-path-svg-invalidate.html
r268138 r286795 29 29 <clipPath id="clip" clipPathUnits="objectBoundingBox"> 30 30 <polygon points="0,0 0.5,0.5 1,0" /> 31 </clip Path>31 </clippath> 32 32 </svg> 33 33 -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/clip-path-svg-text-backdrop-filter.html
r281580 r286795 10 10 height: 300px; 11 11 clip-path: url(#svgPath); 12 backdrop-filter: invert(100%);12 -webkit-backdrop-filter: invert(100%); 13 13 background: transparent; 14 14 } … … 21 21 <clipPath id="svgPath"> 22 22 <text id="svgText" x="10" y="100">Text</text> 23 </clip Path>23 </clippath> 24 24 </svg> -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/clip-path-svg-text-font-loading.html
r281580 r286795 20 20 <clipPath id="clip"> 21 21 <text y="80" font-size="100" font-family="DelayedAhem, serif">X</text> 22 </clip Path>22 </clippath> 23 23 </svg> 24 24 <script> -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/clip-path-transform-mutated-001.html
r268138 r286795 21 21 <clipPath id="clip"> 22 22 <rect width="1" height="1"/> 23 </clip Path>23 </clippath> 24 24 </svg> 25 25 <script> -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/clip-path-transform-mutated-002.html
r268138 r286795 23 23 <clipPath id="clip"> 24 24 <rect width="1" height="1"/> 25 </clip Path>25 </clippath> 26 26 </svg> 27 27 <script> -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/clip-path-url-reference-change-from-empty.html
r268138 r286795 10 10 <clipPath id="rect"> 11 11 <rect width="100" height="100"/> 12 </clip Path>12 </clippath> 13 13 <rect width="100" height="100" fill="red"/> 14 14 <rect width="100" height="100" fill="green" id="target" clip-path="url(#empty)"/> -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/clip-path-url-reference-change.html
r268138 r286795 9 9 <clipPath id="circle"> 10 10 <circle cx="50" cy="50" r="50"/> 11 </clip Path>11 </clippath> 12 12 <clipPath id="rect"> 13 13 <rect width="100" height="100"/> 14 </clip Path>14 </clippath> 15 15 <rect width="100" height="100" fill="red"/> 16 16 <rect width="100" height="100" fill="green" id="target" clip-path="url(#circle)"/> -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/reference-local-url-with-base-001.html
r268138 r286795 22 22 <clipPath id="clip"> 23 23 <rect width="100" height="100"/> 24 </clip Path>24 </clippath> 25 25 </svg> -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/reference-mutated.html
r268138 r286795 22 22 <clipPath id="clip" clipPathUnits="objectBoundingBox"> 23 23 <circle cx="0.5" cy="0.5" r="0.25"></circle> 24 </clip Path>24 </clippath> 25 25 </defs> 26 26 </svg> -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/reference-nonexisting-existing-local.html
r268138 r286795 18 18 <clipPath id="c" clipPathUnits="objectBoundingBox"> 19 19 <circle cx="0.5" cy="0.5" r="0.5"/> 20 </clip Path>20 </clippath> 21 21 </svg> -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/w3c-import.log
r281580 r286795 10 10 ------------------------------------------------------------------------ 11 11 Properties requiring vendor prefixes: 12 None 12 backdrop-filter 13 13 Property values requiring vendor prefixes: 14 14 None … … 73 73 /LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/clip-path-fixed-nested-expected.html 74 74 /LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/clip-path-fixed-nested.html 75 /LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/clip-path-fixed-scroll-expected.html 76 /LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/clip-path-fixed-scroll.html 75 77 /LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/clip-path-inline-001-expected.xht 76 78 /LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-path/clip-path-inline-001.html -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-rule/clip-rule-001.html
r281580 r286795 23 23 <clipPath id="clip"> 24 24 <polygon points="0 0, 250 0, 250 200, 0 200, 0 50, 200 50, 200 150, 50 150, 50 50, 0 50" clip-rule="evenodd" /> 25 </clip Path>25 </clippath> 26 26 </svg> 27 27 </body> -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/clip-rule/clip-rule-002.html
r281580 r286795 23 23 <clipPath id="clip"> 24 24 <polygon points="0 0, 250 0, 250 200, 0 200, 0 50, 50 50, 50 150, 200 150, 200 50, 0 50" clip-rule="nonzero" /> 25 </clip Path>25 </clippath> 26 26 </svg> 27 27 </body> -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/hit-test/clip-path-element-objectboundingbox-001.html
r281580 r286795 20 20 <clipPath id="clip" clipPathUnits="objectBoundingBox" transform="scale(0.01, 0.01)"> 21 21 <polygon points="50,0 100,50 50,100 0,50"/> 22 </clip Path>22 </clippath> 23 23 </svg> 24 24 <script> -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/hit-test/clip-path-element-objectboundingbox-002.html
r281580 r286795 20 20 <clipPath id="nested" clipPathUnits="objectBoundingBox"> 21 21 <circle cx="0.25" cy="0.25" r="0.25"/> 22 </clip Path>22 </clippath> 23 23 <clipPath id="clip" clipPathUnits="objectBoundingBox" clip-path="url(#nested)"> 24 24 <rect width="0.5" height="0.5"/> 25 </clip Path>25 </clippath> 26 26 </svg> 27 27 <script> -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/hit-test/clip-path-element-userspaceonuse-001.html
r281580 r286795 20 20 <clipPath id="clip" clipPathUnits="userSpaceOnUse"> 21 21 <polygon points="50,0 100,50 50,100 0,50"/> 22 </clip Path>22 </clippath> 23 23 </svg> 24 24 <script> -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/idlharness.html
r281580 r286795 25 25 <clipPath id="clip1"> 26 26 <rect x="50" y="50" width="100" height="100" /> 27 </clip Path>27 </clippath> 28 28 <mask id="mask1" x="0" y="0" width="1" height="1" maskContentUnits="objectBoundingBox"> 29 29 <rect x="0" y="0" width="1" height="1" fill="white" /> -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/inheritance.sub-expected.txt
r281580 r286795 18 18 FAIL Property mask-border-width has initial value auto assert_true: mask-border-width doesn't seem to be supported in the computed style expected true got false 19 19 FAIL Property mask-border-width does not inherit assert_true: expected true got false 20 FAIL Property mask-clip has initial value border-box assert_true: mask-clip doesn't seem to be supported in the computed style expected true got false 21 FAIL Property mask-clip does not inherit assert_true: expected true got false 22 FAIL Property mask-composite has initial value add assert_true: mask-composite doesn't seem to be supported in the computed style expected true got false 23 FAIL Property mask-composite does not inherit assert_true: expected true got false 24 FAIL Property mask-image has initial value none assert_true: mask-image doesn't seem to be supported in the computed style expected true got false25 FAIL Property mask-image does not inherit assert_true: expected true got false 26 FAIL Property mask-mode has initial value match-source assert_true: mask-mode doesn't seem to be supported in the computed style expected true got false27 FAIL Property mask-mode does not inherit assert_true: expected true got false 28 FAIL Property mask-origin has initial value border-box assert_true: mask-origin doesn't seem to be supported in the computed style expected true got false 29 FAIL Property mask-origin does not inherit assert_true: expected true got false 30 FAIL Property mask-position has initial value 0% 0% assert_true: mask-position doesn't seem to be supported in the computed style expected true got false 31 FAIL Property mask-position does not inherit assert_true: expected true got false 32 FAIL Property mask-repeat has initial value repeat assert_true: mask-repeat doesn't seem to be supported in the computed style expected true got false 33 FAIL Property mask-repeat does not inherit assert_true: expected true got false 34 FAIL Property mask-size has initial value auto assert_true: mask-size doesn't seem to be supported in the computed style expected true got false 35 FAIL Property mask-size does not inherit assert_true: expected true got false 20 PASS Property mask-clip has initial value border-box 21 PASS Property mask-clip does not inherit 22 PASS Property mask-composite has initial value add 23 PASS Property mask-composite does not inherit 24 PASS Property mask-image has initial value none 25 PASS Property mask-image does not inherit 26 PASS Property mask-mode has initial value match-source 27 PASS Property mask-mode does not inherit 28 PASS Property mask-origin has initial value border-box 29 PASS Property mask-origin does not inherit 30 PASS Property mask-position has initial value 0% 0% 31 PASS Property mask-position does not inherit 32 PASS Property mask-repeat has initial value repeat 33 PASS Property mask-repeat does not inherit 34 PASS Property mask-size has initial value auto 35 PASS Property mask-size does not inherit 36 36 PASS Property mask-type has initial value luminance 37 37 PASS Property mask-type does not inherit -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/mask-image/mask-image-data-url-image-expected.html
r281580 r286795 18 18 border: 40px solid blue; 19 19 background: green; 20 mask-image: url( 1x1-black-30-alpha.png); /* 1x1 black with 30% transparency */20 mask-image: url(reference/1x1-black-30-alpha.png); /* 1x1 black with 30% transparency */ 21 21 } 22 22 </style> -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/parsing/mask-position-valid-expected.txt
r281580 r286795 1 1 2 FAIL e.style['mask-position'] = "10%" should set the property value assert_not_equals: property should be set got disallowed value "" 3 FAIL e.style['mask-position'] = "right 30% top 60px" should set the property value assert_not_equals: property should be set got disallowed value "" 4 FAIL e.style['mask-position'] = "-20% -30px" should set the property value assert_not_equals: property should be set got disallowed value "" 5 FAIL e.style['mask-position'] = "30px center" should set the property value assert_not_equals: property should be set got disallowed value "" 6 FAIL e.style['mask-position'] = "40px top" should set the property value assert_not_equals: property should be set got disallowed value "" 7 FAIL e.style['mask-position'] = "bottom 10% right 20%" should set the property value assert_not_equals: property should be set got disallowed value "" 8 FAIL e.style['mask-position'] = "bottom right" should set the property value assert_not_equals: property should be set got disallowed value "" 9 FAIL e.style['mask-position'] = "center 50px" should set the property value assert_not_equals: property should be set got disallowed value "" 10 FAIL e.style['mask-position'] = "center bottom" should set the property value assert_not_equals: property should be set got disallowed value "" 11 FAIL e.style['mask-position'] = "center left" should set the property value assert_not_equals: property should be set got disallowed value "" 12 FAIL e.style['mask-position'] = "left" should set the property value assert_not_equals: property should be set got disallowed value "" 13 FAIL e.style['mask-position'] = "left bottom" should set the property value assert_not_equals: property should be set got disallowed value "" 14 FAIL e.style['mask-position'] = "right 40%" should set the property value assert_not_equals: property should be set got disallowed value "" 15 FAIL e.style['mask-position'] = "top" should set the property value assert_not_equals: property should be set got disallowed value "" 16 FAIL e.style['mask-position'] = "top center" should set the property value assert_not_equals: property should be set got disallowed value "" 17 FAIL e.style['mask-position'] = "center" should set the property value assert_not_equals: property should be set got disallowed value "" 18 FAIL e.style['mask-position'] = "bottom left, right 20%" should set the property value assert_not_equals: property should be set got disallowed value "" 19 FAIL e.style['mask-position'] = "top, center, left" should set the property value assert_not_equals: property should be set got disallowed value "" 2 PASS e.style['mask-position'] = "10%" should set the property value 3 PASS e.style['mask-position'] = "right 30% top 60px" should set the property value 4 PASS e.style['mask-position'] = "-20% -30px" should set the property value 5 PASS e.style['mask-position'] = "30px center" should set the property value 6 PASS e.style['mask-position'] = "40px top" should set the property value 7 PASS e.style['mask-position'] = "bottom 10% right 20%" should set the property value 8 PASS e.style['mask-position'] = "bottom right" should set the property value 9 PASS e.style['mask-position'] = "center 50px" should set the property value 10 PASS e.style['mask-position'] = "center bottom" should set the property value 11 PASS e.style['mask-position'] = "center left" should set the property value 12 PASS e.style['mask-position'] = "left" should set the property value 13 PASS e.style['mask-position'] = "left bottom" should set the property value 14 PASS e.style['mask-position'] = "right 40%" should set the property value 15 PASS e.style['mask-position'] = "top" should set the property value 16 PASS e.style['mask-position'] = "top center" should set the property value 17 PASS e.style['mask-position'] = "center" should set the property value 18 PASS e.style['mask-position'] = "bottom left, right 20%" should set the property value 19 PASS e.style['mask-position'] = "top, center, left" should set the property value 20 20 -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-masking/parsing/mask-valid.sub-expected.txt
r281580 r286795 1 1 2 2 PASS e.style['mask'] = "none" should set the property value 3 FAIL e.style['mask'] = "none alpha" should set the property value assert_not_equals: property should be set got disallowed value "" 4 FAIL e.style['mask'] = "linear-gradient(to left bottom, red, blue)" should set the property value assert_not_equals: property should be set got disallowed value "" 5 FAIL e.style['mask'] = "linear-gradient(to left bottom, red, blue) luminance" should set the property value assert_not_equals: property should be set got disallowed value "" 3 PASS e.style['mask'] = "none alpha" should set the property value 4 PASS e.style['mask'] = "linear-gradient(to left bottom, red, blue)" should set the property value 5 PASS e.style['mask'] = "linear-gradient(to left bottom, red, blue) luminance" should set the property value 6 6 PASS e.style['mask'] = "url(\"https://localhost/\")" should set the property value 7 FAIL e.style['mask'] = "url(\"https://localhost/\") alpha" should set the property value assert_not_equals: property should be set got disallowed value "" 8 FAIL e.style['mask'] = "linear-gradient(to left bottom, red, blue) 1px 2px" should set the property value assert_not_equals: property should be set got disallowed value "" 9 FAIL e.style['mask'] = "url(\"https://localhost/\") 1px 2px / contain" should set the property value assert_not_equals: property should be set got disallowed value "" 10 FAIL e.style['mask'] = "none repeat-y" should set the property value assert_not_equals: property should be set got disallowed value "" 11 FAIL e.style['mask'] = "none border-box" should set the property value assert_ not_equals: property should be set got disallowed value ""12 FAIL e.style['mask'] = "linear-gradient(to left bottom, red, blue) padding-box" should set the property value assert_not_equals: property should be set got disallowed value "" 13 FAIL e.style['mask'] = "none content-box" should set the property value assert_not_equals: property should be set got disallowed value "" 7 PASS e.style['mask'] = "url(\"https://localhost/\") alpha" should set the property value 8 PASS e.style['mask'] = "linear-gradient(to left bottom, red, blue) 1px 2px" should set the property value 9 PASS e.style['mask'] = "url(\"https://localhost/\") 1px 2px / contain" should set the property value 10 PASS e.style['mask'] = "none repeat-y" should set the property value 11 FAIL e.style['mask'] = "none border-box" should set the property value assert_equals: serialization should be canonical expected "none" but got "none border-box" 12 PASS e.style['mask'] = "linear-gradient(to left bottom, red, blue) padding-box" should set the property value 13 PASS e.style['mask'] = "none content-box" should set the property value 14 14 FAIL e.style['mask'] = "none margin-box" should set the property value assert_not_equals: property should be set got disallowed value "" 15 15 FAIL e.style['mask'] = "url(\"https://localhost/\") fill-box" should set the property value assert_not_equals: property should be set got disallowed value "" 16 16 FAIL e.style['mask'] = "linear-gradient(to left bottom, red, blue) stroke-box" should set the property value assert_not_equals: property should be set got disallowed value "" 17 17 FAIL e.style['mask'] = "none view-box" should set the property value assert_not_equals: property should be set got disallowed value "" 18 FAIL e.style['mask'] = "none no-clip" should set the property value assert_not_equals: property should be set got disallowed value "" 19 FAIL e.style['mask'] = "url(\"https://localhost/\") add" should set the property value assert_ not_equals: property should be set got disallowed value ""20 FAIL e.style['mask'] = "none subtract" should set the property value assert_not_equals: property should be set got disallowed value "" 21 FAIL e.style['mask'] = "url(\"https://localhost/\") intersect" should set the property value assert_not_equals: property should be set got disallowed value "" 22 FAIL e.style['mask'] = "linear-gradient(to left bottom, red, blue) exclude" should set the property value assert_not_equals: property should be set got disallowed value "" 18 PASS e.style['mask'] = "none no-clip" should set the property value 19 FAIL e.style['mask'] = "url(\"https://localhost/\") add" should set the property value assert_equals: serialization should be canonical expected "url(\"https://localhost/\")" but got "url(\"https://localhost/\") add" 20 PASS e.style['mask'] = "none subtract" should set the property value 21 PASS e.style['mask'] = "url(\"https://localhost/\") intersect" should set the property value 22 PASS e.style['mask'] = "linear-gradient(to left bottom, red, blue) exclude" should set the property value 23 23 FAIL e.style['mask'] = "intersect no-clip space round 1px 2px / contain stroke-box linear-gradient(to left bottom, red, blue) luminance" should set the property value assert_not_equals: property should be set got disallowed value "" 24 24 FAIL e.style['mask'] = "intersect no-clip space round 1px 2px / contain view-box, stroke-box linear-gradient(to left bottom, red, blue) luminance" should set the property value assert_not_equals: property should be set got disallowed value "" -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt
r285822 r286795 1 1 2 2 PASS getComputedStyle returns no style for detached element 3 FAIL getComputedStyle returns no style for element in non-rendered iframe (display: none) assert_equals: expected 0 but got 39 84 FAIL getComputedStyle returns no style for element in non-rendered iframe (display: none) from iframe's window assert_equals: expected 0 but got 39 85 FAIL getComputedStyle returns no style for element outside the flat tree assert_equals: expected 0 but got 39 86 FAIL getComputedStyle returns no style for descendant outside the flat tree assert_equals: expected 0 but got 39 83 FAIL getComputedStyle returns no style for element in non-rendered iframe (display: none) assert_equals: expected 0 but got 399 4 FAIL getComputedStyle returns no style for element in non-rendered iframe (display: none) from iframe's window assert_equals: expected 0 but got 399 5 FAIL getComputedStyle returns no style for element outside the flat tree assert_equals: expected 0 but got 399 6 FAIL getComputedStyle returns no style for descendant outside the flat tree assert_equals: expected 0 but got 399 7 7 PASS getComputedStyle returns no style for shadow tree outside of flattened tree 8 8 -
trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-002-expected.txt
r285397 r286795 32 32 PASS list-style-type: "square" onto "circle" 33 33 PASS list-style-type: "circle" onto "square" 34 PASS mask (type: discrete) has testAccumulation function 35 FAIL mask: "url("http://localhost/test-2")" onto "url("http://localhost/test-1")" assert_equals: The value should be url("http://localhost/test-2") at 0ms expected "url(\"http://localhost/test-2\")" but got "url(\"http://localhost/test-2\") 0% 0% / auto repeat border-box border-box add match-source" 36 FAIL mask: "url("http://localhost/test-1")" onto "url("http://localhost/test-2")" assert_equals: The value should be url("http://localhost/test-1") at 0ms expected "url(\"http://localhost/test-1\")" but got "url(\"http://localhost/test-1\") 0% 0% / auto repeat border-box border-box add match-source" 37 PASS mask-image (type: discrete) has testAccumulation function 38 PASS mask-image: "url("http://localhost/test-2")" onto "url("http://localhost/test-1")" 39 PASS mask-image: "url("http://localhost/test-1")" onto "url("http://localhost/test-2")" 34 40 PASS mix-blend-mode (type: discrete) has testAccumulation function 35 41 PASS mix-blend-mode: "screen" onto "multiply" -
trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-002-expected.txt
r285631 r286795 32 32 PASS list-style-type: "square" onto "circle" 33 33 PASS list-style-type: "circle" onto "square" 34 PASS mask (type: discrete) has testAddition function 35 FAIL mask: "url("http://localhost/test-2")" onto "url("http://localhost/test-1")" assert_equals: The value should be url("http://localhost/test-2") at 0ms expected "url(\"http://localhost/test-2\")" but got "url(\"http://localhost/test-2\") 0% 0% / auto repeat border-box border-box add match-source" 36 FAIL mask: "url("http://localhost/test-1")" onto "url("http://localhost/test-2")" assert_equals: The value should be url("http://localhost/test-1") at 0ms expected "url(\"http://localhost/test-1\")" but got "url(\"http://localhost/test-1\") 0% 0% / auto repeat border-box border-box add match-source" 37 PASS mask-image (type: discrete) has testAddition function 38 PASS mask-image: "url("http://localhost/test-2")" onto "url("http://localhost/test-1")" 39 PASS mask-image: "url("http://localhost/test-1")" onto "url("http://localhost/test-2")" 34 40 PASS mix-blend-mode (type: discrete) has testAddition function 35 41 PASS mix-blend-mode: "screen" onto "multiply" -
trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-002-expected.txt
r284361 r286795 39 39 PASS list-style-type uses discrete animation when animating between "circle" and "square" with effect easing 40 40 PASS list-style-type uses discrete animation when animating between "circle" and "square" with keyframe easing 41 PASS mask (type: discrete) has testInterpolation function 42 FAIL mask uses discrete animation when animating between "url("http://localhost/test-1")" and "url("http://localhost/test-2")" with linear easing assert_equals: The value should be url("http://localhost/test-1") at 0ms expected "url(\"http://localhost/test-1\")" but got "url(\"http://localhost/test-1\") 0% 0% / auto repeat border-box border-box add match-source" 43 FAIL mask uses discrete animation when animating between "url("http://localhost/test-1")" and "url("http://localhost/test-2")" with effect easing assert_equals: The value should be url("http://localhost/test-1") at 0ms expected "url(\"http://localhost/test-1\")" but got "url(\"http://localhost/test-1\") 0% 0% / auto repeat border-box border-box add match-source" 44 FAIL mask uses discrete animation when animating between "url("http://localhost/test-1")" and "url("http://localhost/test-2")" with keyframe easing assert_equals: The value should be url("http://localhost/test-1") at 0ms expected "url(\"http://localhost/test-1\")" but got "url(\"http://localhost/test-1\") 0% 0% / auto repeat border-box border-box add match-source" 45 PASS mask-image (type: discrete) has testInterpolation function 46 FAIL mask-image uses discrete animation when animating between "url("http://localhost/test-1")" and "url("http://localhost/test-2")" with linear easing assert_equals: The value should be url("http://localhost/test-1") at 499ms expected "url(\"http://localhost/test-1\")" but got "url(\"http://localhost/test-2\")" 47 FAIL mask-image uses discrete animation when animating between "url("http://localhost/test-1")" and "url("http://localhost/test-2")" with effect easing assert_equals: The value should be url("http://localhost/test-1") at 940ms expected "url(\"http://localhost/test-1\")" but got "url(\"http://localhost/test-2\")" 48 FAIL mask-image uses discrete animation when animating between "url("http://localhost/test-1")" and "url("http://localhost/test-2")" with keyframe easing assert_equals: The value should be url("http://localhost/test-1") at 940ms expected "url(\"http://localhost/test-1\")" but got "url(\"http://localhost/test-2\")" 41 49 PASS mix-blend-mode (type: discrete) has testInterpolation function 42 50 PASS mix-blend-mode uses discrete animation when animating between "multiply" and "screen" with linear easing -
trunk/LayoutTests/platform/mac/fast/css/getComputedStyle/computed-style-expected.txt
r285621 r286795 119 119 marker-mid: none; 120 120 marker-start: none; 121 mask: none; 121 mask-image: none; 122 mask-origin: border-box; 123 mask-repeat: repeat; 124 mask-size: auto; 122 125 mask-type: luminance; 123 126 max-height: none; … … 240 243 -webkit-mask-clip: border-box; 241 244 -webkit-mask-composite: source-over; 242 -webkit-mask-image: none;243 -webkit-mask-origin: border-box;244 -webkit-mask-repeat: repeat;245 -webkit-mask-size: auto;246 245 -webkit-nbsp-mode: normal; 247 246 -webkit-print-color-adjust: economy; -
trunk/LayoutTests/platform/mac/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt
r285621 r286795 118 118 marker-mid: none 119 119 marker-start: none 120 mask: none 120 mask-image: none 121 mask-origin: border-box 122 mask-repeat: repeat 123 mask-size: auto 121 124 mask-type: luminance 122 125 max-height: none … … 239 242 -webkit-mask-clip: border-box 240 243 -webkit-mask-composite: source-over 241 -webkit-mask-image: none242 -webkit-mask-origin: border-box243 -webkit-mask-repeat: repeat244 -webkit-mask-size: auto245 244 -webkit-nbsp-mode: normal 246 245 -webkit-print-color-adjust: economy -
trunk/LayoutTests/platform/mac/svg/css/getComputedStyle-basic-expected.txt
r285621 r286795 235 235 rect: style.getPropertyValue(marker-start) : none 236 236 rect: style.getPropertyCSSValue(marker-start) : [object CSSPrimitiveValue] 237 rect: style.getPropertyValue(mask) : none 238 rect: style.getPropertyCSSValue(mask) : [object CSSPrimitiveValue] 237 rect: style.getPropertyValue(mask-image) : none 238 rect: style.getPropertyCSSValue(mask-image) : [object CSSPrimitiveValue] 239 rect: style.getPropertyValue(mask-origin) : border-box 240 rect: style.getPropertyCSSValue(mask-origin) : [object CSSPrimitiveValue] 241 rect: style.getPropertyValue(mask-repeat) : repeat 242 rect: style.getPropertyCSSValue(mask-repeat) : [object CSSPrimitiveValue] 243 rect: style.getPropertyValue(mask-size) : auto 244 rect: style.getPropertyCSSValue(mask-size) : [object CSSPrimitiveValue] 239 245 rect: style.getPropertyValue(mask-type) : luminance 240 246 rect: style.getPropertyCSSValue(mask-type) : [object CSSPrimitiveValue] … … 477 483 rect: style.getPropertyValue(-webkit-mask-composite) : source-over 478 484 rect: style.getPropertyCSSValue(-webkit-mask-composite) : [object CSSPrimitiveValue] 479 rect: style.getPropertyValue(-webkit-mask-image) : none480 rect: style.getPropertyCSSValue(-webkit-mask-image) : [object CSSPrimitiveValue]481 rect: style.getPropertyValue(-webkit-mask-origin) : border-box482 rect: style.getPropertyCSSValue(-webkit-mask-origin) : [object CSSPrimitiveValue]483 rect: style.getPropertyValue(-webkit-mask-repeat) : repeat484 rect: style.getPropertyCSSValue(-webkit-mask-repeat) : [object CSSPrimitiveValue]485 rect: style.getPropertyValue(-webkit-mask-size) : auto486 rect: style.getPropertyCSSValue(-webkit-mask-size) : [object CSSPrimitiveValue]487 485 rect: style.getPropertyValue(-webkit-nbsp-mode) : normal 488 486 rect: style.getPropertyCSSValue(-webkit-nbsp-mode) : [object CSSPrimitiveValue] … … 753 751 g: style.getPropertyValue(marker-start) : none 754 752 g: style.getPropertyCSSValue(marker-start) : [object CSSPrimitiveValue] 755 g: style.getPropertyValue(mask) : none 756 g: style.getPropertyCSSValue(mask) : [object CSSPrimitiveValue] 753 g: style.getPropertyValue(mask-image) : none 754 g: style.getPropertyCSSValue(mask-image) : [object CSSPrimitiveValue] 755 g: style.getPropertyValue(mask-origin) : border-box 756 g: style.getPropertyCSSValue(mask-origin) : [object CSSPrimitiveValue] 757 g: style.getPropertyValue(mask-repeat) : repeat 758 g: style.getPropertyCSSValue(mask-repeat) : [object CSSPrimitiveValue] 759 g: style.getPropertyValue(mask-size) : auto 760 g: style.getPropertyCSSValue(mask-size) : [object CSSPrimitiveValue] 757 761 g: style.getPropertyValue(mask-type) : luminance 758 762 g: style.getPropertyCSSValue(mask-type) : [object CSSPrimitiveValue] … … 995 999 g: style.getPropertyValue(-webkit-mask-composite) : source-over 996 1000 g: style.getPropertyCSSValue(-webkit-mask-composite) : [object CSSPrimitiveValue] 997 g: style.getPropertyValue(-webkit-mask-image) : none998 g: style.getPropertyCSSValue(-webkit-mask-image) : [object CSSPrimitiveValue]999 g: style.getPropertyValue(-webkit-mask-origin) : border-box1000 g: style.getPropertyCSSValue(-webkit-mask-origin) : [object CSSPrimitiveValue]1001 g: style.getPropertyValue(-webkit-mask-repeat) : repeat1002 g: style.getPropertyCSSValue(-webkit-mask-repeat) : [object CSSPrimitiveValue]1003 g: style.getPropertyValue(-webkit-mask-size) : auto1004 g: style.getPropertyCSSValue(-webkit-mask-size) : [object CSSPrimitiveValue]1005 1001 g: style.getPropertyValue(-webkit-nbsp-mode) : normal 1006 1002 g: style.getPropertyCSSValue(-webkit-nbsp-mode) : [object CSSPrimitiveValue] -
trunk/LayoutTests/svg/css/computed-style-url-serializing-expected.txt
r276888 r286795 4 4 5 5 6 PASS document.defaultView.getComputedStyle(rect, null).mask is "url(\"#reference\") "6 PASS document.defaultView.getComputedStyle(rect, null).mask is "url(\"#reference\") 0% 0% / auto repeat border-box border-box add match-source" 7 7 PASS document.defaultView.getComputedStyle(rect, null).markerStart is "url(\"#reference\")" 8 8 PASS document.defaultView.getComputedStyle(rect, null).markerMid is "url(\"#reference\")" -
trunk/LayoutTests/svg/css/computed-style-url-serializing.html
r276888 r286795 25 25 rootSVGElement.appendChild(rect); 26 26 27 shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).mask", 'url("#reference") ');27 shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).mask", 'url("#reference") 0% 0% / auto repeat border-box border-box add match-source'); 28 28 shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).markerStart", 'url("#reference")'); 29 29 shouldBeEqualToString("document.defaultView.getComputedStyle(rect, null).markerMid", 'url("#reference")'); -
trunk/Source/WebCore/ChangeLog
r286789 r286795 1 2021-12-09 Matt Woodrow <matt.woodrow@gmail.com> 2 3 Unprefix -webkit-mask 4 https://bugs.webkit.org/show_bug.cgi?id=229082 5 6 Reviewed by Antti Koivisto. 7 8 Tests: fast/masking/parsing-webkit-mask.html 9 imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-filter.html 10 imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-incompatible-shapes1.html 11 imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-incompatible-shapes2.html 12 imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-overflow.html 13 imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-three-keyframes1.html 14 imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-animation-three-keyframes2.html 15 imported/w3c/web-platform-tests/css/css-masking/clip-path/animations/clip-path-transition.html 16 imported/w3c/web-platform-tests/css/css-masking/clip-path/clip-path-fixed-scroll.html 17 svg/masking/mask-external-reference-expected.svg 18 svg/masking/mask-external-reference.svg 19 20 * animation/CSSPropertyAnimation.cpp: 21 (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap): 22 * css/CSSComputedStyleDeclaration.cpp: 23 (WebCore::createPositionListForLayer): 24 (WebCore::ComputedStyleExtractor::valueForPropertyInStyle): 25 * css/CSSImageValue.cpp: 26 (WebCore::ResolvedURL::isLocalURL const): 27 (WebCore::CSSImageValue::reresolvedURL const): 28 * css/CSSImageValue.h: 29 * css/CSSPrimitiveValue.h: 30 (WebCore::CSSPrimitiveValue::create): 31 * css/CSSPrimitiveValueMappings.h: 32 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): 33 (WebCore::CSSPrimitiveValue::operator CompositeOperator const): 34 (WebCore::CSSPrimitiveValue::operator FillBox const): 35 * css/CSSProperties.json: 36 * css/CSSToStyleMap.cpp: 37 (WebCore::CSSToStyleMap::mapFillMaskMode): 38 * css/CSSValueKeywords.in: 39 * css/CSSValuePool.h: 40 (WebCore::CSSValuePool::createValue): 41 * css/SVGCSSComputedStyleDeclaration.cpp: 42 (WebCore::ComputedStyleExtractor::svgPropertyValue): 43 * css/StyleProperties.cpp: 44 (WebCore::StyleProperties::getPropertyValue const): 45 (WebCore::resolvedClipValue): 46 (WebCore::isSameAsInitialClipValue): 47 (WebCore::StyleProperties::getLayeredShorthandValue const): 48 (WebCore::StyleProperties::asText const): 49 * css/parser/CSSPropertyParser.cpp: 50 (WebCore::consumeMaskClip): 51 (WebCore::consumePrefixedBackgroundComposite): 52 (WebCore::consumeBackgroundComposite): 53 (WebCore::consumeBackgroundComponent): 54 (WebCore::CSSPropertyParser::parseSingleValue): 55 (WebCore::consumeBackgroundPosition): 56 (WebCore::CSSPropertyParser::consumeBackgroundShorthand): 57 (WebCore::CSSPropertyParser::parseShorthand): 58 * css/parser/CSSPropertyParserHelpers.cpp: 59 (WebCore::CSSPropertyParserHelpers::consumePositionCoordinates): 60 * display/css/DisplayBoxDecorationPainter.cpp: 61 (WebCore::Display::BoxDecorationPainter::paintFillLayer const): 62 * rendering/style/FillLayer.cpp: 63 (WebCore::clipMax): 64 (WebCore::FillLayer::computeClipMax const): 65 * rendering/style/FillLayer.h: 66 * rendering/style/RenderStyle.cpp: 67 (WebCore::rareNonInheritedDataChangeRequiresLayerRepaint): 68 * rendering/style/RenderStyle.h: 69 (WebCore::RenderStyle::hasPositionedMask const): 70 * rendering/style/RenderStyleConstants.cpp: 71 (WebCore::operator<<): 72 * rendering/style/RenderStyleConstants.h: 73 * rendering/style/SVGRenderStyle.cpp: 74 (WebCore::SVGRenderStyle::SVGRenderStyle): 75 (WebCore::SVGRenderStyle::operator== const): 76 (WebCore::SVGRenderStyle::copyNonInheritedFrom): 77 (WebCore::SVGRenderStyle::diff const): 78 * rendering/style/SVGRenderStyle.h: 79 (WebCore::SVGRenderStyle::initialLightingColor): 80 (WebCore::SVGRenderStyle::y const): 81 (WebCore::SVGRenderStyle::hasFill const): 82 (WebCore::SVGRenderStyle::initialMaskerResource): Deleted. 83 (WebCore::SVGRenderStyle::maskerResource const): Deleted. 84 (WebCore::SVGRenderStyle::hasMasker const): Deleted. 85 (WebCore::SVGRenderStyle::isolatesBlending const): Deleted. 86 (WebCore::SVGRenderStyle::setMaskerResource): Deleted. 87 * rendering/style/SVGRenderStyleDefs.cpp: 88 (WebCore::StyleResourceData::StyleResourceData): Deleted. 89 (WebCore::StyleResourceData::copy const): Deleted. 90 (WebCore::StyleResourceData::operator== const): Deleted. 91 * rendering/style/SVGRenderStyleDefs.h: 92 (WebCore::StyleResourceData::create): Deleted. 93 (WebCore::StyleResourceData::operator!= const): Deleted. 94 * rendering/style/StyleCachedImage.cpp: 95 (WebCore::StyleCachedImage::imageURL const): 96 (WebCore::StyleCachedImage::reresolvedURL const): 97 (WebCore::StyleCachedImage::imageURL): Deleted. 98 * rendering/style/StyleCachedImage.h: 99 * rendering/style/WillChangeData.cpp: 100 (WebCore::WillChangeData::propertyCreatesStackingContext): 101 * rendering/svg/SVGRenderSupport.cpp: 102 (WebCore::SVGRenderSupport::isolatesBlending): 103 (WebCore::SVGRenderSupport::updateMaskedAncestorShouldIsolateBlending): 104 * rendering/svg/SVGRenderTreeAsText.cpp: 105 (WebCore::writeResources): 106 * rendering/svg/SVGRenderingContext.cpp: 107 (WebCore::SVGRenderingContext::prepareToRenderSVGContent): 108 * rendering/svg/SVGResources.cpp: 109 (WebCore::SVGResources::buildCachedResources): 110 1 111 2021-12-09 Alan Bujtas <zalan@apple.com> 2 112 -
trunk/Source/WebCore/animation/CSSPropertyAnimation.cpp
r286086 r286795 1927 1927 case CSSPropertyBackgroundSize: 1928 1928 case CSSPropertyWebkitBackgroundSize: 1929 case CSSProperty WebkitMaskSize:1929 case CSSPropertyMaskSize: 1930 1930 m_fillLayerPropertyWrapper = makeUnique<FillLayerPropertyWrapper<LengthSize>>(property, &FillLayer::sizeLength, &FillLayer::setSizeLength); 1931 1931 break; 1932 1932 case CSSPropertyBackgroundImage: 1933 case CSSPropertyMaskImage: 1933 1934 m_fillLayerPropertyWrapper = makeUnique<FillLayerStyleImagePropertyWrapper>(property, &FillLayer::image, &FillLayer::setImage); 1934 1935 break; … … 2561 2562 new FillLayersPropertyWrapper(CSSPropertyBackgroundImage, &RenderStyle::backgroundLayers, &RenderStyle::ensureBackgroundLayers), 2562 2563 new StyleImagePropertyWrapper(CSSPropertyListStyleImage, &RenderStyle::listStyleImage, &RenderStyle::setListStyleImage), 2563 new StyleImagePropertyWrapper(CSSPropertyWebkitMaskImage, &RenderStyle::maskImage, &RenderStyle::setMaskImage),2564 new FillLayersPropertyWrapper(CSSPropertyMaskImage, &RenderStyle::maskLayers, &RenderStyle::ensureMaskLayers), 2564 2565 2565 2566 new StyleImagePropertyWrapper(CSSPropertyBorderImageSource, &RenderStyle::borderImageSource, &RenderStyle::setBorderImageSource), … … 2578 2579 new FillLayersPropertyWrapper(CSSPropertyWebkitMaskPositionX, &RenderStyle::maskLayers, &RenderStyle::ensureMaskLayers), 2579 2580 new FillLayersPropertyWrapper(CSSPropertyWebkitMaskPositionY, &RenderStyle::maskLayers, &RenderStyle::ensureMaskLayers), 2580 new FillLayersPropertyWrapper(CSSProperty WebkitMaskSize, &RenderStyle::maskLayers, &RenderStyle::ensureMaskLayers),2581 new FillLayersPropertyWrapper(CSSPropertyMaskSize, &RenderStyle::maskLayers, &RenderStyle::ensureMaskLayers), 2581 2582 2582 2583 new LengthPointPropertyWrapper(CSSPropertyObjectPosition, &RenderStyle::objectPosition, &RenderStyle::setObjectPosition), … … 2798 2799 CSSPropertyBackgroundRepeat, 2799 2800 CSSPropertyFont, // for font-size, font-weight 2801 CSSPropertyMask, // for mask-position 2800 2802 CSSPropertyWebkitMask, // for mask-position 2803 CSSPropertyMaskPosition, 2801 2804 CSSPropertyWebkitMaskPosition, 2802 2805 CSSPropertyBorderTop, CSSPropertyBorderRight, CSSPropertyBorderBottom, CSSPropertyBorderLeft, -
trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp
r286200 r286795 292 292 auto list = CSSValueList::createSpaceSeparated(); 293 293 if (layer.isBackgroundXOriginSet() && layer.backgroundXOrigin() != Edge::Left) { 294 ASSERT_UNUSED(propertyID, propertyID == CSSPropertyBackgroundPosition || propertyID == CSSProperty WebkitMaskPosition);294 ASSERT_UNUSED(propertyID, propertyID == CSSPropertyBackgroundPosition || propertyID == CSSPropertyMaskPosition || propertyID == CSSPropertyWebkitMaskPosition); 295 295 list->append(CSSValuePool::singleton().createValue(layer.backgroundXOrigin())); 296 296 } 297 297 list->append(zoomAdjustedPixelValueForLength(layer.xPosition(), style)); 298 298 if (layer.isBackgroundYOriginSet() && layer.backgroundYOrigin() != Edge::Top) { 299 ASSERT(propertyID == CSSPropertyBackgroundPosition || propertyID == CSSProperty WebkitMaskPosition);299 ASSERT(propertyID == CSSPropertyBackgroundPosition || propertyID == CSSPropertyMaskPosition || propertyID == CSSPropertyWebkitMaskPosition); 300 300 list->append(CSSValuePool::singleton().createValue(layer.backgroundYOrigin())); 301 301 } … … 2724 2724 return m_allowVisitedStyle ? cssValuePool.createColorValue(style.visitedDependentColor(CSSPropertyBackgroundColor)) : currentColorOrValidColor(&style, style.backgroundColor()); 2725 2725 case CSSPropertyBackgroundImage: 2726 case CSSProperty WebkitMaskImage: {2727 auto& layers = propertyID == CSSProperty WebkitMaskImage ? style.maskLayers() : style.backgroundLayers();2726 case CSSPropertyMaskImage: { 2727 auto& layers = propertyID == CSSPropertyMaskImage ? style.maskLayers() : style.backgroundLayers(); 2728 2728 if (!layers.next()) { 2729 2729 if (layers.image()) … … 2742 2742 case CSSPropertyBackgroundSize: 2743 2743 case CSSPropertyWebkitBackgroundSize: 2744 case CSSProperty WebkitMaskSize: {2745 auto& layers = propertyID == CSSProperty WebkitMaskSize ? style.maskLayers() : style.backgroundLayers();2744 case CSSPropertyMaskSize: { 2745 auto& layers = propertyID == CSSPropertyMaskSize ? style.maskLayers() : style.backgroundLayers(); 2746 2746 if (!layers.next()) 2747 2747 return fillSizeToCSSValue(layers.size(), style); … … 2752 2752 } 2753 2753 case CSSPropertyBackgroundRepeat: 2754 case CSSProperty WebkitMaskRepeat: {2755 auto& layers = propertyID == CSSProperty WebkitMaskRepeat ? style.maskLayers() : style.backgroundLayers();2754 case CSSPropertyMaskRepeat: { 2755 auto& layers = propertyID == CSSPropertyMaskRepeat ? style.maskLayers() : style.backgroundLayers(); 2756 2756 if (!layers.next()) 2757 2757 return fillRepeatToCSSValue(layers.repeatX(), layers.repeatY()); … … 2770 2770 return list; 2771 2771 } 2772 case CSSProperty WebkitMaskMode: {2772 case CSSPropertyMaskMode: { 2773 2773 auto& layers = style.maskLayers(); 2774 2774 if (!layers.next()) … … 2780 2780 } 2781 2781 case CSSPropertyWebkitBackgroundComposite: 2782 case CSSPropertyWebkitMaskComposite: { 2783 auto& layers = propertyID == CSSPropertyWebkitMaskComposite ? style.maskLayers() : style.backgroundLayers(); 2782 case CSSPropertyWebkitMaskComposite: 2783 case CSSPropertyMaskComposite: { 2784 auto& layers = propertyID == CSSPropertyWebkitBackgroundComposite ? style.backgroundLayers() : style.maskLayers(); 2784 2785 if (!layers.next()) 2785 return cssValuePool.createValue(layers.composite() );2786 return cssValuePool.createValue(layers.composite(), propertyID); 2786 2787 auto list = CSSValueList::createCommaSeparated(); 2787 2788 for (auto* currLayer = &layers; currLayer; currLayer = currLayer->next()) 2788 list->append(cssValuePool.createValue(currLayer->composite() ));2789 list->append(cssValuePool.createValue(currLayer->composite(), propertyID)); 2789 2790 return list; 2790 2791 } … … 2802 2803 case CSSPropertyWebkitBackgroundClip: 2803 2804 case CSSPropertyWebkitBackgroundOrigin: 2805 case CSSPropertyMaskClip: 2804 2806 case CSSPropertyWebkitMaskClip: 2805 case CSSProperty WebkitMaskOrigin: {2806 auto& layers = (propertyID == CSSProperty WebkitMaskClip || propertyID == CSSPropertyWebkitMaskOrigin) ? style.maskLayers() : style.backgroundLayers();2807 bool isClip = propertyID == CSSPropertyBackgroundClip || propertyID == CSSPropertyWebkitBackgroundClip || propertyID == CSSProperty WebkitMaskClip;2807 case CSSPropertyMaskOrigin: { 2808 auto& layers = (propertyID == CSSPropertyMaskClip || propertyID == CSSPropertyWebkitMaskClip || propertyID == CSSPropertyMaskOrigin) ? style.maskLayers() : style.backgroundLayers(); 2809 bool isClip = propertyID == CSSPropertyBackgroundClip || propertyID == CSSPropertyWebkitBackgroundClip || propertyID == CSSPropertyMaskClip || propertyID == CSSPropertyWebkitMaskClip; 2808 2810 if (!layers.next()) 2809 2811 return cssValuePool.createValue(isClip ? layers.clip() : layers.origin()); … … 2814 2816 } 2815 2817 case CSSPropertyBackgroundPosition: 2816 case CSSPropertyWebkitMaskPosition: { 2817 auto& layers = propertyID == CSSPropertyWebkitMaskPosition ? style.maskLayers() : style.backgroundLayers(); 2818 case CSSPropertyWebkitMaskPosition: 2819 case CSSPropertyMaskPosition: { 2820 auto& layers = propertyID == CSSPropertyBackgroundPosition ? style.backgroundLayers() : style.maskLayers(); 2818 2821 if (!layers.next()) 2819 2822 return createPositionListForLayer(propertyID, layers, style); … … 3898 3901 case CSSPropertyBackground: 3899 3902 return getBackgroundShorthandValue(); 3903 case CSSPropertyMask: 3904 return getMaskShorthandValue(); 3900 3905 case CSSPropertyBorder: { 3901 3906 auto value = propertyValue(CSSPropertyBorderTop, DoNotUpdateLayout); … … 4174 4179 case CSSPropertyWebkitMarqueeSpeed: 4175 4180 case CSSPropertyWebkitMask: 4176 case CSSProperty WebkitMaskRepeatX:4177 case CSSProperty WebkitMaskRepeatY:4181 case CSSPropertyMaskRepeatX: 4182 case CSSPropertyMaskRepeatY: 4178 4183 case CSSPropertyPerspectiveOriginX: 4179 4184 case CSSPropertyPerspectiveOriginY: … … 4186 4191 case CSSPropertyBufferedRendering: 4187 4192 case CSSPropertyClipRule: 4188 case CSSPropertyMask:4189 4193 case CSSPropertyFloodColor: 4190 4194 case CSSPropertyFloodOpacity: … … 4520 4524 } 4521 4525 4526 Ref<CSSValueList> ComputedStyleExtractor::getMaskShorthandValue() 4527 { 4528 static const CSSPropertyID propertiesBeforeSlashSeperator[2] = { CSSPropertyMaskImage, CSSPropertyMaskPosition }; 4529 static const CSSPropertyID propertiesAfterSlashSeperator[6] = { CSSPropertyMaskSize, CSSPropertyMaskRepeat, CSSPropertyMaskOrigin, CSSPropertyMaskClip, CSSPropertyMaskComposite, CSSPropertyMaskMode }; 4530 4531 return getFillLayerPropertyShorthandValue(CSSPropertyMask, StylePropertyShorthand(CSSPropertyMask, propertiesBeforeSlashSeperator), StylePropertyShorthand(CSSPropertyMask, propertiesAfterSlashSeperator), CSSPropertyInvalid); 4532 } 4533 4522 4534 } // namespace WebCore -
trunk/Source/WebCore/css/CSSComputedStyleDeclaration.h
r286200 r286795 101 101 Ref<CSSValueList> getFillLayerPropertyShorthandValue(CSSPropertyID, const StylePropertyShorthand& propertiesBeforeSlashSeparator, const StylePropertyShorthand& propertiesAfterSlashSeparator, CSSPropertyID lastLayerProperty); 102 102 Ref<CSSValueList> getBackgroundShorthandValue(); 103 Ref<CSSValueList> getMaskShorthandValue(); 103 104 Ref<CSSValueList> getCSSPropertyValuesForGridShorthand(const StylePropertyShorthand&); 104 105 -
trunk/Source/WebCore/css/CSSImageValue.cpp
r286061 r286795 39 39 { 40 40 return a.specifiedURLString == b.specifiedURLString && a.resolvedURL == b.resolvedURL; 41 } 42 43 // https://drafts.csswg.org/css-values/#url-local-url-flag 44 bool ResolvedURL::isLocalURL() const 45 { 46 return specifiedURLString.startsWith("#"); 41 47 } 42 48 … … 90 96 // Re-resolving the URL is important for cases where resolvedURL is still not an absolute URL. 91 97 // This can happen if there was no absolute base URL when the value was created, like a style from a document without a base URL. 98 if (m_location.isLocalURL()) 99 return document.completeURL(m_location.specifiedURLString, URL()); 100 92 101 return document.completeURL(m_location.resolvedURL.string()); 93 102 } -
trunk/Source/WebCore/css/CSSImageValue.h
r284857 r286795 42 42 String specifiedURLString; 43 43 URL resolvedURL; 44 bool isLocalURL() const; 44 45 }; 45 46 … … 55 56 CachedImage* cachedImage() const { return m_cachedImage ? m_cachedImage.value().get() : nullptr; } 56 57 58 // Take care when using this, and read https://drafts.csswg.org/css-values/#relative-urls 57 59 const URL& imageURL() const { return m_location.resolvedURL; } 60 61 URL reresolvedURL(const Document&) const; 58 62 59 63 String customCSSText() const; … … 75 79 explicit CSSImageValue(CachedImage&); 76 80 77 URL reresolvedURL(const Document&) const;78 79 81 ResolvedURL m_location; 80 82 std::optional<CachedResourceHandle<CachedImage>> m_cachedImage; -
trunk/Source/WebCore/css/CSSPrimitiveValue.h
r286458 r286795 133 133 134 134 template<typename T> static Ref<CSSPrimitiveValue> create(T&&); 135 template<typename T> static Ref<CSSPrimitiveValue> create(T&&, CSSPropertyID); 135 136 136 137 ~CSSPrimitiveValue(); … … 226 227 227 228 template<typename T> CSSPrimitiveValue(T); // Defined in CSSPrimitiveValueMappings.h 229 template<typename T> CSSPrimitiveValue(T, CSSPropertyID); // Defined in CSSPrimitiveValueMappings.h 228 230 template<typename T> CSSPrimitiveValue(RefPtr<T>&&); 229 231 template<typename T> CSSPrimitiveValue(Ref<T>&&); … … 331 333 } 332 334 335 template<typename T> inline Ref<CSSPrimitiveValue> CSSPrimitiveValue::create(T&& value, CSSPropertyID propertyID) 336 { 337 return adoptRef(*new CSSPrimitiveValue(std::forward<T>(value), propertyID)); 338 } 339 333 340 template<typename T, CSSPrimitiveValue::TimeUnit timeUnit> inline T CSSPrimitiveValue::computeTime() const 334 341 { -
trunk/Source/WebCore/css/CSSPrimitiveValueMappings.h
r286461 r286795 327 327 } 328 328 329 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(CompositeOperator e) 330 : CSSValue(PrimitiveClass) 331 { 332 setPrimitiveUnitType(CSSUnitType::CSS_VALUE_ID); 329 template<> inline CSSPrimitiveValue::CSSPrimitiveValue(CompositeOperator e, CSSPropertyID propertyID) 330 : CSSValue(PrimitiveClass) 331 { 332 setPrimitiveUnitType(CSSUnitType::CSS_VALUE_ID); 333 if (propertyID == CSSPropertyMaskComposite) { 334 switch (e) { 335 case CompositeOperator::SourceOver: 336 m_value.valueID = CSSValueAdd; 337 break; 338 case CompositeOperator::SourceIn: 339 m_value.valueID = CSSValueIntersect; 340 break; 341 case CompositeOperator::SourceOut: 342 m_value.valueID = CSSValueSubtract; 343 break; 344 case CompositeOperator::XOR: 345 m_value.valueID = CSSValueExclude; 346 break; 347 default: 348 ASSERT_NOT_REACHED(); 349 break; 350 } 351 return; 352 } 333 353 switch (e) { 334 354 case CompositeOperator::Clear: … … 387 407 return CompositeOperator::Copy; 388 408 case CSSValueSourceOver: 409 case CSSValueAdd: 389 410 return CompositeOperator::SourceOver; 390 411 case CSSValueSourceIn: 412 case CSSValueIntersect: 391 413 return CompositeOperator::SourceIn; 392 414 case CSSValueSourceOut: 415 case CSSValueSubtract: 393 416 return CompositeOperator::SourceOut; 394 417 case CSSValueSourceAtop: … … 403 426 return CompositeOperator::DestinationAtop; 404 427 case CSSValueXor: 428 case CSSValueExclude: 405 429 return CompositeOperator::XOR; 406 430 case CSSValuePlusDarker: … … 729 753 case FillBox::Text: 730 754 m_value.valueID = CSSValueText; 755 break; 756 case FillBox::NoClip: 757 m_value.valueID = CSSValueNoClip; 731 758 break; 732 759 } … … 750 777 case CSSValueWebkitText: 751 778 return FillBox::Text; 779 case CSSValueNoClip: 780 return FillBox::NoClip; 752 781 default: 753 782 break; -
trunk/Source/WebCore/css/CSSProperties.json
r286461 r286795 3343 3343 "mask": { 3344 3344 "codegen-properties": { 3345 "name-for-methods": "MaskerResource", 3346 "converter": "SVGURIReference", 3347 "svg": true 3348 }, 3349 "specification": { 3350 "category": "svg", 3351 "url": "https://www.w3.org/TR/SVG/masking.html#MaskProperty" 3345 "longhands": [ 3346 "mask-image", 3347 "-webkit-mask-position-x", 3348 "-webkit-mask-position-y", 3349 "mask-size", 3350 "mask-repeat-x", 3351 "mask-repeat-y", 3352 "mask-origin", 3353 "mask-clip", 3354 "mask-composite", 3355 "mask-mode" 3356 ] 3357 }, 3358 "specification": { 3359 "category": "css-masking", 3360 "url": "https://www.w3.org/TR/css-masking-1/#propdef-mask" 3361 } 3362 }, 3363 "mask-clip": { 3364 "codegen-properties": { 3365 "name-for-methods": "Clip", 3366 "fill-layer-property": true 3367 }, 3368 "specification": { 3369 "category": "css-masking", 3370 "url": "https://www.w3.org/TR/css-masking-1/#propdef-mask-clip" 3371 } 3372 }, 3373 "mask-composite": { 3374 "codegen-properties": { 3375 "name-for-methods": "Composite", 3376 "fill-layer-property": true 3377 }, 3378 "specification": { 3379 "category": "css-masking", 3380 "url": "https://www.w3.org/TR/css-masking-1/#propdef-mask-composite" 3381 } 3382 }, 3383 "mask-image": { 3384 "codegen-properties": { 3385 "aliases": [ 3386 "-webkit-mask-image" 3387 ], 3388 "name-for-methods": "Image", 3389 "fill-layer-property": true 3390 }, 3391 "specification": { 3392 "category": "css-masking", 3393 "url": "https://www.w3.org/TR/css-masking-1/#propdef-mask-image" 3394 } 3395 }, 3396 "mask-mode": { 3397 "codegen-properties": { 3398 "name-for-methods": "MaskMode", 3399 "fill-layer-property": true 3400 }, 3401 "specification": { 3402 "category": "css-masking", 3403 "url": "https://www.w3.org/TR/css-masking-1/#propdef-mask-mode" 3404 } 3405 }, 3406 "mask-origin": { 3407 "codegen-properties": { 3408 "aliases": [ 3409 "-webkit-mask-origin" 3410 ], 3411 "name-for-methods": "Origin", 3412 "fill-layer-property": true 3413 }, 3414 "specification": { 3415 "category": "css-masking", 3416 "url": "https://www.w3.org/TR/css-masking-1/#propdef-mask-origin" 3417 } 3418 }, 3419 "mask-position": { 3420 "codegen-properties": { 3421 "longhands": [ 3422 "-webkit-mask-position-x", 3423 "-webkit-mask-position-y" 3424 ] 3425 }, 3426 "specification": { 3427 "category": "css-masking", 3428 "url": "https://www.w3.org/TR/css-masking-1/#propdef-mask-position" 3429 } 3430 }, 3431 "-webkit-mask-position": { 3432 "codegen-properties": { 3433 "longhands": [ 3434 "-webkit-mask-position-x", 3435 "-webkit-mask-position-y" 3436 ] 3437 }, 3438 "status": { 3439 "status": "experimental" 3440 }, 3441 "specification": { 3442 "category": "css-masking", 3443 "url": "https://www.w3.org/TR/css-masking-1/#propdef-mask-position" 3444 } 3445 }, 3446 "-webkit-mask-position-x": { 3447 "codegen-properties": { 3448 "name-for-methods": "XPosition", 3449 "fill-layer-property": true 3450 }, 3451 "status": { 3452 "status": "experimental", 3453 "comment": "The unprefixed property should be internal-only" 3454 }, 3455 "specification": { 3456 "category": "css-masking", 3457 "url": "https://www.w3.org/TR/css-masking-1/#propdef-mask-position" 3458 } 3459 }, 3460 "-webkit-mask-position-y": { 3461 "codegen-properties": { 3462 "aliases":[ 3463 "-webkit-mask-position-y" 3464 ], 3465 "name-for-methods": "YPosition", 3466 "fill-layer-property": true 3467 }, 3468 "status": { 3469 "status": "experimental", 3470 "comment": "The unprefixed property should be internal-only" 3471 }, 3472 "specification": { 3473 "category": "css-masking", 3474 "url": "https://www.w3.org/TR/css-masking-1/#propdef-mask-position" 3475 } 3476 }, 3477 "mask-repeat": { 3478 "codegen-properties": { 3479 "aliases":[ 3480 "-webkit-mask-repeat" 3481 ], 3482 "longhands": [ 3483 "mask-repeat-x", 3484 "mask-repeat-y" 3485 ] 3486 }, 3487 "specification": { 3488 "category": "css-masking", 3489 "url": "https://www.w3.org/TR/css-masking-1/#propdef-mask-repeat" 3490 } 3491 }, 3492 "mask-repeat-x": { 3493 "codegen-properties": { 3494 "name-for-methods": "RepeatX", 3495 "fill-layer-property": true, 3496 "internal-only": true 3497 } 3498 }, 3499 "mask-repeat-y": { 3500 "codegen-properties": { 3501 "name-for-methods": "RepeatY", 3502 "fill-layer-property": true, 3503 "internal-only": true 3504 } 3505 }, 3506 "mask-size": { 3507 "codegen-properties": { 3508 "aliases":[ 3509 "-webkit-mask-size" 3510 ], 3511 "name-for-methods": "Size", 3512 "fill-layer-property": true 3513 }, 3514 "specification": { 3515 "category": "css-masking", 3516 "url": "https://www.w3.org/TR/css-masking-1/#propdef-mask-size" 3352 3517 } 3353 3518 }, … … 6278 6443 "codegen-properties": { 6279 6444 "longhands": [ 6280 " -webkit-mask-image",6445 "mask-image", 6281 6446 "-webkit-mask-source-type", 6282 6447 "-webkit-mask-position-x", 6283 6448 "-webkit-mask-position-y", 6284 " -webkit-mask-size",6285 " -webkit-mask-repeat-x",6286 " -webkit-mask-repeat-y",6287 " -webkit-mask-origin",6449 "mask-size", 6450 "mask-repeat-x", 6451 "mask-repeat-y", 6452 "mask-origin", 6288 6453 "-webkit-mask-clip" 6289 ] 6454 ], 6455 "comment": "Differs from the unprefixed property in accepting -webkit-mask-source-type in place of mask-mode" 6456 }, 6457 "specification": { 6458 "category": "css-masking", 6459 "url": "https://www.w3.org/TR/css-masking-1/#propdef-mask" 6460 } 6461 }, 6462 "-webkit-mask-box-image": { 6463 "codegen-properties": { 6464 "initial": "initialNinePieceImage", 6465 "converter": "BorderMask<CSSPropertyWebkitMaskBoxImage>" 6466 }, 6467 "status": "non-standard", 6468 "specification": { 6469 "category": "css-masking" 6470 } 6471 }, 6472 "-webkit-mask-box-image-outset": { 6473 "codegen-properties": { 6474 "custom": "All" 6475 }, 6476 "status": "non-standard", 6477 "specification": { 6478 "category": "css-masking" 6479 } 6480 }, 6481 "-webkit-mask-box-image-repeat": { 6482 "codegen-properties": { 6483 "custom": "All" 6484 }, 6485 "status": "non-standard", 6486 "specification": { 6487 "category": "css-masking" 6488 } 6489 }, 6490 "-webkit-mask-box-image-slice": { 6491 "codegen-properties": { 6492 "custom": "All" 6493 }, 6494 "status": "non-standard", 6495 "specification": { 6496 "category": "css-masking" 6497 } 6498 }, 6499 "-webkit-mask-box-image-source": { 6500 "codegen-properties": { 6501 "converter": "StyleImage<CSSPropertyWebkitMaskBoxImageSource>" 6502 }, 6503 "status": "non-standard", 6504 "specification": { 6505 "category": "css-masking" 6506 } 6507 }, 6508 "-webkit-mask-box-image-width": { 6509 "codegen-properties": { 6510 "custom": "All" 6511 }, 6512 "status": "non-standard", 6513 "specification": { 6514 "category": "css-masking" 6515 } 6516 }, 6517 "-webkit-mask-clip": { 6518 "codegen-properties": { 6519 "name-for-methods": "Clip", 6520 "fill-layer-property": true 6290 6521 }, 6291 6522 "status": { … … 6294 6525 "specification": { 6295 6526 "category": "css-masking", 6296 "url": "https://www.w3.org/TR/css-masking-1/#propdef-mask" 6297 } 6298 }, 6299 "-webkit-mask-box-image": { 6300 "codegen-properties": { 6301 "initial": "initialNinePieceImage", 6302 "converter": "BorderMask<CSSPropertyWebkitMaskBoxImage>" 6303 }, 6304 "status": "non-standard" 6305 , 6306 "specification": { 6307 "category": "css-masking" 6308 } 6309 }, 6310 "-webkit-mask-box-image-outset": { 6311 "codegen-properties": { 6312 "custom": "All" 6313 }, 6314 "status": "non-standard" 6315 , 6316 "specification": { 6317 "category": "css-masking" 6318 } 6319 }, 6320 "-webkit-mask-box-image-repeat": { 6321 "codegen-properties": { 6322 "custom": "All" 6323 }, 6324 "status": "non-standard" 6325 , 6326 "specification": { 6327 "category": "css-masking" 6328 } 6329 }, 6330 "-webkit-mask-box-image-slice": { 6331 "codegen-properties": { 6332 "custom": "All" 6333 }, 6334 "status": "non-standard" 6335 , 6336 "specification": { 6337 "category": "css-masking" 6338 } 6339 }, 6340 "-webkit-mask-box-image-source": { 6341 "codegen-properties": { 6342 "converter": "StyleImage<CSSPropertyWebkitMaskBoxImageSource>" 6343 }, 6344 "status": "non-standard" 6345 , 6346 "specification": { 6347 "category": "css-masking" 6348 } 6349 }, 6350 "-webkit-mask-box-image-width": { 6351 "codegen-properties": { 6352 "custom": "All" 6353 }, 6354 "status": "non-standard" 6355 , 6356 "specification": { 6357 "category": "css-masking" 6358 } 6359 }, 6360 "-webkit-mask-clip": { 6361 "codegen-properties": { 6362 "name-for-methods": "Clip", 6527 "url": "https://www.w3.org/TR/css-masking-1/#propdef-mask-clip" 6528 } 6529 }, 6530 "-webkit-mask-composite": { 6531 "codegen-properties": { 6532 "name-for-methods": "Composite", 6363 6533 "fill-layer-property": true 6364 6534 }, … … 6368 6538 "specification": { 6369 6539 "category": "css-masking", 6370 "url": "https://www.w3.org/TR/css-masking-1/#propdef-mask-clip"6371 }6372 },6373 "-webkit-mask-composite": {6374 "codegen-properties": {6375 "name-for-methods": "Composite",6376 "fill-layer-property": true6377 },6378 "status": {6379 "status": "experimental"6380 },6381 "specification": {6382 "category": "css-masking",6383 6540 "url": "https://www.w3.org/TR/css-masking-1/#propdef-mask-composite" 6384 6541 } 6385 6542 }, 6386 "-webkit-mask-image": {6387 "codegen-properties": {6388 "name-for-methods": "Image",6389 "fill-layer-property": true6390 },6391 "status": {6392 "status": "experimental"6393 },6394 "specification": {6395 "category": "css-masking",6396 "url": "https://www.w3.org/TR/css-masking-1/#propdef-mask-image"6397 }6398 },6399 "-webkit-mask-mode": {6400 "codegen-properties": {6401 "name-for-methods": "MaskMode",6402 "fill-layer-property": true6403 },6404 "specification": {6405 "category": "css-masking",6406 "url": "https://www.w3.org/TR/css-masking-1/#propdef-mask-mode"6407 }6408 },6409 "-webkit-mask-origin": {6410 "codegen-properties": {6411 "name-for-methods": "Origin",6412 "fill-layer-property": true6413 },6414 "status": {6415 "status": "experimental"6416 },6417 "specification": {6418 "category": "css-masking",6419 "url": "https://www.w3.org/TR/css-masking-1/#propdef-mask-origin"6420 }6421 },6422 "-webkit-mask-position": {6423 "codegen-properties": {6424 "longhands": [6425 "-webkit-mask-position-x",6426 "-webkit-mask-position-y"6427 ]6428 },6429 "status": {6430 "status": "experimental"6431 },6432 "specification": {6433 "category": "css-masking",6434 "url": "https://www.w3.org/TR/css-masking-1/#propdef-mask-position"6435 }6436 },6437 "-webkit-mask-position-x": {6438 "codegen-properties": {6439 "name-for-methods": "XPosition",6440 "fill-layer-property": true6441 },6442 "status": {6443 "status": "experimental"6444 },6445 "specification": {6446 "category": "css-masking",6447 "url": "https://www.w3.org/TR/css-masking-1/#propdef-mask-position"6448 }6449 },6450 "-webkit-mask-position-y": {6451 "codegen-properties": {6452 "name-for-methods": "YPosition",6453 "fill-layer-property": true6454 },6455 "status": {6456 "status": "experimental"6457 },6458 "specification": {6459 "category": "css-masking",6460 "url": "https://www.w3.org/TR/css-masking-1/#propdef-mask-position"6461 }6462 },6463 "-webkit-mask-repeat": {6464 "codegen-properties": {6465 "longhands": [6466 "-webkit-mask-repeat-x",6467 "-webkit-mask-repeat-y"6468 ]6469 },6470 "status": {6471 "status": "experimental"6472 },6473 "specification": {6474 "category": "css-masking",6475 "url": "https://www.w3.org/TR/css-masking-1/#propdef-mask-repeat"6476 }6477 },6478 "-webkit-mask-repeat-x": {6479 "codegen-properties": {6480 "name-for-methods": "RepeatX",6481 "fill-layer-property": true,6482 "internal-only": true6483 }6484 },6485 "-webkit-mask-repeat-y": {6486 "codegen-properties": {6487 "name-for-methods": "RepeatY",6488 "fill-layer-property": true,6489 "internal-only": true6490 }6491 },6492 "-webkit-mask-size": {6493 "codegen-properties": {6494 "name-for-methods": "Size",6495 "fill-layer-property": true6496 },6497 "status": {6498 "status": "experimental"6499 },6500 "specification": {6501 "category": "css-masking",6502 "url": "https://www.w3.org/TR/css-masking-1/#propdef-mask-size"6503 }6504 },6505 6543 "-webkit-mask-source-type": { 6506 6544 "codegen-properties": { 6507 "synonym": " -webkit-mask-mode",6545 "synonym": "mask-mode", 6508 6546 "comment": "Deprecated alias for mask-mode, supports an 'auto' value, does not support 'match-source'" 6509 6547 }, 6510 "status": "non-standard" 6511 , 6548 "status": "non-standard", 6512 6549 "specification": { 6513 6550 "category": "css-masking" -
trunk/Source/WebCore/css/CSSToStyleMap.cpp
r284856 r286795 284 284 break; 285 285 case CSSValueMatchSource: 286 ASSERT(propertyID == CSSProperty WebkitMaskMode);286 ASSERT(propertyID == CSSPropertyMaskMode); 287 287 maskMode = MaskMode::MatchSource; 288 288 break; -
trunk/Source/WebCore/css/CSSValueKeywords.in
r286568 r286795 928 928 929 929 // 930 // CSS_PROP_MASK_CLIP 931 // 932 // Same as background-clip above, except with some extra values. 933 no-clip 934 935 // 936 // CSS_PROP_MASK_COMPOSITE 937 // 938 add 939 subtract 940 intersect 941 exclude 942 943 // 930 944 // Variables Implementation 931 945 // -
trunk/Source/WebCore/css/CSSValuePool.h
r285373 r286795 88 88 Ref<CSSPrimitiveValue> createCustomIdent(const String& value) { return CSSPrimitiveValue::create(value, CSSUnitType::CustomIdent); } 89 89 template<typename T> static Ref<CSSPrimitiveValue> createValue(T&& value) { return CSSPrimitiveValue::create(std::forward<T>(value)); } 90 template<typename T> static Ref<CSSPrimitiveValue> createValue(T&& value, CSSPropertyID identifier) { return CSSPrimitiveValue::create(std::forward<T>(value), identifier); } 90 91 91 92 void drain(); -
trunk/Source/WebCore/css/SVGCSSComputedStyleDeclaration.cpp
r284447 r286795 119 119 case CSSPropertyTextAnchor: 120 120 return CSSPrimitiveValue::create(svgStyle.textAnchor()); 121 case CSSPropertyMask:122 if (!svgStyle.maskerResource().isEmpty())123 return CSSPrimitiveValue::create(makeString('#', svgStyle.maskerResource()), CSSUnitType::CSS_URI);124 return CSSPrimitiveValue::createIdentifier(CSSValueNone);125 121 case CSSPropertyFloodColor: 126 122 return currentColorOrValidColor(style, svgStyle.floodColor()); -
trunk/Source/WebCore/css/StyleProperties.cpp
r286652 r286795 302 302 case CSSPropertyListStyle: 303 303 return getShorthandValue(listStyleShorthand()); 304 case CSSPropertyMaskPosition: 305 return getLayeredShorthandValue(maskPositionShorthand()); 304 306 case CSSPropertyWebkitMaskPosition: 305 307 return getLayeredShorthandValue(webkitMaskPositionShorthand()); 306 case CSSPropertyWebkitMaskRepeat: 307 return getLayeredShorthandValue(webkitMaskRepeatShorthand()); 308 case CSSPropertyMaskRepeat: 309 return getLayeredShorthandValue(maskRepeatShorthand()); 310 case CSSPropertyMask: 308 311 case CSSPropertyWebkitMask: 309 return getLayeredShorthandValue( webkitMaskShorthand());312 return getLayeredShorthandValue(shorthandForProperty(propertyID)); 310 313 case CSSPropertyWebkitTextEmphasis: 311 314 return getShorthandValue(webkitTextEmphasisShorthand()); … … 680 683 // We need to report background-repeat as it was written in the CSS. 681 684 // If the property is implicit, then it was written with only one value. Here we figure out which value that was so we can report back correctly. 682 if (value && j < size - 1 && (property == CSSPropertyBackgroundRepeatX || property == CSSProperty WebkitMaskRepeatX) && isPropertyImplicit(property)) {685 if (value && j < size - 1 && (property == CSSPropertyBackgroundRepeatX || property == CSSPropertyMaskRepeatX) && isPropertyImplicit(property)) { 683 686 // Make sure the value was not reset in the layer check just above. 684 687 auto nextProperty = shorthand.properties()[j + 1]; 685 if (nextProperty == CSSPropertyBackgroundRepeatY || nextProperty == CSSProperty WebkitMaskRepeatY) {688 if (nextProperty == CSSPropertyBackgroundRepeatY || nextProperty == CSSPropertyMaskRepeatY) { 686 689 if (auto yValue = values[j + 1]) { 687 690 if (is<CSSValueList>(*yValue)) … … 708 711 } 709 712 713 auto canOmitValue = [&]() { 714 if (shorthand.id() == CSSPropertyMask) { 715 if (property == CSSPropertyMaskClip) { 716 // If the mask-clip value is the same as the value for mask-origin (the previous value), 717 // then we can skip serializing it, as one value sets both properties. 718 ASSERT(j > 0); 719 ASSERT(shorthand.properties()[j - 1] == CSSPropertyMaskOrigin); 720 auto originValue = values[j - 1]; 721 if (is<CSSValueList>(*originValue)) 722 originValue = downcast<CSSValueList>(*originValue).itemWithoutBoundsCheck(i); 723 if (!is<CSSPrimitiveValue>(*value) || !is<CSSPrimitiveValue>(*originValue)) 724 return false; 725 726 auto maskId = downcast<CSSPrimitiveValue>(*value).valueID(); 727 auto originId = downcast<CSSPrimitiveValue>(*originValue).valueID(); 728 return maskId == originId && (!isCSSWideValueKeyword(getValueName(maskId)) || value->isImplicitInitialValue()); 729 } 730 if (property == CSSPropertyMaskOrigin) { 731 // We can skip serializing mask-origin if it's the initial value, but only if we're also going to skip serializing 732 // the mask-clip as well (otherwise the single value for mask-clip would be assumed to be setting the value for both). 733 ASSERT(j + 1 < size); 734 ASSERT(shorthand.properties()[j + 1] == CSSPropertyMaskClip); 735 auto clipValue = values[j + 1]; 736 if (is<CSSValueList>(*clipValue)) 737 clipValue = downcast<CSSValueList>(*clipValue).itemWithoutBoundsCheck(i); 738 return value->isImplicitInitialValue() && clipValue->isImplicitInitialValue(); 739 } 740 } 741 742 return value->isImplicitInitialValue(); 743 }; 744 710 745 String valueText; 711 if (value && ! value->isImplicitInitialValue()) {746 if (value && !canOmitValue()) { 712 747 if (!layerResult.isEmpty()) 713 748 layerResult.append(' '); 714 749 715 if (property == CSSPropertyBackgroundSize || property == CSSProperty WebkitMaskSize) {750 if (property == CSSPropertyBackgroundSize || property == CSSPropertyMaskSize) { 716 751 if (!foundPositionYCSSProperty) 717 752 continue; … … 725 760 useRepeatYShorthand = false; 726 761 layerResult.append(getValueName(CSSValueRepeatY)); 762 } else if (shorthand.id() == CSSPropertyMask && property == CSSPropertyMaskOrigin && value->isImplicitInitialValue()) { 763 // If we're about to write the value for mask-origin, but it's an implicit initial value that's just a placeholder 764 // for a 'real' mask-clip value, then write the actual value not 'initial'. 765 layerResult.append(getValueName(CSSValueBorderBox)); 727 766 } else { 728 767 if (useSingleWordShorthand) … … 741 780 commonValue = emptyString(); // Could use value here other than a CSS-wide value keyword or the null string. 742 781 } 782 783 if (shorthand.id() == CSSPropertyMask && layerResult.isEmpty()) 784 layerResult.append(getValueName(CSSValueNone)); 743 785 744 786 if (!layerResult.isEmpty()) … … 1375 1417 case CSSPropertyWebkitMaskPositionX: 1376 1418 case CSSPropertyWebkitMaskPositionY: 1377 case CSSPropertyWebkitMaskRepeatX: 1378 case CSSPropertyWebkitMaskRepeatY: 1379 case CSSPropertyWebkitMaskImage: 1380 case CSSPropertyWebkitMaskRepeat: 1419 case CSSPropertyMaskRepeatX: 1420 case CSSPropertyMaskRepeatY: 1421 case CSSPropertyMaskImage: 1422 case CSSPropertyMaskRepeat: 1423 case CSSPropertyMaskPosition: 1424 case CSSPropertyMaskClip: 1425 case CSSPropertyMaskOrigin: 1426 shorthandPropertyID = CSSPropertyMask; 1427 break; 1428 case CSSPropertyWebkitMaskClip: 1381 1429 case CSSPropertyWebkitMaskPosition: 1382 case CSSPropertyWebkitMaskClip: 1383 case CSSPropertyWebkitMaskOrigin: 1430 // TODO: A lot of the above properties can be both prefixed and unprefixed? 1384 1431 shorthandPropertyID = CSSPropertyWebkitMask; 1385 1432 break; -
trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp
r286220 r286795 3148 3148 } 3149 3149 3150 static RefPtr<CSSPrimitiveValue> consumeMaskClip(CSSParserTokenRange& range) 3151 { 3152 // TODO: Also handle fill-box, stroke-box and view-box. 3153 return consumeIdent<CSSValueBorderBox, CSSValuePaddingBox, CSSValueContentBox, CSSValueNoClip>(range); 3154 } 3155 3150 3156 static RefPtr<CSSPrimitiveValue> consumeBackgroundClip(CSSParserTokenRange& range) 3151 3157 { … … 3155 3161 } 3156 3162 3163 static RefPtr<CSSPrimitiveValue> consumePrefixedBackgroundComposite(CSSParserTokenRange& range) 3164 { 3165 return consumeIdentRange(range, CSSValueClear, CSSValuePlusLighter); 3166 } 3167 3157 3168 static RefPtr<CSSPrimitiveValue> consumeBackgroundComposite(CSSParserTokenRange& range) 3158 3169 { 3159 return consumeIdentRange(range, CSSValue Clear, CSSValuePlusLighter);3170 return consumeIdentRange(range, CSSValueAdd, CSSValueExclude); 3160 3171 } 3161 3172 … … 3237 3248 case CSSPropertyBackgroundOrigin: 3238 3249 return consumeBackgroundBox(range); 3250 case CSSPropertyMaskComposite: 3251 return consumeBackgroundComposite(range); 3239 3252 case CSSPropertyWebkitMaskComposite: 3240 3253 case CSSPropertyWebkitBackgroundComposite: 3241 return consume BackgroundComposite(range);3254 return consumePrefixedBackgroundComposite(range); 3242 3255 case CSSPropertyWebkitBackgroundClip: 3243 3256 case CSSPropertyWebkitBackgroundOrigin: 3244 3257 case CSSPropertyWebkitMaskClip: 3245 case CSSProperty WebkitMaskOrigin:3258 case CSSPropertyMaskOrigin: 3246 3259 return consumePrefixedBackgroundBox(property, range, context); 3260 case CSSPropertyMaskClip: 3261 return consumeMaskClip(range); 3247 3262 case CSSPropertyBackgroundImage: 3248 case CSSProperty WebkitMaskImage:3263 case CSSPropertyMaskImage: 3249 3264 return consumeImageOrNone(range, context); 3250 case CSSProperty WebkitMaskMode:3265 case CSSPropertyMaskMode: 3251 3266 return consumeWebkitMaskMode(range); 3252 3267 case CSSPropertyWebkitMaskSourceType: … … 3260 3275 case CSSPropertyBackgroundSize: 3261 3276 case CSSPropertyWebkitBackgroundSize: 3262 case CSSProperty WebkitMaskSize:3277 case CSSPropertyMaskSize: 3263 3278 return consumeBackgroundSize(property, range, context.mode); 3264 3279 case CSSPropertyBackgroundColor: … … 4436 4451 case CSSPropertyMarkerMid: 4437 4452 case CSSPropertyMarkerEnd: 4438 case CSSPropertyMask:4439 4453 return consumeNoneOrURI(m_range); 4440 4454 case CSSPropertyFlexBasis: … … 4558 4572 case CSSPropertyWebkitBackgroundComposite: 4559 4573 case CSSPropertyWebkitBackgroundSize: 4574 case CSSPropertyMaskClip: 4560 4575 case CSSPropertyWebkitMaskClip: 4576 case CSSPropertyMaskComposite: 4561 4577 case CSSPropertyWebkitMaskComposite: 4562 case CSSProperty WebkitMaskImage:4563 case CSSProperty WebkitMaskOrigin:4578 case CSSPropertyMaskImage: 4579 case CSSPropertyMaskOrigin: 4564 4580 case CSSPropertyWebkitMaskPositionX: 4565 4581 case CSSPropertyWebkitMaskPositionY: 4566 case CSSProperty WebkitMaskSize:4567 case CSSProperty WebkitMaskMode:4582 case CSSPropertyMaskSize: 4583 case CSSPropertyMaskMode: 4568 4584 case CSSPropertyWebkitMaskSourceType: 4569 4585 return consumeCommaSeparatedBackgroundComponent(property, m_range, m_context); 4570 case CSSProperty WebkitMaskRepeatX:4571 case CSSProperty WebkitMaskRepeatY:4586 case CSSPropertyMaskRepeatX: 4587 case CSSPropertyMaskRepeatY: 4572 4588 return nullptr; 4573 4589 case CSSPropertyAlignItems: … … 5557 5573 } 5558 5574 5559 static bool consumeBackgroundPosition(CSSParserTokenRange& range, const CSSParserContext& context, UnitlessQuirk unitless, RefPtr<CSSValue>& resultX, RefPtr<CSSValue>& resultY)5575 static bool consumeBackgroundPosition(CSSParserTokenRange& range, const CSSParserContext& context, CSSPropertyID property, RefPtr<CSSValue>& resultX, RefPtr<CSSValue>& resultY) 5560 5576 { 5561 5577 do { 5562 auto position = consumePositionCoordinates(range, context.mode, unitless,PositionSyntax::BackgroundPosition);5578 auto position = consumePositionCoordinates(range, context.mode, UnitlessQuirk::Allow, property == CSSPropertyMaskPosition ? PositionSyntax::Position : PositionSyntax::BackgroundPosition); 5563 5579 if (!position) 5564 5580 return false; … … 5629 5645 RefPtr<CSSValue> valueY; 5630 5646 CSSPropertyID property = shorthand.properties()[i]; 5631 if (property == CSSPropertyBackgroundRepeatX || property == CSSProperty WebkitMaskRepeatX) {5647 if (property == CSSPropertyBackgroundRepeatX || property == CSSPropertyMaskRepeatX) { 5632 5648 RefPtr<CSSPrimitiveValue> primitiveValue; 5633 5649 RefPtr<CSSPrimitiveValue> primitiveValueY; … … 5643 5659 valueY = WTFMove(position->y); 5644 5660 m_range = rangeCopy; 5645 } else if (property == CSSPropertyBackgroundSize || property == CSSProperty WebkitMaskSize) {5661 } else if (property == CSSPropertyBackgroundSize || property == CSSPropertyMaskSize) { 5646 5662 if (!consumeSlashIncludingWhitespace(m_range)) 5647 5663 continue; … … 5650 5666 return false; 5651 5667 } else if (property == CSSPropertyBackgroundPositionY || property == CSSPropertyBackgroundRepeatY 5652 || property == CSSPropertyWebkitMaskPositionY || property == CSSProperty WebkitMaskRepeatY) {5668 || property == CSSPropertyWebkitMaskPositionY || property == CSSPropertyMaskRepeatY) { 5653 5669 continue; 5654 5670 } else { … … 5656 5672 } 5657 5673 if (value) { 5658 if (property == CSSPropertyBackgroundOrigin || property == CSSProperty WebkitMaskOrigin)5674 if (property == CSSPropertyBackgroundOrigin || property == CSSPropertyMaskOrigin) 5659 5675 originValue = value; 5660 5676 parsedLonghand[i] = true; … … 5679 5695 continue; 5680 5696 } 5681 if ((property == CSSPropertyBackgroundClip || property == CSSProperty WebkitMaskClip) && !parsedLonghand[i] && originValue) {5697 if ((property == CSSPropertyBackgroundClip || property == CSSPropertyMaskClip || property == CSSPropertyWebkitMaskClip) && !parsedLonghand[i] && originValue) { 5682 5698 addBackgroundValue(longhands[i], originValue.releaseNonNull()); 5683 5699 continue; … … 6284 6300 case CSSPropertyWebkitColumnBreakInside: 6285 6301 return consumeLegacyBreakProperty(property, important); 6302 case CSSPropertyMaskPosition: 6286 6303 case CSSPropertyWebkitMaskPosition: 6287 6304 case CSSPropertyBackgroundPosition: { 6288 6305 RefPtr<CSSValue> resultX; 6289 6306 RefPtr<CSSValue> resultY; 6290 if (!consumeBackgroundPosition(m_range, m_context, UnitlessQuirk::Allow, resultX, resultY) || !m_range.atEnd())6307 if (!consumeBackgroundPosition(m_range, m_context, property, resultX, resultY) || !m_range.atEnd()) 6291 6308 return false; 6292 6309 addProperty(property == CSSPropertyBackgroundPosition ? CSSPropertyBackgroundPositionX : CSSPropertyWebkitMaskPositionX, property, resultX.releaseNonNull(), important); … … 6295 6312 } 6296 6313 case CSSPropertyBackgroundRepeat: 6297 case CSSProperty WebkitMaskRepeat: {6314 case CSSPropertyMaskRepeat: { 6298 6315 RefPtr<CSSValue> resultX; 6299 6316 RefPtr<CSSValue> resultY; … … 6301 6318 if (!consumeRepeatStyle(m_range, resultX, resultY, implicit) || !m_range.atEnd()) 6302 6319 return false; 6303 addProperty(property == CSSPropertyBackgroundRepeat ? CSSPropertyBackgroundRepeatX : CSSProperty WebkitMaskRepeatX, property, resultX.releaseNonNull(), important, implicit);6304 addProperty(property == CSSPropertyBackgroundRepeat ? CSSPropertyBackgroundRepeatY : CSSProperty WebkitMaskRepeatY, property, resultY.releaseNonNull(), important, implicit);6320 addProperty(property == CSSPropertyBackgroundRepeat ? CSSPropertyBackgroundRepeatX : CSSPropertyMaskRepeatX, property, resultX.releaseNonNull(), important, implicit); 6321 addProperty(property == CSSPropertyBackgroundRepeat ? CSSPropertyBackgroundRepeatY : CSSPropertyMaskRepeatY, property, resultY.releaseNonNull(), important, implicit); 6305 6322 return true; 6306 6323 } 6307 6324 case CSSPropertyBackground: 6308 6325 return consumeBackgroundShorthand(backgroundShorthand(), important); 6326 case CSSPropertyMask: 6309 6327 case CSSPropertyWebkitMask: 6310 return consumeBackgroundShorthand( webkitMaskShorthand(), important);6328 return consumeBackgroundShorthand(shorthandForProperty(property), important); 6311 6329 case CSSPropertyTransformOrigin: 6312 6330 return consumeTransformOrigin(important); -
trunk/Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp
r286568 r286795 2824 2824 if (!value2) 2825 2825 return positionFromOneValue(*value1); 2826 2826 2827 2827 auto value3 = consumePositionComponent(range, parserMode, unitless); 2828 2828 if (!value3) 2829 2829 return positionFromTwoValues(*value1, *value2); 2830 2830 2831 2831 auto value4 = consumePositionComponent(range, parserMode, unitless); 2832 2832 -
trunk/Source/WebCore/display/css/DisplayBoxDecorationPainter.cpp
r284437 r286795 1214 1214 return box.absoluteContentBoxRect(); 1215 1215 case FillBox::Text: 1216 case FillBox::NoClip: 1216 1217 break; 1217 1218 } … … 1228 1229 } 1229 1230 case FillBox::Text: 1231 case FillBox::NoClip: 1230 1232 break; 1231 1233 } -
trunk/Source/WebCore/rendering/style/FillLayer.cpp
r282143 r286795 322 322 if (clipA == FillBox::Content || clipB == FillBox::Content) 323 323 return FillBox::Content; 324 return FillBox:: Text;324 return FillBox::NoClip; 325 325 } 326 326 … … 330 330 for (auto* layer = this; layer; layer = layer->m_next.get()) 331 331 layers.append(layer); 332 FillBox computedClipMax = FillBox:: Text;332 FillBox computedClipMax = FillBox::NoClip; 333 333 for (unsigned i = layers.size(); i; --i) { 334 334 auto& layer = *layers[i - 1]; -
trunk/Source/WebCore/rendering/style/FillLayer.h
r282143 r286795 193 193 194 194 unsigned m_attachment : 2; // FillAttachment 195 unsigned m_clip : 2; // FillBox195 unsigned m_clip : 3; // FillBox 196 196 unsigned m_origin : 2; // FillBox 197 197 unsigned m_repeatX : 3; // FillRepeat -
trunk/Source/WebCore/rendering/style/RenderStyle.cpp
r286591 r286795 1013 1013 #endif 1014 1014 1015 // FIXME: In SVG this needs to trigger a layout. 1015 1016 if (first.mask != second.mask || first.maskBoxImage != second.maskBoxImage) 1016 1017 return true; -
trunk/Source/WebCore/rendering/style/RenderStyle.h
r286591 r286795 695 695 void setPageScaleTransform(float); 696 696 697 bool hasPositionedMask() const { return m_rareNonInheritedData->mask->hasImage(); } 697 698 bool hasMask() const { return m_rareNonInheritedData->mask->hasImage() || m_rareNonInheritedData->maskBoxImage.hasImage(); } 698 699 -
trunk/Source/WebCore/rendering/style/RenderStyleConstants.cpp
r285904 r286795 499 499 case FillBox::Content: ts << "content"; break; 500 500 case FillBox::Text: ts << "text"; break; 501 case FillBox::NoClip: ts << "no-clip"; break; 501 502 } 502 503 return ts; -
trunk/Source/WebCore/rendering/style/RenderStyleConstants.h
r285904 r286795 333 333 Padding, 334 334 Content, 335 Text 335 Text, 336 NoClip 336 337 }; 337 338 -
trunk/Source/WebCore/rendering/style/SVGRenderStyle.cpp
r284447 r286795 59 59 , m_miscData(defaultSVGStyle().m_miscData) 60 60 , m_layoutData(defaultSVGStyle().m_layoutData) 61 , m_nonInheritedResourceData(defaultSVGStyle().m_nonInheritedResourceData)62 61 { 63 62 setBitDefaults(); … … 72 71 , m_miscData(StyleMiscData::create()) 73 72 , m_layoutData(StyleLayoutData::create()) 74 , m_nonInheritedResourceData(StyleResourceData::create())75 73 { 76 74 setBitDefaults(); … … 88 86 , m_miscData(other.m_miscData) 89 87 , m_layoutData(other.m_layoutData) 90 , m_nonInheritedResourceData(other.m_nonInheritedResourceData)91 88 { 92 89 } … … 108 105 && m_layoutData == other.m_layoutData 109 106 && m_inheritedResourceData == other.m_inheritedResourceData 110 && m_nonInheritedResourceData == other.m_nonInheritedResourceData111 107 && m_inheritedFlags == other.m_inheritedFlags 112 108 && m_nonInheritedFlags == other.m_nonInheritedFlags; … … 138 134 m_miscData = other.m_miscData; 139 135 m_layoutData = other.m_layoutData; 140 m_nonInheritedResourceData = other.m_nonInheritedResourceData;141 136 } 142 137 … … 147 142 // If kerning changes, we need a relayout, to force SVGCharacterData to be recalculated in the SVGRootInlineBox. 148 143 if (m_textData != other.m_textData) 149 return StyleDifference::Layout;150 151 // If resources change, we need a relayout, as the presence of resources influences the repaint rect.152 if (m_nonInheritedResourceData != other.m_nonInheritedResourceData)153 144 return StyleDifference::Layout; 154 145 -
trunk/Source/WebCore/rendering/style/SVGRenderStyle.h
r284447 r286795 78 78 static Color initialFloodColor() { return Color::black; } 79 79 static Color initialLightingColor() { return Color::white; } 80 static String initialMaskerResource() { return String(); }81 80 static String initialMarkerStartResource() { return String(); } 82 81 static String initialMarkerMidResource() { return String(); } … … 122 121 void setLightingColor(const Color&); 123 122 void setBaselineShiftValue(const SVGLengthValue&); 124 125 // Setters for non-inherited resources126 void setMaskerResource(const String&);127 123 128 124 // Setters for inherited resources … … 169 165 const Length& x() const { return m_layoutData->x; } 170 166 const Length& y() const { return m_layoutData->y; } 171 const String& maskerResource() const { return m_nonInheritedResourceData->masker; }172 167 const String& markerStartResource() const { return m_inheritedResourceData->markerStart; } 173 168 const String& markerMidResource() const { return m_inheritedResourceData->markerMid; } … … 183 178 184 179 // convenience 185 bool hasMasker() const { return !maskerResource().isEmpty(); }186 180 bool hasMarkers() const { return !markerStartResource().isEmpty() || !markerMidResource().isEmpty() || !markerEndResource().isEmpty(); } 187 181 bool hasStroke() const { return strokePaintType() != SVGPaintType::None; } 188 182 bool hasFill() const { return fillPaintType() != SVGPaintType::None; } 189 bool isolatesBlending() const { return hasMasker(); }190 183 191 184 private: … … 244 237 DataRef<StyleMiscData> m_miscData; 245 238 DataRef<StyleLayoutData> m_layoutData; 246 DataRef<StyleResourceData> m_nonInheritedResourceData;247 239 }; 248 240 … … 395 387 } 396 388 397 inline void SVGRenderStyle::setMaskerResource(const String& resource)398 {399 if (!(m_nonInheritedResourceData->masker == resource))400 m_nonInheritedResourceData.access().masker = resource;401 }402 403 389 inline void SVGRenderStyle::setMarkerStartResource(const String& resource) 404 390 { -
trunk/Source/WebCore/rendering/style/SVGRenderStyleDefs.cpp
r253987 r286795 217 217 { 218 218 return arePointingToEqualData(shadow, other.shadow); 219 }220 221 StyleResourceData::StyleResourceData()222 : masker(SVGRenderStyle::initialMaskerResource())223 {224 }225 226 inline StyleResourceData::StyleResourceData(const StyleResourceData& other)227 : RefCounted<StyleResourceData>()228 , masker(other.masker)229 {230 }231 232 Ref<StyleResourceData> StyleResourceData::copy() const233 {234 return adoptRef(*new StyleResourceData(*this));235 }236 237 bool StyleResourceData::operator==(const StyleResourceData& other) const238 {239 return masker == other.masker;240 219 } 241 220 … … 506 485 } 507 486 508 TextStream& operator<<(TextStream& ts, const StyleResourceData& data)509 {510 ts.dumpProperty("masker", data.masker);511 return ts;512 }513 514 487 TextStream& operator<<(TextStream& ts, const StyleInheritedResourceData& data) 515 488 { -
trunk/Source/WebCore/rendering/style/SVGRenderStyleDefs.h
r253987 r286795 275 275 StyleShadowSVGData(); 276 276 StyleShadowSVGData(const StyleShadowSVGData&); 277 };278 279 // Non-inherited resources280 class StyleResourceData : public RefCounted<StyleResourceData> {281 public:282 static Ref<StyleResourceData> create() { return adoptRef(*new StyleResourceData); }283 Ref<StyleResourceData> copy() const;284 285 bool operator==(const StyleResourceData&) const;286 bool operator!=(const StyleResourceData& other) const287 {288 return !(*this == other);289 }290 291 String masker;292 293 private:294 StyleResourceData();295 StyleResourceData(const StyleResourceData&);296 277 }; 297 278 … … 362 343 WTF::TextStream& operator<<(WTF::TextStream&, const StyleMiscData&); 363 344 WTF::TextStream& operator<<(WTF::TextStream&, const StyleShadowSVGData&); 364 WTF::TextStream& operator<<(WTF::TextStream&, const StyleResourceData&);365 345 WTF::TextStream& operator<<(WTF::TextStream&, const StyleInheritedResourceData&); 366 346 WTF::TextStream& operator<<(WTF::TextStream&, const StyleLayoutData&); -
trunk/Source/WebCore/rendering/style/StyleCachedImage.cpp
r279906 r286795 65 65 } 66 66 67 URL StyleCachedImage::imageURL() 67 URL StyleCachedImage::imageURL() const 68 68 { 69 69 return m_cssValue->imageURL(); 70 } 71 72 URL StyleCachedImage::reresolvedURL(const Document& document) const 73 { 74 return m_cssValue->reresolvedURL(document); 70 75 } 71 76 -
trunk/Source/WebCore/rendering/style/StyleCachedImage.h
r279906 r286795 68 68 bool usesDataProtocol() const final; 69 69 70 URL reresolvedURL(const Document&) const; 71 70 72 private: 71 73 StyleCachedImage(CSSImageValue&, float); 72 URL imageURL(); 74 75 URL imageURL() const; 73 76 74 77 Ref<CSSImageValue> m_cssValue; -
trunk/Source/WebCore/rendering/style/WillChangeData.cpp
r277580 r286795 99 99 case CSSPropertyClipPath: 100 100 case CSSPropertyMask: 101 case CSSPropertyWebkitMask: 101 102 case CSSPropertyOpacity: 102 103 case CSSPropertyPosition: … … 111 112 case CSSPropertyWebkitBackdropFilter: 112 113 #endif 113 case CSSPropertyWebkitMask: 114 case CSSPropertyWebkitMaskImage: 114 case CSSPropertyMaskImage: 115 115 case CSSPropertyWebkitMaskBoxImage: 116 116 #if ENABLE(OVERFLOW_SCROLLING_TOUCH) -
trunk/Source/WebCore/rendering/svg/SVGRenderSupport.cpp
r286542 r286795 510 510 bool SVGRenderSupport::isolatesBlending(const RenderStyle& style) 511 511 { 512 return style. svgStyle().isolatesBlending() || style.hasFilter() || style.hasBlendMode() || style.opacity() < 1.0f;512 return style.hasPositionedMask() || style.hasFilter() || style.hasBlendMode() || style.opacity() < 1.0f; 513 513 } 514 514 … … 522 522 if (!style || !isolatesBlending(*style)) 523 523 continue; 524 if (style-> svgStyle().hasMasker())524 if (style->hasPositionedMask()) 525 525 ancestor.setShouldIsolateBlending(renderer.style().hasBlendMode()); 526 526 return; -
trunk/Source/WebCore/rendering/svg/SVGRenderTreeAsText.cpp
r286589 r286795 61 61 #include "SVGRootInlineBox.h" 62 62 #include "SVGStopElement.h" 63 #include "StyleCachedImage.h" 63 64 64 65 #include <math.h> … … 557 558 { 558 559 const RenderStyle& style = renderer.style(); 559 const SVGRenderStyle& svgStyle = style.svgStyle();560 560 561 561 // FIXME: We want to use SVGResourcesCache to determine which resources are present, instead of quering the resource <-> id cache. 562 562 // For now leave the DRT output as is, but later on we should change this so cycles are properly ignored in the DRT output. 563 if (!svgStyle.maskerResource().isEmpty()) { 564 if (RenderSVGResourceMasker* masker = getRenderSVGResourceById<RenderSVGResourceMasker>(renderer.document(), svgStyle.maskerResource())) { 565 ts << indent << " "; 566 writeNameAndQuotedValue(ts, "masker", svgStyle.maskerResource()); 567 ts << " "; 568 writeStandardPrefix(ts, *masker, behavior, WriteIndentOrNot::No); 569 ts << " " << masker->resourceBoundingBox(renderer) << "\n"; 563 if (style.hasPositionedMask()) { 564 auto* maskImage = style.maskImage(); 565 if (is<StyleCachedImage>(maskImage)) { 566 auto resourceID = SVGURIReference::fragmentIdentifierFromIRIString(downcast<StyleCachedImage>(*maskImage).reresolvedURL(renderer.document()).string(), renderer.document()); 567 if (auto* masker = getRenderSVGResourceById<RenderSVGResourceMasker>(renderer.document(), resourceID)) { 568 ts << indent << " "; 569 writeNameAndQuotedValue(ts, "masker", resourceID); 570 ts << " "; 571 writeStandardPrefix(ts, *masker, behavior, WriteIndentOrNot::No); 572 ts << " " << masker->resourceBoundingBox(renderer) << "\n"; 573 } 570 574 } 571 575 } -
trunk/Source/WebCore/rendering/svg/SVGRenderingContext.cpp
r286542 r286795 93 93 auto& style = m_renderer->style(); 94 94 95 const SVGRenderStyle& svgStyle = style.svgStyle();96 97 95 // Setup transparency layers before setting up SVG resources! 98 96 bool isRenderingMask = isRenderingMaskImage(*m_renderer); … … 104 102 105 103 #if ENABLE(CSS_COMPOSITING) 106 if (s vgStyle.hasMasker() && is<SVGGraphicsElement>(downcast<SVGElement>(*renderer.element()))) {104 if (style.hasPositionedMask() && is<SVGGraphicsElement>(downcast<SVGElement>(*renderer.element()))) { 107 105 SVGGraphicsElement& graphicsElement = downcast<SVGGraphicsElement>(*renderer.element()); 108 106 isolateMaskForBlending = graphicsElement.shouldIsolateBlending(); -
trunk/Source/WebCore/rendering/svg/SVGResources.cpp
r286392 r286795 36 36 #include "SVGRenderStyle.h" 37 37 #include "SVGURIReference.h" 38 #include "StyleCachedImage.h" 38 39 #include <wtf/RobinHoodHashSet.h> 39 40 … … 246 247 } 247 248 248 if (svgStyle.hasMasker()) { 249 AtomString id(svgStyle.maskerResource()); 250 if (setMasker(getRenderSVGResourceById<RenderSVGResourceMasker>(document, id))) 251 foundResources = true; 252 else 253 registerPendingResource(extensions, id, element); 249 if (style.hasPositionedMask()) { 250 // FIXME: We should support all the values in the CSS mask property, but for now just use the first mask-image if it's a reference. 251 auto* maskImage = style.maskImage(); 252 if (is<StyleCachedImage>(maskImage)) { 253 auto resourceID = SVGURIReference::fragmentIdentifierFromIRIString(downcast<StyleCachedImage>(*maskImage).reresolvedURL(document).string(), document); 254 if (setMasker(getRenderSVGResourceById<RenderSVGResourceMasker>(document, resourceID))) 255 foundResources = true; 256 else 257 registerPendingResource(extensions, resourceID, element); 258 } 254 259 } 255 260 }
Note: See TracChangeset
for help on using the changeset viewer.