case CSSPropertyID::kBorderShape:
Why is this neeeded?
clip-path and background-color animations are treated differently due to being implemented via native paint worklets. border-shape is not a composited property.
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
case CSSPropertyID::kBorderShape:
Why is this neeeded?
clip-path and background-color animations are treated differently due to being implemented via native paint worklets. border-shape is not a composited property.
Sorry, I overtook a project and it was defined as such already - https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/css/css_properties.json5;l=2639;drc=53ab9a8435e0ea52281a56144f84ea023f1cd309, so I added this line here.
So you are saying I can just make it non-composited?
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
case CSSPropertyID::kBorderShape:
Daniil SakhapovWhy is this neeeded?
clip-path and background-color animations are treated differently due to being implemented via native paint worklets. border-shape is not a composited property.
Sorry, I overtook a project and it was defined as such already - https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/css/css_properties.json5;l=2639;drc=53ab9a8435e0ea52281a56144f84ea023f1cd309, so I added this line here.
So you are saying I can just make it non-composited?
This json5 suggests that it can be composited and not that it will be composited. In order to be composited, the property must run the gauntlet of tests in Animation::CheckCanStartAnimationOnCompositor. This will return a failure reason that includes the bit for unsupported CSS property. I think the json5 ruling on eligibility is based on whether a layout is required when animating the property in which case it must run on main.
If you take a look at CompositorAnimations::GetAnimationOnCompositor You'll see a large switch that creates animation curves for animations running in cc. kBorderShape is not in the list, and thus we don't know how to composite it. No action is required to force it to run on the main thread as that is the default if no able to start on the compositor.
CompositedPropertyRequiresSnapshot returns whether we need to generate a fresh set of property specific keyframes for an animation running on the compositor. Native paint worklets don't use this mechanism, which is why they return false, while all other composited properties return true. As this is not supported on the compositor it shouldn't be added to the list. If we get around to supporting on the compositor then it should use the default value of true, unless implemented as a native paint worklet.
Long winded way of saying we don't need this line. :)
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Commit-Queue | +1 |
case CSSPropertyID::kBorderShape:
Daniil SakhapovWhy is this neeeded?
clip-path and background-color animations are treated differently due to being implemented via native paint worklets. border-shape is not a composited property.
Kevin EllisSorry, I overtook a project and it was defined as such already - https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/css/css_properties.json5;l=2639;drc=53ab9a8435e0ea52281a56144f84ea023f1cd309, so I added this line here.
So you are saying I can just make it non-composited?
This json5 suggests that it can be composited and not that it will be composited. In order to be composited, the property must run the gauntlet of tests in Animation::CheckCanStartAnimationOnCompositor. This will return a failure reason that includes the bit for unsupported CSS property. I think the json5 ruling on eligibility is based on whether a layout is required when animating the property in which case it must run on main.
If you take a look at CompositorAnimations::GetAnimationOnCompositor You'll see a large switch that creates animation curves for animations running in cc. kBorderShape is not in the list, and thus we don't know how to composite it. No action is required to force it to run on the main thread as that is the default if no able to start on the compositor.
CompositedPropertyRequiresSnapshot returns whether we need to generate a fresh set of property specific keyframes for an animation running on the compositor. Native paint worklets don't use this mechanism, which is why they return false, while all other composited properties return true. As this is not supported on the compositor it shouldn't be added to the list. If we get around to supporting on the compositor then it should use the default value of true, unless implemented as a native paint worklet.
Long winded way of saying we don't need this line. :)
Thanks for the detailed explanation!
However, if I remove that line I crash around https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/animation/css/css_animations.cc;l=2693;drc=07836fac7be4e6d77355bd9c673b4be0de3a41aa when calling CompositorKeyframeValueFactory::Create. Since border-shape is not supported in Create. Now I remember, why I added that line 😊
I guess, I can set compositable to false in json?
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
case CSSPropertyID::kBorderShape:
Daniil SakhapovWhy is this neeeded?
clip-path and background-color animations are treated differently due to being implemented via native paint worklets. border-shape is not a composited property.
Kevin EllisSorry, I overtook a project and it was defined as such already - https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/css/css_properties.json5;l=2639;drc=53ab9a8435e0ea52281a56144f84ea023f1cd309, so I added this line here.
So you are saying I can just make it non-composited?
Daniil SakhapovThis json5 suggests that it can be composited and not that it will be composited. In order to be composited, the property must run the gauntlet of tests in Animation::CheckCanStartAnimationOnCompositor. This will return a failure reason that includes the bit for unsupported CSS property. I think the json5 ruling on eligibility is based on whether a layout is required when animating the property in which case it must run on main.
If you take a look at CompositorAnimations::GetAnimationOnCompositor You'll see a large switch that creates animation curves for animations running in cc. kBorderShape is not in the list, and thus we don't know how to composite it. No action is required to force it to run on the main thread as that is the default if no able to start on the compositor.
CompositedPropertyRequiresSnapshot returns whether we need to generate a fresh set of property specific keyframes for an animation running on the compositor. Native paint worklets don't use this mechanism, which is why they return false, while all other composited properties return true. As this is not supported on the compositor it shouldn't be added to the list. If we get around to supporting on the compositor then it should use the default value of true, unless implemented as a native paint worklet.
Long winded way of saying we don't need this line. :)
Thanks for the detailed explanation!
However, if I remove that line I crash around https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/animation/css/css_animations.cc;l=2693;drc=07836fac7be4e6d77355bd9c673b4be0de3a41aa when calling CompositorKeyframeValueFactory::Create. Since border-shape is not supported in Create. Now I remember, why I added that line 😊
I guess, I can set compositable to false in json?
That's odd. Before we update the json5 file, let me take a quick look to see if we have others that are not supported on the compositor yet marked as compositable. I'll get right back to you.
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
case CSSPropertyID::kBorderShape:
Daniil SakhapovWhy is this neeeded?
clip-path and background-color animations are treated differently due to being implemented via native paint worklets. border-shape is not a composited property.
Kevin EllisSorry, I overtook a project and it was defined as such already - https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/css/css_properties.json5;l=2639;drc=53ab9a8435e0ea52281a56144f84ea023f1cd309, so I added this line here.
So you are saying I can just make it non-composited?
Daniil SakhapovThis json5 suggests that it can be composited and not that it will be composited. In order to be composited, the property must run the gauntlet of tests in Animation::CheckCanStartAnimationOnCompositor. This will return a failure reason that includes the bit for unsupported CSS property. I think the json5 ruling on eligibility is based on whether a layout is required when animating the property in which case it must run on main.
If you take a look at CompositorAnimations::GetAnimationOnCompositor You'll see a large switch that creates animation curves for animations running in cc. kBorderShape is not in the list, and thus we don't know how to composite it. No action is required to force it to run on the main thread as that is the default if no able to start on the compositor.
CompositedPropertyRequiresSnapshot returns whether we need to generate a fresh set of property specific keyframes for an animation running on the compositor. Native paint worklets don't use this mechanism, which is why they return false, while all other composited properties return true. As this is not supported on the compositor it shouldn't be added to the list. If we get around to supporting on the compositor then it should use the default value of true, unless implemented as a native paint worklet.
Long winded way of saying we don't need this line. :)
Kevin EllisThanks for the detailed explanation!
However, if I remove that line I crash around https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/animation/css/css_animations.cc;l=2693;drc=07836fac7be4e6d77355bd9c673b4be0de3a41aa when calling CompositorKeyframeValueFactory::Create. Since border-shape is not supported in Create. Now I remember, why I added that line 😊
I guess, I can set compositable to false in json?
That's odd. Before we update the json5 file, let me take a quick look to see if we have others that are not supported on the compositor yet marked as compositable. I'll get right back to you.
border-shape is the only outlier. Updating the json5 file sounds like the right call.
case CSSPropertyID::kBorderShape:
Daniil SakhapovWhy is this neeeded?
clip-path and background-color animations are treated differently due to being implemented via native paint worklets. border-shape is not a composited property.
Kevin EllisSorry, I overtook a project and it was defined as such already - https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/css/css_properties.json5;l=2639;drc=53ab9a8435e0ea52281a56144f84ea023f1cd309, so I added this line here.
So you are saying I can just make it non-composited?
Daniil SakhapovThis json5 suggests that it can be composited and not that it will be composited. In order to be composited, the property must run the gauntlet of tests in Animation::CheckCanStartAnimationOnCompositor. This will return a failure reason that includes the bit for unsupported CSS property. I think the json5 ruling on eligibility is based on whether a layout is required when animating the property in which case it must run on main.
If you take a look at CompositorAnimations::GetAnimationOnCompositor You'll see a large switch that creates animation curves for animations running in cc. kBorderShape is not in the list, and thus we don't know how to composite it. No action is required to force it to run on the main thread as that is the default if no able to start on the compositor.
CompositedPropertyRequiresSnapshot returns whether we need to generate a fresh set of property specific keyframes for an animation running on the compositor. Native paint worklets don't use this mechanism, which is why they return false, while all other composited properties return true. As this is not supported on the compositor it shouldn't be added to the list. If we get around to supporting on the compositor then it should use the default value of true, unless implemented as a native paint worklet.
Long winded way of saying we don't need this line. :)
Kevin EllisThanks for the detailed explanation!
However, if I remove that line I crash around https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/animation/css/css_animations.cc;l=2693;drc=07836fac7be4e6d77355bd9c673b4be0de3a41aa when calling CompositorKeyframeValueFactory::Create. Since border-shape is not supported in Create. Now I remember, why I added that line 😊
I guess, I can set compositable to false in json?
Kevin EllisThat's odd. Before we update the json5 file, let me take a quick look to see if we have others that are not supported on the compositor yet marked as compositable. I'll get right back to you.
border-shape is the only outlier. Updating the json5 file sounds like the right call.
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |