Animation runs irregularly (or stops entirely) when the animated element is out of view
Categories
(Core :: CSS Transitions and Animations, defect)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox-esr102 | --- | wontfix |
| firefox111 | --- | wontfix |
| firefox112 | --- | wontfix |
| firefox113 | --- | wontfix |
| firefox114 | --- | fix-optional |
People
(Reporter: marijnh, Unassigned, NeedInfo)
References
(Regression)
Details
(Keywords: regression)
Attachments
(2 files)
When an animated element's bounding box is out of view, even if it contains elements that are positioned so that they still are in view, the animation doesn't seem to run reliably, and even stops running entirely.
Attached example page has an animated element that's pushed out of view, with a child that is in view, and shows this. The effects aren't entirely deterministic, but if you watch it blink, somewhere between 2 and 5 blinks in it loses its rhythm and often just stops.
Comment 1•3 years ago
|
||
The Bugbug bot thinks this bug should belong to the 'Core::CSS Transitions and Animations' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.
Updated•3 years ago
|
Comment 2•3 years ago
|
||
(Slightly modified test case to push the element out of viewport reliably)
Updated•3 years ago
|
Comment 3•3 years ago
|
||
I believe this is because this check (nsIFrame::IsScrolledOutOfView) checks for the frame's own ink overflow rect, but not the ink-overflow rect of out-of-flow descendants that are positioned relative to something outside of it.
Since opacity doesn't create a containing block for abspos/fixed-pos elements, but applies to fixed-pos descendants, the IsScrolledOutOfView isn't quite accurate... I expect this is not really a recent regression, and I'm not sure what the best way to deal with this in a performant way...
Comment 4•3 years ago
|
||
Regression window:
https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=1c235a552c32ba6c97e6030c497c49f72c7d48a8&tochange=9da8a5d80b984d473d8eeb30d3f3acf36ffe546f
Suspect: Bug 1471174
Updated•3 years ago
|
Comment 5•3 years ago
|
||
Set release status flags based on info from the regressing bug 1471174
:hiro, since you are the author of the regressor, bug 1471174, could you take a look?
For more information, please visit auto_nag documentation.
Updated•3 years ago
|
Updated•3 years ago
|
Comment 6•3 years ago
|
||
Reporter: out of curiosity, did you happen to encounter on a real website that you visited (or are developing)?
| Reporter | ||
Comment 7•3 years ago
|
||
Updated•3 years ago
|
Description
•