CSS animations inside elements which have a CSS mask applied don't use OMTA
Categories
(Core :: Layout, defect)
Tracking
()
People
(Reporter: mstange, Unassigned)
References
Details
Attachments
(1 file)
|
558 bytes,
text/html
|
Details |
In bug 1918208 we discovered that the tab throbber animation became very expensive when a mask-image: linear-gradient rule was applied to an ancestor element of the tabs. This bug tracks making OMTA work inside masked elements.
Steps to reproduce:
- Load the attached testcase.
- Inspect the animation with the devtools.
Expected results:
There should be a lightning bolt next to the animation, indicating that the animation runs on the compositor.
Actual results:
No lightning bolt; the animation requires restyles and paints on the main thread.
I am not sure if this is caused by an outdated heuristic or if we actually use fallback rendering inside masked elements.
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Comment 1•1 year ago
|
||
I think this is probably more of a question for Hiro. Though maybe there is something WR-specific that is needed to support this?
Comment 2•1 year ago
•
|
||
No, as far as I can tell, it's unrelated to WebRender.
The code causing this bug are:
this SelfOrAncestorHasRenderingObservers call and this same function call.
As the function name stands for, I vaguely remember that the original intention is not to run animations with SVG masks on the compositor. So in this specific case we need to differentiate at least not element() cases.
Comment 3•1 year ago
|
||
Moving this out of graphics triage to Layout; hopefully that's correct.
Description
•