haikuwebkit/ManualTests/svg-css-animate-compound.html

82 lines
1.9 KiB
HTML
Raw Permalink Normal View History

First step towards http://webkit.org/b/70025 Allow -webkit-transform to be have effect to SVG elements. Currently, the CSS transform takes precedence over the SVG transform attribute Allow SVG elements to be transformed using webkit-transform https://bugs.webkit.org/show_bug.cgi?id=71309 Patch by Raul Hudea <rhudea@adobe.com> on 2011-11-23 Reviewed by Nikolas Zimmermann. Source/WebCore: Tests: svg/clip-path/clip-path-css-transform-1.svg svg/clip-path/clip-path-css-transform-2.svg svg/custom/clip-path-with-css-transform-1.svg svg/custom/clip-path-with-css-transform-2.svg svg/custom/pointer-events-image-css-transform.svg svg/custom/pointer-events-text-css-transform.svg svg/dom/css-transforms.xhtml svg/dynamic-updates/SVG-dynamic-css-transform.html svg/dynamic-updates/SVGClipPathElement-css-transform-influences-hitTesting.html svg/transforms/svg-css-transforms-clip-path.xhtml svg/transforms/svg-css-transforms.xhtml * manual-tests/svg-animation-css-transform.html: Added. * manual-tests/svg-css-animate-compound.html: Added. * manual-tests/svg-css-transition-compound.html: Added. * rendering/svg/RenderSVGModelObject.cpp: (WebCore::RenderSVGModelObject::styleWillChange): Set the updateTransform flag on SVG elements whenever a CSS transform is present on the style * svg/SVGStyledTransformableElement.cpp: (WebCore::SVGStyledTransformableElement::animatedLocalTransform): Use the RenderStyle's transform (if it exists) over the SVG's transform * svg/SVGTextElement.cpp: (WebCore::SVGTextElement::animatedLocalTransform): Use the RenderStyle's transform (if it exists) over the SVG's transform LayoutTests: * platform/chromium/test_expectations.txt: * platform/mac/svg/clip-path/clip-path-css-transform-1-expected.png: Added. * platform/mac/svg/clip-path/clip-path-css-transform-1-expected.txt: Added. * platform/mac/svg/clip-path/clip-path-css-transform-2-expected.png: Added. * platform/mac/svg/clip-path/clip-path-css-transform-2-expected.txt: Added. * platform/mac/svg/custom/clip-path-with-css-transform-1-expected.png: Added. * platform/mac/svg/custom/clip-path-with-css-transform-1-expected.txt: Added. * platform/mac/svg/custom/clip-path-with-css-transform-2-expected.png: Added. * platform/mac/svg/custom/clip-path-with-css-transform-2-expected.txt: Added. * platform/mac/svg/custom/pointer-events-image-css-transform-expected.png: Added. * platform/mac/svg/custom/pointer-events-image-css-transform-expected.txt: Added. * platform/mac/svg/custom/pointer-events-text-css-transform-expected.png: Added. * platform/mac/svg/custom/pointer-events-text-css-transform-expected.txt: Added. * platform/mac/svg/dom/css-transforms-expected.png: Added. * platform/mac/svg/dynamic-updates/SVG-dynamic-css-transform-expected.png: Added. * platform/mac/svg/dynamic-updates/SVGClipPathElement-css-transform-influences-hitTesting-expected.png: Added. * platform/mac/svg/transforms/svg-css-transforms-clip-path-expected.png: Added. * platform/mac/svg/transforms/svg-css-transforms-clip-path-expected.txt: Added. * platform/mac/svg/transforms/svg-css-transforms-expected.png: Added. * platform/mac/svg/transforms/svg-css-transforms-expected.txt: Added. * svg/clip-path/clip-path-css-transform-1.svg: Added. * svg/clip-path/clip-path-css-transform-2.svg: Added. * svg/custom/clip-path-with-css-transform-1.svg: Added. * svg/custom/clip-path-with-css-transform-2.svg: Added. * svg/custom/pointer-events-image-css-transform.svg: Added. * svg/custom/pointer-events-text-css-transform.svg: Added. * svg/dom/css-transforms-expected.txt: Added. * svg/dom/css-transforms.xhtml: Added. * svg/dynamic-updates/SVG-dynamic-css-transform-expected.txt: Added. * svg/dynamic-updates/SVG-dynamic-css-transform.html: Added. * svg/dynamic-updates/SVGClipPathElement-css-transform-influences-hitTesting-expected.txt: Added. * svg/dynamic-updates/SVGClipPathElement-css-transform-influences-hitTesting.html: Added. * svg/dynamic-updates/script-tests/SVGClipPathElement-css-transform-influences-hitTesting.js: Added. (executeBackgroundTest): (executeTest): * svg/transforms/svg-css-transforms-clip-path.xhtml: Added. * svg/transforms/svg-css-transforms.xhtml: Added. Canonical link: https://commits.webkit.org/89545@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@101062 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2011-11-23 11:34:37 +00:00
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Animation of rotate property</title>
<style type="text/css" media="screen">
div {
-webkit-box-sizing: border-box;
}
.column {
margin: 10px;
display: inline-block;
vertical-align: top;
}
.container {
position: relative;
height: 200px;
width: 200px;
margin: 10px;
background-color: silver;
border: 1px solid black;
}
.box {
position: absolute;
top: 0;
left: 0;
height: 60px;
width: 60px;
border: 1px dotted black;
-webkit-transform-origin: top left; /* to match SVG */
}
.final {
border: 1px solid blue;
}
#target, #ref {
-webkit-animation-name: bounce;
-webkit-animation-duration: 2s;
-webkit-animation-iteration-count: infinite;
-webkit-animation-direction: alternate;
-webkit-animation-timing-function: ease-in-out;
}
@-webkit-keyframes bounce {
from {
-webkit-transform: translate(0px, 0px) scale(1) rotate(0deg);
}
to {
-webkit-transform: translate(75px, 25px) scale(2) rotate(45deg);
}
}
</style>
</head>
<body>
<h1>CSS Animation of 'webkit-transform:' property for SVG</h1>
<p>The SVG animation should be identical with the CSS one</p>
<div class="column">
<h2>SVG compound</h2>
<div class="container">
<svg xmlns="http://www.w3.org/2000/svg" version="1.1"
viewBox="0 0 200 200" style="width:200px; height:200px;">
<rect id="target" x="0" y="0" width="60" height="60" stroke="blue" fill="none">
</rect>
</svg>
</div>
<h2>CSS compound</h2>
<div class="container">
<div class="final box" id="ref">
</div>
</div>
</div>
</body>
</html>