summaryrefslogtreecommitdiffstats
path: root/layout/reftests/svg/smil/style/anim-css-fillopacity-3-clamp-small.svg
diff options
context:
space:
mode:
Diffstat (limited to 'layout/reftests/svg/smil/style/anim-css-fillopacity-3-clamp-small.svg')
-rw-r--r--layout/reftests/svg/smil/style/anim-css-fillopacity-3-clamp-small.svg27
1 files changed, 27 insertions, 0 deletions
diff --git a/layout/reftests/svg/smil/style/anim-css-fillopacity-3-clamp-small.svg b/layout/reftests/svg/smil/style/anim-css-fillopacity-3-clamp-small.svg
new file mode 100644
index 000000000..d7ff87e20
--- /dev/null
+++ b/layout/reftests/svg/smil/style/anim-css-fillopacity-3-clamp-small.svg
@@ -0,0 +1,27 @@
+<!--
+ This testcase checks that we don't clamp negative opacity values to their
+ valid range [0,1] until *after* we've done animation & interpolation.
+ If we clamped intermediate results too early (e.g. after parsing, during
+ interpolation, or right after we add the first animation's interpolated
+ value), we'd end up with the wrong intermediate opacity values here.
+ -->
+<svg xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ class="reftest-wait"
+ onload="go()">
+ <style>
+ rect { fill: blue; stroke: black; }
+ </style>
+ <script xlink:href="../smil-grid.js" type="text/javascript"/>
+ <script xlink:href="../smil-util.js" type="text/javascript"/>
+ <script>
+ function go() {
+ var animAttrHashA = { "attributeName" : "fill-opacity",
+ "from" : "-0.4",
+ "by" : "0.6" };
+ var animAttrHashB = { "attributeName" : "fill-opacity",
+ "by" : "0.4" };
+ testAnimatedRectGrid("animate", [animAttrHashA, animAttrHashB]);
+ }
+ </script>
+</svg>