ladybird/Libraries
Aliaksandr Kalenik d1fbb7b51e LibWeb: Invalidate less elements affected by CSS custom properties
Before this change, whenever element's attributes changed, we would add
a flag to "pending invalidation", indicating that all descendants whose
style uses CSS custom properties needed to be recomputed. This resulted
in severe overinvalidation, because we would run invalidation regardless
of whether any custom property on affected element actually changed.

This change takes another approach, and now we decide whether
descendant's style needs to be recomputed based on whether ancestor's
style recomputation results in a change of custom properties, though
this approach adds a little overhead to style computation as now we have
to compare old vs new hashmap of custom properties.

This brings substantial improvement on discord and x.com where, before
this change, advantage of using invalidation sets was lost and we had
to recompute all descendants, because almost all of them use custom
properties.
2025-07-30 11:06:05 +02:00
..
LibCompress CMake: Rename serenity_* helper functions/macros to ladybird_* 2025-07-03 23:19:41 +02:00
LibCore LibCore: Unmark timer interval being dirty after applying new interval 2025-07-26 10:09:12 -04:00
LibCrypto LibCrypto: Allow moving SignedBigInteger / UnsignedBigInteger 2025-07-21 15:17:53 +02:00
LibDevTools CMake: Rename serenity_* helper functions/macros to ladybird_* 2025-07-03 23:19:41 +02:00
LibDiff CMake: Rename serenity_* helper functions/macros to ladybird_* 2025-07-03 23:19:41 +02:00
LibDNS CMake: Rename serenity_* helper functions/macros to ladybird_* 2025-07-03 23:19:41 +02:00
LibFileSystem CMake: Rename serenity_* helper functions/macros to ladybird_* 2025-07-03 23:19:41 +02:00
LibGC CMake: Rename serenity_* helper functions/macros to ladybird_* 2025-07-03 23:19:41 +02:00
LibGfx LibGfx: Implement a UTF-16 Color stringifier 2025-07-28 12:25:11 +02:00
LibHTTP CMake: Rename serenity_* helper functions/macros to ladybird_* 2025-07-03 23:19:41 +02:00
LibIDL LibIDL+LibWeb: Support UTF-16 USVString 2025-07-26 00:40:06 +02:00
LibImageDecoderClient CMake: Rename serenity_* helper functions/macros to ladybird_* 2025-07-03 23:19:41 +02:00
LibIPC LibIPC: Add some type aliases and MessageBuffer helpers 2025-07-18 10:09:02 -04:00
LibJS LibWeb: Don't capture proxy as root in ProxyConstructor::revocable 2025-07-30 08:43:53 +02:00
LibLine LibLine: Correctly handle consumed code points in Editor 2025-07-22 18:49:14 +02:00
LibMain Everywhere: Rename serenity_main to ladybird_main 2025-07-08 09:17:16 -04:00
LibMedia LibGfx+LibMedia+LibWeb: Use new Matrix subscript operator 2025-07-28 09:15:23 +02:00
LibRegex LibRegex: Account for opcode size when calculating incoming jump edges 2025-07-28 17:06:58 +02:00
LibRequests CMake: Rename serenity_* helper functions/macros to ladybird_* 2025-07-03 23:19:41 +02:00
LibSyntax CMake: Rename serenity_* helper functions/macros to ladybird_* 2025-07-03 23:19:41 +02:00
LibTest Tests: Fix calculation of elapsed time in tests 2025-07-12 14:05:32 +02:00
LibTextCodec LibTextCodec: Replace unmatched utf16 surrogates 2025-07-05 09:58:57 -04:00
LibThreading CMake: Rename serenity_* helper functions/macros to ladybird_* 2025-07-03 23:19:41 +02:00
LibTLS CMake: Rename serenity_* helper functions/macros to ladybird_* 2025-07-03 23:19:41 +02:00
LibUnicode AK+LibUnicode: Implement Unicode-aware UTF-16 case transformations 2025-07-25 18:16:22 +02:00
LibURL LibURL: Convert to scalar string before URL parsing 2025-07-07 06:50:57 -04:00
LibWasm LibWasm: Return canonical NaN for min/max/floor/ceil/truncate operations 2025-07-27 15:35:28 +02:00
LibWeb LibWeb: Invalidate less elements affected by CSS custom properties 2025-07-30 11:06:05 +02:00
LibWebSocket RequestServer+LibWebSocket: Drain underlying socket and resulting frames 2025-07-22 13:55:45 +02:00
LibWebView LibWebView+WebContent: Make it possible to change the painting interval 2025-07-26 10:09:12 -04:00
LibXML LibXML: Add parser hooks for CDATASection and ProcessingInstructions 2025-07-19 14:56:20 +02:00
CMakeLists.txt Everywhere: Remove LibRIFF 2025-07-02 12:01:12 +01:00