mirror of
https://github.com/LadybirdBrowser/ladybird
synced 2026-04-27 18:17:22 +02:00
Effects (opacity, blend mode, filters) must be applied in the parent's coordinate space, before the element's transform. Previously this was handled by manually switching to the parent's visual context when applying effects at paint time. By adding EffectsData to AccumulatedVisualContext and positioning it before TransformData in the chain, effects are now naturally applied in the correct order during display list replay, eliminating the special case in StackingContext::paint(). For SVG filters that can generate content from empty elements (feFlood, feImage, feTurbulence), a transparent FillRect command is emitted to trigger the filter through the same AVC pipeline.
4.6 KiB
4.6 KiB