ladybird/Libraries/LibWeb
Jelle Raaijmakers 2cc8f0821c LibWeb: Don't hit test anonymous containers if there are no fragments
We were always delegating hit tests to PaintableBox if a
PaintableWithLines has no fragments, which means that anonymous
containers could overlap with previous siblings and prioritize their
border box rect. Instead, the nearest non-anonymous ancestor should take
care of hit testing the children so the correct order is maintained.

To achieve this, we no longer do an early hit test in
PaintableWithLines::hit_test() if there are no fragments and default
to the later PaintableBox::hit_test() call that does take anonymous
containers into account.

Fixes the issue seen in #4864.
2025-07-05 23:56:42 +01:00
..
Animations LibWeb: Resolve conflicts in compute_keyframe_values correctly 2025-06-23 15:19:07 +01:00
ARIA Everywhere: Run clang-format 2025-05-14 02:01:59 -06:00
Bindings LibWeb: Move AgentType enum to its own header 2025-05-18 17:50:05 -06:00
Clipboard LibWeb: Implement navigator.clipboard.read 2025-05-02 17:46:16 -04:00
Compression LibCompress: Error out when encounters and incomplete stream 2025-06-14 18:26:56 -04:00
ContentSecurityPolicy LibWeb/CSP: Implement the img-src directive 2025-07-05 21:21:44 +12:00
Cookie Everywhere: Replace DateTime::to_string() with UnixDateTime::to_string() 2025-06-19 18:42:45 -06:00
CredentialManagement Meta: Enforce newlines around namespaces 2025-05-14 02:01:59 -06:00
Crypto LibCrypto+LibWeb: Check RSA keys validity on SubtleCrypto import_key 2025-06-25 12:21:28 +12:00
CSS LibWeb/CSS: Implement the :state(foo) pseudo-class 2025-07-04 18:10:28 +01:00
DOM LibWeb: Simplify Document::elements_from_point() 2025-07-05 23:56:42 +01:00
DOMURL LibWeb: Use infra sorting for URLSearchParam's sort() 2025-05-12 11:20:32 +02:00
Editing LibWeb: Support relative lengths in calc color values 2025-07-04 13:18:55 +01:00
Encoding AK+LibJS: Extract some UTF-16 helpers for use in an outside class 2025-07-03 09:51:56 -04:00
EncryptedMediaExtensions LibWeb: Improve Enum generation in IDLGenerator 2025-03-04 16:35:04 +00:00
EntriesAPI LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
EventTiming Meta: Enforce newlines around namespaces 2025-05-14 02:01:59 -06:00
Fetch LibWeb: Make Environment's top level origin nullable 2025-05-27 14:48:43 +12:00
FileAPI AK+Everywhere: Allow lonely UTF-16 surrogates by default 2025-07-03 09:51:56 -04:00
Geolocation LibWeb: Implement emulated Geolocation position retrieval 2025-06-24 11:33:41 +02:00
Geometry Meta: Enforce newlines around namespaces 2025-05-14 02:01:59 -06:00
HighResolutionTime LibWeb: Add the EpochTimestamp IDL typedef 2025-06-21 10:00:29 +02:00
HTML LibWeb/HTML: Avoid potential overflow of index for DOMStringList 2025-07-05 12:28:37 +01:00
IndexedDB LibWeb: Implement cleanup_indexed_database_transactions 2025-06-18 19:05:41 +12:00
Infra LibWeb: Prefer using equals_ignoring_ascii_case 2025-05-21 13:45:02 +01:00
Internals LibWeb: Restore flags to prevent formatting timestamps as local time 2025-06-25 23:41:04 +02:00
IntersectionObserver LibWeb: Convert trivial attributes to FrozenArray 2025-04-25 16:43:43 +02:00
Layout LibWeb: Simplify break loop condition in LineBuilder 2025-07-05 23:56:42 +01:00
Loader LibWeb: Restore flags to prevent formatting timestamps as local time 2025-06-25 23:41:04 +02:00
MathML LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
MediaCapabilitiesAPI LibWeb: Add missing WebIDL/Types include to MediaCapabilities.h 2025-05-09 23:14:27 -06:00
MediaSourceExtensions LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
MimeSniff LibWeb/MimeSniff: Add MP3 without ID3 sniffing 2025-06-09 07:50:26 -06:00
MixedContent AK+Everywhere: Rename verify_cast to as 2025-01-21 11:34:06 -05:00
NavigationTiming Meta: Enforce newlines around namespaces 2025-05-14 02:01:59 -06:00
Page LibWeb+WebContent+WebWorker: Move backing store allocation in Navigable 2025-07-04 16:12:47 +02:00
Painting LibWeb: Don't hit test anonymous containers if there are no fragments 2025-07-05 23:56:42 +01:00
PerformanceTimeline LibWeb: Update FIXMEs about FrozenArray with more up-to-date description 2025-04-25 16:43:43 +02:00
PermissionsPolicy LibWeb: Remove OOM handling from the AutoplayAllowlist 2025-03-30 16:18:57 +01:00
Platform LibWeb: Exit the current process when event loop quits during spin_until 2025-04-30 11:12:23 -04:00
ReferrerPolicy LibURL+LibWeb: Make URL::serialize return a String 2024-12-04 16:34:13 +00:00
RequestIdleCallback LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
ResizeObserver LibWeb: Convert trivial attributes to FrozenArray 2025-04-25 16:43:43 +02:00
ResourceTiming LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
SecureContexts Everywhere: Use URL::about_XXX factory functions 2025-02-15 17:05:55 +00:00
Selection LibWeb: Use correct previous word location when moving selection offset 2025-07-03 10:28:38 +01:00
ServiceWorker LibWeb: Stub CacheStorage::has() 2025-06-08 18:26:13 +02:00
SRI LibWeb: Fix SRI handling of badly-formatted strings 2025-05-06 13:02:58 -04:00
StorageAPI Everywhere: Implement persistence of localStorage using sqlite 2025-06-12 17:04:35 +02:00
Streams LibWeb: Don't drop messages received before MessagePort is enabled 2025-06-08 18:26:13 +02:00
SVG LibWeb+WebContent+WebWorker: Move backing store allocation in Navigable 2025-07-04 16:12:47 +02:00
TrustedTypes LibWeb: Update Document.write spec steps 2025-02-25 15:19:38 +01:00
UIEvents LibWeb: Start integrating the editing API with user keyboard input 2025-05-17 00:29:19 +02:00
URLPattern LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
UserTiming LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
WebAssembly LibCrypto: Replace {Unsigned,Signed}BigInteger impl with LibTomMath 2025-05-23 11:57:21 +02:00
WebAudio LibWeb/WebAudio: Implement AudioNode::connect() 2025-06-17 16:54:19 -06:00
WebDriver LibWeb+LibGfx: Replace BackingStore with PaintingSurface 2025-07-04 16:12:47 +02:00
WebGL LibWeb+LibGfx: Replace BackingStore with PaintingSurface 2025-07-04 16:12:47 +02:00
WebIDL LibWeb/WebIDL: Bring IDL::construct() up to date with the spec 2025-06-10 11:57:00 +02:00
WebSockets LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
WebVTT LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
Worker LibWeb+WebWorker: Create SharedWorkerGlobalScope for Shared Workers 2025-05-18 17:50:05 -06:00
XHR LibWeb: Don't expose XMLHttpRequest.responseXML in workers 2025-07-01 01:03:58 +02:00
XLink LibWeb: Remove the initialize_strings methods 2025-01-12 00:35:58 +01:00
XML LibWeb: Set readyState to complete for DOMParser documents 2025-06-25 20:49:03 +12:00
CMakeLists.txt LibWeb/CSP: Implement the img-src directive 2025-07-05 21:21:44 +12:00
Dump.cpp LibWeb: Dump PaintableBox dimensions for inline layout nodes 2025-07-03 22:16:48 +02:00
Dump.h LibWeb/CSS: Add basic implementation of CSSMarginRule 2025-05-16 11:01:39 +01:00
Forward.h LibWeb/CSP: Implement the img-src directive 2025-07-05 21:21:44 +12:00
idl_files.cmake LibWeb: Add CustomStateSet IDL type 2025-07-04 18:10:28 +01:00
InvalidateDisplayList.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
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 Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
PixelUnits.h LibWeb: Clamp layout content sizes to a max value instead of crashing 2025-02-05 18:28:55 +01:00
TraversalDecision.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
TraversalOrder.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
TreeNode.h LibWeb: Move non-DOM-related methods from DOM::Node to TreeNode 2025-06-07 16:51:00 +02:00