Incorrect animation of border-radius when it combined with rotation
Categories
(Core :: Web Painting, defect, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr60 | --- | unaffected |
firefox-esr68 | --- | affected |
firefox68 | --- | wontfix |
firefox69 | --- | wontfix |
firefox70 | --- | wontfix |
firefox71 | --- | wontfix |
firefox72 | --- | fix-optional |
firefox73 | --- | fix-optional |
People
(Reporter: seva, Unassigned)
References
(Regression)
Details
(Keywords: regression)
Attachments
(1 file)
505 bytes,
text/html
|
Details |
User Agent: Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.87 Safari/537.36
Steps to reproduce:
Have a "div" element with these CSS properties and animation:
@keyframes turning {
0% {
border-radius: 0 0 0 0;
transform: rotate(0deg);
}
25% {
border-radius: 50% 0 0 0;
transform: rotate(45deg);
}
50% {
border-radius: 50% 50% 0 0;
transform: rotate(90deg);
}
75% {
border-radius: 50% 50% 50% 0;
transform: rotate(135deg);
}
100% {
border-radius: 50% 50% 50% 50%;
transform: rotate(180deg);
}
}
div {
width: 120px;
height: 120px;
background-color: violet;
margin: 100px;
animation: turning 2s infinite;
}
<div></div>
Actual results:
Animation of rotation is good, but animation of border-radius is incorrect: does not work or border-radius is set static with random value.
Expected results:
Animation of border radius should be smooth and rotating square should become a circle at the end of animation cycle.
NOTE: id add some other property like "background-color:#000" to the animation (in 0%{...} part), animation will become correct. But if set this background color to one that similar to basic background (violet), animation can remain incorrect or even can become uneven.
The effect mentioned in note was found when investigated this question: Link
Updated•5 years ago
|
Comment 2•5 years ago
|
||
Regression window:
https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=7d5b25ce9e8f12276156ac98b7e46a0c71863a49&tochange=2ae5ad0cc2e26e35d3a3c0827f8ac54b8d16be83
Regressed by:
2ae5ad0cc2e26e35d3a3c0827f8ac54b8d16be83 Matt Woodrow — Bug 1539306 - Use the current producer/frame id for mask layers, since they never set the previous one. r=mstange
6c20e9cb71b28306480136d04b336a8fed486d60 Matt Woodrow — Bug 1539306 - Don't transform mask layer invalid regions by the current layer transform, since they are positioned relative to our parent. r=mstange
Matt, your patch seems to cause the regression. Can you please look into this?
Updated•5 years ago
|
Updated•5 years ago
|
Updated•5 years ago
|
Comment 3•5 years ago
|
||
P3, unassigned and no activity over the last 2 months, marking as wontfix for 71 given that we are shipping in 3 weeks.
Updated•4 years ago
|
Updated•3 years ago
|
Comment 4•2 years ago
|
||
Testcase works fine on Nightly now
Description
•