There are two places where the code that decides whether an element with a transform animation should be pre-rendered so that its the transform animation can run on the compositor, uses `GetCrossDocParentFrame()` in a way that might become invalid with Fission: 1. [Here](https://searchfox.org/mozilla-central/rev/bf8d5de8528036c09590009720bc172882845b80/layout/painting/nsDisplayList.cpp#7903), where the code is checking for an enclosing mask or clip-path, and decides not to pre-render on that basis. It seems to me that with Fission, if an OOP iframe is inside a mask or clip-path, and an element in the iframe is animated, the code could wrongly decide to pre-render that animation. 2. [Here](https://searchfox.org/mozilla-central/rev/bf8d5de8528036c09590009720bc172882845b80/layout/painting/nsDisplayList.cpp#7846), where the code is checking for an enclosing `position: sticky` element, and decides not to do **partial pre-render** on that basis. Again, it seems like with Fission, if an OOP iframe is inside `position: sicky` content, and an element in the iframe is animated, the code could wrongly decide to partially pre-render that animation.
Bug 1714721 Comment 0 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
There are two places where the code that decides whether an element with a transform animation should be pre-rendered so that its the transform animation can run on the compositor, uses `GetCrossDocParentFrame()` in a way that might become invalid with Fission: 1. [Here](https://searchfox.org/mozilla-central/rev/bf8d5de8528036c09590009720bc172882845b80/layout/painting/nsDisplayList.cpp#7903), where the code is checking for an enclosing mask or clip-path, and decides not to pre-render on that basis. It seems to me that with Fission, if an OOP iframe is inside a mask or clip-path, and an element in the iframe is animated, the code could wrongly decide to pre-render that animation. 2. [Here](https://searchfox.org/mozilla-central/rev/bf8d5de8528036c09590009720bc172882845b80/layout/painting/nsDisplayList.cpp#7846), where the code is checking for an enclosing `position: sticky` element, and decides not to do **partial pre-render** on that basis. Again, it seems like with Fission, if an OOP iframe is inside `position: sticky` content, and an element in the iframe is animated, the code could wrongly decide to partially pre-render that animation.