ladybird/Libraries/LibWeb
Aliaksandr Kalenik c5f2a88f69 LibWeb: Use invalidation sets to reduce style recalculation
Implements idea described in
https://docs.google.com/document/d/1vEW86DaeVs4uQzNFI5R-_xS9TcS1Cs_EUsHRSgCHGu8

Invalidation sets are used to reduce the number of elements marked for
style recalculation by collecting metadata from style rules about the
dependencies between properties that could affect an element’s style.

Currently, this optimization is only applied to style invalidation
triggered by class list mutations on an element.
2025-01-19 19:54:38 +01:00
..
Animations LibWeb: Skip keyframe animation update if target element isn't connected 2025-01-10 15:41:37 +01:00
ARIA LibWeb: Ignore role=none for focusable & has-global-ARIA-attribute cases 2025-01-09 14:08:23 +00:00
Bindings LibWeb: Remove the initialize_strings methods 2025-01-12 00:35:58 +01:00
Clipboard LibWeb: Implement the ClipboardItem API 2024-12-20 15:29:18 +00:00
Compression LibWeb: Add an 'enqueue' helper method on TransformStream 2024-12-25 12:00:54 +01:00
Cookie
Crypto LibWeb: Always return a KeyAlgorithm from RsaHashedKeyAlgorithm 2025-01-17 12:43:03 +01:00
CSS LibWeb: Use invalidation sets to reduce style recalculation 2025-01-19 19:54:38 +01:00
DOM LibWeb: Use invalidation sets to reduce style recalculation 2025-01-19 19:54:38 +01:00
DOMParsing LibWeb: Make Node::is_text() return true for CDATASection nodes 2024-11-19 19:24:37 +00:00
DOMURL LibURL+LibWeb: Make URL::basic_parse return an Optional<URL> 2025-01-11 10:08:29 -05:00
Editing LibWeb: Remove the initialize_strings methods 2025-01-12 00:35:58 +01:00
Encoding LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
EntriesAPI LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
EventTiming LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
Fetch LibWeb/Fetch: Remove FIXME for since fixed spec bug 2025-01-16 01:16:47 +00:00
FileAPI LibWeb/FileAPI: Update FIXME to point to spec bug 2025-01-07 07:04:41 +00:00
Geometry LibWeb/Geometry: Implement "other than none" keyword check 2024-12-28 07:51:11 +01:00
HighResolutionTime LibWeb: Use relevant principal settings for HighResolutionTime 2024-11-30 11:55:11 +01:00
HTML LibWeb: Update the select label when option's children are changed 2025-01-19 19:22:32 +01:00
IndexedDB LibWeb: Rename ConnectionQueue to RequestList 2025-01-14 23:46:09 +01:00
Infra LibWeb: Revert addition of VERIFY call to isomorphic-decode 2025-01-03 14:54:29 +01:00
Internals headless-browser: Let tests set their own timeout duration 2024-12-19 17:27:33 +00:00
IntersectionObserver LibWeb: Implement more IntersectionObserver attributes 2024-11-23 09:52:32 +01:00
Layout LibWeb: Implement partial layout tree updates 2025-01-18 21:01:01 +01:00
Loader Everywhere: Include HashMap only where it's actually used 2024-12-09 12:31:16 +01:00
MathML LibWeb: Remove the initialize_strings methods 2025-01-12 00:35:58 +01:00
MediaCapabilitiesAPI LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
MediaSourceExtensions LibWeb: Remove the initialize_strings methods 2025-01-12 00:35:58 +01:00
MimeSniff
MixedContent LibURL+LibWeb: Make URL::serialize return a String 2024-12-04 16:34:13 +00:00
NavigationTiming LibWeb: Remove the initialize_strings methods 2025-01-12 00:35:58 +01:00
Page UI: Prevent crash when right clicking on an unloaded image 2025-01-12 19:29:57 +00:00
Painting WebContent+LibWeb: Add an option to disable painting viewport scrollbars 2025-01-15 12:33:53 +00:00
PerformanceTimeline LibWeb: Remove the initialize_strings methods 2025-01-12 00:35:58 +01:00
PermissionsPolicy
Platform LibWeb+LibWebView: Allow to specify default font size in FontPlugin 2025-01-02 10:47:21 +01:00
ReferrerPolicy LibURL+LibWeb: Make URL::serialize return a String 2024-12-04 16:34:13 +00:00
RequestIdleCallback LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
ResizeObserver LibGC: Rename MarkedVector => RootVector 2024-12-26 19:10:44 +01:00
SecureContexts LibURL: Migrate Origin scheme from ByteString to String 2024-11-30 12:07:39 +01:00
Selection LibWeb: Add command state & value overrides to DOM::Document 2025-01-10 23:33:35 +01:00
ServiceWorker LibGC: Rename MarkedVector => RootVector 2024-12-26 19:10:44 +01:00
SRI
StorageAPI LibWeb: Correctly initialize Storage objects on the Document 2025-01-02 11:31:15 +01:00
Streams LibWeb/Streams: Ensure pending pull into's objects are visited by GC 2025-01-18 10:26:40 +01:00
SVG LibWeb: Resolve SVGImageElement source URL correctly 2025-01-19 15:02:38 +01:00
UIEvents LibWeb: Remove the initialize_strings methods 2025-01-12 00:35:58 +01:00
UserTiming LibWeb: Default initialize StructuredDeserialize memory argument 2024-11-23 16:43:55 +01:00
WebAssembly LibGC: Rename MarkedVector => RootVector 2024-12-26 19:10:44 +01:00
WebAudio LibWeb/WebAudio: Implement automation rate constraints 2025-01-19 17:24:55 +01:00
WebDriver LibWeb: Use finalize for cleaning up all navigables 2025-01-17 10:08:42 +01:00
WebGL LibWeb: Remove the initialize_strings methods 2025-01-12 00:35:58 +01:00
WebIDL LibWeb: Unload fonts when adopted style sheet is removed 2025-01-10 19:12:48 +03:00
WebSockets LibURL+LibWeb: Make URL::serialize return a String 2024-12-04 16:34:13 +00:00
WebVTT LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
Worker Everywhere: Include HashMap only where it's actually used 2024-12-09 12:31:16 +01:00
XHR LibWeb/XHR: Isomorphic decode accessing XMLHttpRequest response headers 2025-01-15 12:35:56 +00:00
XLink LibWeb: Remove the initialize_strings methods 2025-01-12 00:35:58 +01:00
XML LibWeb: Rename abbreviated variable name 2024-12-09 09:13:24 +00:00
CMakeLists.txt LibWeb: Use invalidation sets to reduce style recalculation 2025-01-19 19:54:38 +01:00
Dump.cpp LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
Dump.h LibWeb: Split StyleComputer work into two phases with separate outputs 2024-12-22 10:12:49 +01:00
Forward.h LibWeb/CSS: Merge RotationStyleValue into TransformationStyleValue 2025-01-17 10:12:39 +01:00
idl_files.cmake LibWeb: Add StereoPannerNode interface 2025-01-18 10:20:41 +01:00
InvalidateDisplayList.h
Namespace.cpp LibWeb: Remove the initialize_strings methods 2025-01-12 00:35:58 +01:00
Namespace.h LibWeb: Remove the initialize_strings methods 2025-01-12 00:35:58 +01:00
PixelUnits.cpp
PixelUnits.h
TraversalDecision.h
TraversalOrder.h
TreeNode.h LibWeb: Add TreeNode<T>::replace_child(new_child, old_child) 2025-01-18 21:01:01 +01:00