ladybird/Libraries/LibWeb/Animations
Andreas Kling b583fd3b79 LibWeb: Skip repaint for visual context-only style changes
Let style changes that only rebuild compatible accumulated visual
contexts avoid marking the display list dirty. This lets transform
and nonzero opacity updates send visual context tree updates without
recording a new display list.

Keep repainting changes that affect display-list contents or can change
visual context tree compatibility, including zero-crossing opacity,
transform invertibility crossings, background-attachment, clipping,
mix-blend-mode, and perspective. Schedule accumulated visual context
updates for animations independently of repaint so animated
transform/effect updates keep reaching the document.

Cover compatible visual context reuse, incompatible tree shapes, and the
display-list invalidation cases with focused LibWeb tests.
2026-06-18 00:12:42 +02:00
..
Animatable.cpp LibWeb: Refresh animations after inherited restyles 2026-05-25 19:18:10 +02:00
Animatable.h LibWeb: Refresh animations after inherited restyles 2026-05-25 19:18:10 +02:00
Animatable.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
Animation.cpp LibWeb: Unify WebIDL C++ type generation 2026-05-23 18:26:12 +02:00
Animation.h LibWeb/Bindings: Emit one bindings header and cpp per IDL 2026-04-21 07:36:13 +02:00
Animation.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
AnimationEffect.cpp LibWeb: Skip repaint for visual context-only style changes 2026-06-18 00:12:42 +02:00
AnimationEffect.h LibWeb: Make computed style data refcounted 2026-06-06 23:29:48 +02:00
AnimationEffect.idl LibWeb/Bindings: Remove GenerateAsRequired handling from IDL generator 2026-05-26 21:43:57 +02:00
AnimationPlaybackEvent.cpp LibWeb: Unify WebIDL C++ type generation 2026-05-23 18:26:12 +02:00
AnimationPlaybackEvent.h LibWeb: Unify WebIDL C++ type generation 2026-05-23 18:26:12 +02:00
AnimationPlaybackEvent.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
AnimationTimeline.cpp LibWeb: Dispatch events for CSS animations without timelines 2026-05-22 11:59:19 +01:00
AnimationTimeline.h LibWeb: Dispatch events for CSS animations without timelines 2026-05-22 11:59:19 +01:00
AnimationTimeline.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
DocumentTimeline.cpp LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
DocumentTimeline.h LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
DocumentTimeline.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
KeyframeEffect.cpp LibWeb: Unify WebIDL C++ type generation 2026-05-23 18:26:12 +02:00
KeyframeEffect.h LibWeb: Unify WebIDL C++ type generation 2026-05-23 18:26:12 +02:00
KeyframeEffect.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
PseudoElementParsing.cpp LibJS+LibWeb: Port interned bytecode strings to UTF-16 2025-08-14 10:27:08 +02:00
PseudoElementParsing.h LibWeb/CSS: Move and rename PseudoElement types to prep for code gen 2025-03-24 09:49:50 +00:00
ScrollTimeline.cpp LibWeb: Unify WebIDL C++ type generation 2026-05-23 18:26:12 +02:00
ScrollTimeline.h LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
ScrollTimeline.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
TimeValue.cpp LibWeb: Unify WebIDL C++ type generation 2026-05-23 18:26:12 +02:00
TimeValue.h LibWeb+IDLGenerators: Support nullable union types 2026-03-25 13:18:15 +00:00