ladybird/Libraries/LibWeb
Andreas Kling 47cb66ef27 LibWeb: Account for shadow contexts in the cascade
Apply author declarations in encapsulation-context order before layer,
specificity, scope proximity, and source-order tie breaking. Normal
author rules now cascade from inner shadow contexts outward. This lets
outer contexts override component defaults. Important author rules
cascade the other way so inner contexts can enforce requirements.

Keep the ordering context-bucketed. The common document-only path still
collects and sorts one author context. Custom properties follow the same
context order. var() substitution now observes the same winners as
longhand properties.

Make revert-layer remove declarations only from the matching cascade
origin, context, and layer. This keeps presentational hints and values
from other shadow contexts available when one context rolls back its own
layer.

Add coverage for document and shadow-host competition, slotted rules,
nested slot contexts, inline styles, important declarations, custom
properties, and revert-layer across shadow contexts.
2026-05-31 12:51:58 +02:00
..
Animations LibWeb/Bindings: Remove GenerateAsRequired handling from IDL generator 2026-05-26 21:43:57 +02:00
ARIA
Bindings LibWeb: Report FinalizationRegistry cleanup exceptions to global 2026-05-26 01:27:55 +02:00
Clipboard LibWeb: Unify WebIDL C++ type generation 2026-05-23 18:26:12 +02:00
Compositor Compositor+LibWeb+LibWebView: Simplify compositor context IDs 2026-05-30 17:30:00 +01:00
Compression LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
ContentBlocker/Rust Rust: Set import granularity to Item 2026-05-28 06:52:18 +02:00
ContentSecurityPolicy LibGC: Default-construct RootVector from the global heap 2026-05-20 20:37:55 +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 LibWeb: Preserve CryptoKey algorithm types during serialization 2026-05-30 12:34:06 +02:00
CSS LibWeb: Account for shadow contexts in the cascade 2026-05-31 12:51:58 +02:00
DOM LibWeb: Store cached display list commands without resources 2026-05-31 00:21:25 +01:00
DOMURL LibWeb: Unify WebIDL C++ type generation 2026-05-23 18:26:12 +02:00
Editing LibGC: Default-construct ConservativeVector from the global heap 2026-05-20 20:37:55 +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/Bindings: Generate buffer typedefs as variants 2026-05-30 11:22:08 +02:00
FileAPI LibWeb/Bindings: Generate buffer typedefs as variants 2026-05-30 11:22:08 +02:00
Fullscreen LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
Gamepad LibGC: Default-construct RootVector from the global heap 2026-05-20 20:37:55 +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 LibWeb: Store cached display list commands without resources 2026-05-31 00:21:25 +01:00
IndexedDB LibWeb/Bindings: Generate buffer typedefs as variants 2026-05-30 11:22:08 +02:00
Infra
Internals LibWeb: Store cached display list commands without resources 2026-05-31 00:21:25 +01:00
IntersectionObserver LibWeb: Unify WebIDL C++ type generation 2026-05-23 18:26:12 +02:00
Layout LibWeb: Suppress assigned slot fallback layout 2026-05-31 12:29:14 +02:00
Loader LibWeb+LibHTTP: Consult HSTS preload list before dynamic-store IPC 2026-05-29 22:23:33 +02:00
MathML LibWeb: Rename HTMLOrSVGElement to HTMLOrSVGOrMathMLElement 2026-05-06 17:42:36 +01:00
MediaCapabilitiesAPI LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
MediaCapture LibWeb: Unify WebIDL C++ type generation 2026-05-23 18:26:12 +02:00
MediaSourceExtensions LibWeb/Bindings: Generate buffer typedefs as variants 2026-05-30 11:22:08 +02:00
MimeSniff
MixedContent
NavigationTiming LibWeb: Fix PerformanceTiming getters producing wrong wall clock values 2026-05-19 19:22:11 +02:00
NotificationsAPI LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
Page LibWeb: Make message drag selection more eager 2026-05-30 21:36:47 +02:00
Painting LibWeb: Use ByteBuffer for captured display list commands 2026-05-31 03:48:34 +01:00
PerformanceTimeline LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
PermissionsAPI LibWeb: Support Geolocation permission 2026-05-11 21:01:01 +02:00
PermissionsPolicy
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 LibWebView: Add bookmark import/export to about:bookmarks 2026-04-22 08:02:15 -04:00
Selection LibWeb: Avoid a crash in Selection.containsNode() with a detached range 2026-05-22 16:39:25 +02:00
Serial LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
ServiceWorker LibWeb: Remove various case of unneeded use of GC::Root 2026-05-29 17:21:17 +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 LibWeb/Bindings: Generate buffer typedefs as variants 2026-05-30 11:22:08 +02:00
SVG LibWeb: Store cached display list commands without resources 2026-05-31 00:21:25 +01:00
TrustedTypes LibWeb: Unify WebIDL C++ type generation 2026-05-23 18:26:12 +02:00
UIEvents LibWeb: Unify WebIDL C++ type generation 2026-05-23 18:26:12 +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/Bindings: Generate buffer typedefs as variants 2026-05-30 11:22:08 +02:00
WebAudio LibWeb: Remove various case of unneeded use of GC::Root 2026-05-29 17:21:17 +02:00
WebDriver LibWeb: Use retained data for hit testing 2026-05-30 13:50:48 +02:00
WebGL LibWeb/Bindings: Generate buffer typedefs as variants 2026-05-30 11:22:08 +02:00
WebIDL LibWeb/Bindings: Generate buffer typedefs as variants 2026-05-30 11:22:08 +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+LibHTTP+LibWebView: Implement HSTS 2026-05-29 22:23:33 +02:00
XHR LibWeb/Bindings: Generate buffer typedefs as variants 2026-05-30 11:22:08 +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: Expose document caretPositionFromPoint 2026-05-30 13:50:48 +02:00
Dump.cpp LibWeb: Rename use_pseudo_element 2026-05-21 14:26:22 +01:00
Dump.h LibWeb: Rename show_cascaded_properties flag in dump_tree() 2026-05-05 16:02:23 +02:00
Forward.h LibWeb: Expose document caretPositionFromPoint 2026-05-30 13:50:48 +02:00
GraphemeEdgeTracker.cpp LibWeb: Use the ASCII line segmenter for eligible text 2026-05-05 18:59:07 +02:00
GraphemeEdgeTracker.h
idl_files.cmake LibWeb: Expose document caretPositionFromPoint 2026-05-30 13:50:48 +02:00
InvalidateDisplayList.h
Namespace.cpp
Namespace.h
PixelUnits.cpp LibIPC: Support DistinctNumeric serialization 2026-05-21 11:45:06 +01:00
PixelUnits.h LibIPC: Support DistinctNumeric serialization 2026-05-21 11:45:06 +01:00
RefCountedTreeNode.h LibWeb: Use retained data for hit testing 2026-05-30 13:50:48 +02:00
TraversalDecision.h
TraversalOrder.h
TreeNode.h LibWeb: Make Paintable tree ref-counted 2026-05-07 15:03:44 +02:00