21ffb9f1b058d1692ec5b6ed13455368d0ebefb1
[WebKit-https.git] / LayoutTests / css3 / masking / clip-path-animation.html
1 <!DOCTYPE html>
2
3 <html>
4 <head>
5   <style>
6     .box {
7         height: 100px;
8         width: 100px;
9         margin: 10px;
10         background-color: blue;
11         display: inline-block;
12     }
13
14     #inset-box {
15       -webkit-animation: inset-anim 2s linear
16     }
17
18     #circle-box {
19       -webkit-animation: circle-anim 2s linear
20     }
21
22     #ellipse-box {
23       -webkit-animation: ellipse-anim 2s linear
24     }
25
26     #polygon-box {
27       -webkit-animation: polygon-anim 2s linear
28     }
29
30     #none-box {
31       -webkit-animation: none-anim 2s linear
32     }
33
34     @-webkit-keyframes inset-anim {
35         from { -webkit-clip-path: inset(0); }
36         to   { -webkit-clip-path: inset(20%); }
37     }
38
39     @-webkit-keyframes circle-anim {
40         from { -webkit-clip-path: circle(50% at 50% 50%); }
41         to   { -webkit-clip-path: circle(20% at 20% 20%); }
42     }
43
44     @-webkit-keyframes ellipse-anim {
45         from { -webkit-clip-path: ellipse(50% 40% at 50% 50%); }
46         to   { -webkit-clip-path: ellipse(20% 20% at 20% 20%); }
47     }
48
49     @-webkit-keyframes polygon-anim {
50         from { -webkit-clip-path: polygon(nonzero, 0% 0%, 100% 0%, 100% 100%, 0% 100%); }
51         to   { -webkit-clip-path: polygon(nonzero, 20% 20%, 80% 20%, 80% 80%, 20% 80%); }
52     }
53
54     @-webkit-keyframes none-anim {
55         /* We do not support animations from or to 'none' as specified. */
56         from { -webkit-clip-path: none; }
57         to   { -webkit-clip-path: polygon(nonzero, 20% 20%, 80% 20%, 80% 80%, 20% 80%); }
58     }
59
60   </style>
61   <script src="../../animations/resources/animation-test-helpers.js"></script>
62   <script type="text/javascript">
63     const expectedValues = [
64       // [animation-name, time, element-id, property, expected-value, tolerance]
65       ["inset-anim",  1, "inset-box", "webkitClipPath", "inset(10%)", 0.05],
66       ["circle-anim",  1, "circle-box", "webkitClipPath", "circle(35% at 35% 35%)", 0.05],
67       ["ellipse-anim",  1, "ellipse-box", "webkitClipPath", "ellipse(35% 30% at 35% 35%)", 0.05],
68       ["polygon-anim",  1, "polygon-box", "webkitClipPath", "polygon(10% 10%, 90% 10%, 90% 90%, 10% 90%)", 0.05],
69       ["none-anim",  1, "none-box", "webkitClipPath", "polygon(20% 20%, 80% 20%, 80% 80%, 20% 80%)", 0],
70     ];
71     
72     runAnimationTest(expectedValues);
73   </script>
74 </head>
75 <body>
76
77 <div class="box" id="inset-box"></div>
78 <div class="box" id="circle-box"></div>
79 <div class="box" id="ellipse-box"></div>
80 <div class="box" id="polygon-box"></div>
81 <div class="box" id="none-box"></div>
82
83 <div id="result">
84 </div>
85 </body>
86 </html>