<style> @keyframes animate-marker { from { color: red; opacity: 1; } 50% { color: green; opacity: 0; } to { color: blue; opacity: 1; } } ::marker { animation: animate-marker 2s infinite; } </style> <li>Hello</li> --- In the testcase, the marker disappears completely. Per spec, opacity should not apply at all, so the marker should be visible. But even if we did allow applying opacity, the opacity should animate properly. regression of the `Styleable::fromRenderer` changes in bug 230008 for ::marker
<rdar://problem/84383279>
This is the spec that says opacity should not apply on ::marker: https://www.w3.org/TR/css-lists-3/#marker-properties
Created attachment 441718 [details] Patch
Comment on attachment 441718 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=441718&action=review > Source/WebCore/style/PropertyAllowlist.cpp:41 > +// https://www.w3.org/TR/css-pseudo-4/#marker-pseudo (Editor's Draft, 25 July 2017) > +// FIXME: this is outdated, see https://bugs.webkit.org/show_bug.cgi?id=218791. > +bool isValidMarkerStyleProperty(CSSPropertyID id) It sounded from spec reading in slack that this allow list is a wrong approach. All properties should be visible in the computed style and the rendering code should be ignoring whatever is disallowed. This refactoring ends up being bit useless if we just delete all code here soon but I suppose it doesn't hurt.
Created attachment 441737 [details] Patch for landing
Committed r284466 (243226@main): <https://commits.webkit.org/243226@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 441737 [details].
The test is flakey: bug 232040.
The testcase shows an opacity animation triggering paints on the ::marker, which seems wrong.