ladybird/Libraries/LibWeb
Andreas Kling f45bf0e770 LibWeb: Bucket ancestor-filtered rules by ancestor hash
Add a late rule-cache bucket for selectors that do not expose a
current-element bucket but do expose ancestor-filter metadata. These
rules previously stayed in the global other bucket and relied on the
ancestor filter after broad enumeration.

Visit the new buckets only when the current ancestor bloom filter may
contain the bucket hash. Keep pseudo-class invalidation caches opted
out because those caches answer targeted invalidation questions rather
than normal style collection.

On the GitHub profile, other-bucket candidates fell from about 5.50k
to about 1.07k per 1k rule collection calls.
2026-06-19 09:36:53 +02:00
..
Animations LibWeb: Skip repaint for visual context-only style changes 2026-06-18 00:12:42 +02:00
ARIA Meta: Enable exit-time destructor warnings for libraries 2026-06-04 19:20:49 +02:00
Bindings Meta: Enable exit-time destructor warnings for libraries 2026-06-04 19:20:49 +02:00
Clipboard LibWeb: Unify WebIDL C++ type generation 2026-05-23 18:26:12 +02:00
Compositor LibWeb+Compositor+WebContent: Simplify nested context composition 2026-06-18 07:08:34 +02:00
Compression LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
ContentBlocker/Rust LibWeb: Route content blocker Rust allocations through mimalloc 2026-06-03 06:48:08 -04:00
ContentSecurityPolicy Meta: Enable exit-time destructor warnings for libraries 2026-06-04 19:20:49 +02:00
CookieStore LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
CredentialManagement LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
Crypto LibJS: Isolate ArrayBuffer backing stores 2026-06-10 14:50:10 +02:00
CSS LibWeb: Bucket ancestor-filtered rules by ancestor hash 2026-06-19 09:36:53 +02:00
DOM LibWeb: Avoid unnecessary pseudo-element style recomputation 2026-06-18 19:50:34 +02:00
DOMURL LibWeb: Unify WebIDL C++ type generation 2026-05-23 18:26:12 +02:00
Editing LibWeb/Editing: Include all effectively contained nodes in traversal 2026-06-16 12:35:49 +02:00
Encoding LibWeb/Bindings: Generate buffer typedefs as variants 2026-05-30 11:22:08 +02:00
EncryptedMediaExtensions LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
EntriesAPI LibWeb/Bindings: Emit one bindings header and cpp per IDL 2026-04-21 07:36:13 +02:00
EventTiming LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
Fetch LibWeb/Fetch: Implement CORS-preflight cache 2026-06-06 13:48:43 +02:00
FileAPI Meta: Enable exit-time destructor warnings for libraries 2026-06-04 19:20:49 +02:00
Fullscreen LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
Gamepad Meta: Enable exit-time destructor warnings for libraries 2026-06-04 19:20:49 +02:00
Geolocation LibWeb: Support Geolocation permission 2026-05-11 21:01:01 +02:00
Geometry LibWeb: Remove various case of unneeded use of GC::Root 2026-05-29 17:21:17 +02:00
GPC
HighResolutionTime LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
HTML LibGfx+LibWeb+Compositor+WebContent: Commit 2D canvas flushes atomically 2026-06-19 00:01:26 +02:00
IndexedDB Meta: Enable exit-time destructor warnings for libraries 2026-06-04 19:20:49 +02:00
Infra
Internals LibWeb: Transfer animation ownership to AnimatedBitmapDecodedImageData 2026-06-18 10:44:25 +02:00
IntersectionObserver LibWeb: Keep pinch zoom out of client rects 2026-06-16 02:03:59 +02:00
Layout LibWeb: Support anchor() in calc() trees 2026-06-18 17:36:56 +01:00
Loader Meta: Enable exit-time destructor warnings for libraries 2026-06-04 19:20:49 +02:00
MathML Meta: Enable exit-time destructor warnings for libraries 2026-06-04 19:20:49 +02:00
MediaCapabilitiesAPI LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
MediaCapture Meta: Enable exit-time destructor warnings for libraries 2026-06-04 19:20:49 +02:00
MediaSourceExtensions LibJS: Isolate ArrayBuffer backing stores 2026-06-10 14:50:10 +02:00
MimeSniff
MixedContent LibWeb: Reduce recompilation impact of DOM/Document.h 2026-02-11 20:02:28 +01:00
NavigationTiming Meta: Enable exit-time destructor warnings for libraries 2026-06-04 19:20:49 +02:00
NotificationsAPI LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
Page LibWeb: Preserve parsed user style sheets 2026-06-18 13:27:39 +02:00
Painting LibGfx+LibWeb: Preserve text color for selections 2026-06-18 22:43:26 +02:00
PerformanceTimeline Meta: Enable exit-time destructor warnings for libraries 2026-06-04 19:20:49 +02:00
PermissionsAPI Meta: Enable exit-time destructor warnings for libraries 2026-06-04 19:20:49 +02:00
PermissionsPolicy Meta: Enable exit-time destructor warnings for libraries 2026-06-04 19:20:49 +02:00
Platform LibWeb: Keep active platform timers alive during GC 2026-05-10 10:58:11 +02:00
ReferrerPolicy
RequestIdleCallback LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
ResizeObserver LibGC: Default-construct RootVector from the global heap 2026-05-20 20:37:55 +02:00
ResourceTiming LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
Rust Rust: Set import granularity to Item 2026-05-28 06:52:18 +02:00
SecureContexts LibURL+LibWeb+LibWebView: Move internal URLs to their own header 2026-06-10 20:27:36 +02:00
Selection LibWeb: Avoid cross-root Selection extend comparisons 2026-06-08 01:04:08 +02:00
Serial LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
ServiceWorker Meta: Enable exit-time destructor warnings for libraries 2026-06-04 19:20:49 +02:00
Speech LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
SRI
StorageAPI LibWeb: Implement legacy-clone of session storage shed on window.open 2026-05-18 16:38:15 +02:00
Streams LibJS: Isolate ArrayBuffer backing stores 2026-06-10 14:50:10 +02:00
SVG LibWeb: Fix crash from SVG resource boxes outliving removed element 2026-06-18 13:35:32 +02:00
TrustedTypes Meta: Enable exit-time destructor warnings for libraries 2026-06-04 19:20:49 +02:00
UIEvents LibWeb: Use Event storage for MouseEvent relatedTarget 2026-06-18 12:40:37 +02:00
URLPattern LibURL: Implement URLPattern in Rust 2026-05-28 09:27:41 +02:00
UserTiming LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
ViewTransition LibWeb: Skip non-rendered elements before querying view transition name 2026-05-28 10:39:26 +02:00
WebAssembly LibWeb/WebAssembly: Add missing WebIDL/Types.h include 2026-06-06 19:16:52 +02:00
WebAudio LibWeb: Remove various case of unneeded use of GC::Root 2026-05-29 17:21:17 +02:00
WebDriver LibWeb: Reject canvas toDataURL()/toBlob() when not origin-clean 2026-06-18 10:52:42 +02:00
WebGL LibWeb+Compositor: Move OpenGLContext in Compositor namespace 2026-06-17 19:07:32 +02:00
WebIDL Libraries: Remove LibIDL 2026-06-08 01:11:40 +02:00
WebSockets LibWeb/Bindings: Generate buffer typedefs as variants 2026-05-30 11:22:08 +02:00
WebVTT LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
WebXR LibWeb: Unify WebIDL C++ type generation 2026-05-23 18:26:12 +02:00
Worker LibWeb+LibWebView+WebWorker: Initialize transport peer pid on Windows 2026-06-18 04:06:30 +02:00
XHR LibWeb: Use FormDataEntryValue for FormData.get() 2026-06-06 16:59:12 +02:00
XLink
XML LibGC: Default-construct RootVector from the global heap 2026-05-20 20:37:55 +02:00
XPath LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
CMakeLists.txt LibWeb: Transfer animation ownership to AnimatedBitmapDecodedImageData 2026-06-18 10:44:25 +02:00
Dump.cpp LibWebView: Keep browser history in the UI process 2026-06-14 17:38:44 +02:00
Dump.h LibWeb: Rename show_cascaded_properties flag in dump_tree() 2026-05-05 16:02:23 +02:00
Forward.h LibWeb+Compositor: Move OpenGLContext in Compositor namespace 2026-06-17 19:07:32 +02:00
GraphemeEdgeTracker.cpp LibWeb: Use the ASCII line segmenter for eligible text 2026-05-05 18:59:07 +02:00
GraphemeEdgeTracker.h LibWeb: Expose GraphemeEdgeTracker's find_line_start/find_line_end 2026-02-06 14:18:10 +00:00
idl_files.cmake LibWeb: Expose document caretPositionFromPoint 2026-05-30 13:50:48 +02:00
InvalidateDisplayList.h
Namespace.cpp Meta: Enable exit-time destructor warnings for libraries 2026-06-04 19:20:49 +02:00
Namespace.h Meta: Enable exit-time destructor warnings for libraries 2026-06-04 19:20:49 +02:00
PixelUnits.cpp LibWeb: Add session history serialization support 2026-06-14 17:38:44 +02:00
PixelUnits.h LibWeb/CSS: Retain length precision in PercentageOr<T> 2026-06-18 09:59:41 +02:00
RefCountedTreeNode.h LibWeb: Make layout nodes refcounted 2026-06-07 20:52:49 +02:00
TraversalDecision.h
TraversalOrder.h
TreeNode.h LibWeb: Make Paintable tree ref-counted 2026-05-07 15:03:44 +02:00