ladybird/Libraries/LibWeb
Timothy Flynn a112eb4881 LibWeb: Ensure empty contenteditable boxes contain the hit test position
There are actually a couple of bugs here:

1. As of commit ebda8fcf11, editing hosts
   are now excluded from Node::is_editable. Since this special hit test
   handling is specifically for contenteditable nodes, we would not
   enter this branch for these nodes.

2. We were not checking if the contenteditable node actually contained
   the hit testing position. So if a page had multiple empty editable
   nodes, we would just return whichever was hit test first.

These bugs were exposed by 7c9b3c08fa.
This commit resulted in the text cursor hit test node being set as the
document focus node. If we returned the wrong result, we would not set
the correct node.

This was seen on discord, where clicking the message box would result in
the search box being focused.
2026-02-21 01:02:06 +00:00
..
Animations LibWeb: Reduce recompilation from editing Enums.json 2026-02-19 11:27:06 +00:00
ARIA LibWeb: Shave 168 bytes off of ARIAMixin 2025-11-07 16:59:26 +01:00
Bindings LibWeb: Treat numeric PropertyKeys as Strings per spec in PlatformObject 2026-02-16 18:49:15 +01:00
Clipboard
Compression Everywhere: Make ByteBuffer::bytes() lvalue-only 2025-12-10 07:43:22 -05:00
ContentSecurityPolicy LibWeb/CSP: Apply strict-dynamic to inline scripts 2026-02-19 14:58:09 +01:00
CookieStore LibWeb: Reduce recompilation impact of DOM/Document.h 2026-02-11 20:02:28 +01:00
CredentialManagement LibWeb: Implement FederatedCredential ctor and corresponding AO 2026-01-08 13:10:35 +01:00
Crypto LibWeb: Use interface_name instead of serialize_type virtual 2026-02-14 20:22:40 +01:00
CSS LibWeb: Parse font-variant-alternates functions 2026-02-20 22:01:44 +00:00
DOM LibWeb: Reduce recompilation from editing CascadedProperties.h 2026-02-19 11:27:06 +00:00
DOMURL LibWeb: Give IDL exposed PlatformObjects an InterfaceName 2026-02-14 20:22:40 +01:00
Editing AK: Use AK namespace for ValueComparingRefPtr 2026-02-20 22:01:44 +00:00
Encoding
EncryptedMediaExtensions LibWeb: Reduce recompilation impact of DOM/Document.h 2026-02-11 20:02:28 +01:00
EntriesAPI
EventTiming Everywhere: Run clang-format 2026-02-18 08:02:45 -05:00
Fetch LibWeb: Make FetchController's Requests::Request reference weak 2026-02-18 13:13:32 -06:00
FileAPI LibWeb: Use interface_name instead of serialize_type virtual 2026-02-14 20:22:40 +01:00
Gamepad LibWeb: Reduce recompilation impact of DOM/Document.h 2026-02-11 20:02:28 +01:00
Geolocation
Geometry LibWeb: Use interface_name instead of serialize_type virtual 2026-02-14 20:22:40 +01:00
GPC
HighResolutionTime LibWeb: Use enum instead of bool for CanUseCrossOriginIsolatedAPIs 2026-02-13 16:47:42 +00:00
HTML LibWeb: Clarify the capture safety in HTMLMediaElement::fetch_resource 2026-02-20 12:46:17 -06:00
IndexedDB LibWeb/IndexedDB: Store Key's key-array value as Ref not Root 2026-02-17 07:40:03 -05:00
Infra LibTextCodec+LibWeb: Move isomorphic coders to LibTextCodec 2025-11-27 14:57:29 +01:00
Internals LibWeb: Add dumpPaintableTree() to Internals API 2026-02-15 17:47:30 +01:00
IntersectionObserver LibWeb: Reduce recompilation impact of DOM/Element.h 2026-02-11 20:02:28 +01:00
Layout LibWeb: Fix abspos replaced element constraint equations 2026-02-19 12:56:40 +01:00
Loader Everywhere: Abandon Swift adoption 2026-02-17 10:48:09 -05:00
MathML LibWeb: Reduce recompilation from editing CascadedProperties.h 2026-02-19 11:27:06 +00:00
MediaCapabilitiesAPI LibWeb: Extract some CORS and MIME Fetch helpers to their own files 2025-11-27 14:57:29 +01:00
MediaSourceExtensions LibWeb: Mark [Managed]MediaSource[Handle] as experimental 2026-02-17 22:17:50 +01:00
MimeSniff LibHTTP+LibWeb+RequestServer: Move Fetch's HTTP header infra to LibHTTP 2025-11-27 14:57:29 +01:00
MixedContent LibWeb: Reduce recompilation impact of DOM/Document.h 2026-02-11 20:02:28 +01:00
NavigationTiming LibWeb: Reduce recompilation impact of DOM/Document.h 2026-02-11 20:02:28 +01:00
NotificationsAPI LibWeb: Add constructor for Notification and getter methods 2026-02-13 16:47:42 +00:00
Page LibWeb: Set an ibeam cursor over editable / editing host DOM nodes 2026-02-21 01:02:06 +00:00
Painting LibWeb: Ensure empty contenteditable boxes contain the hit test position 2026-02-21 01:02:06 +00:00
PerformanceTimeline
PermissionsPolicy
Platform LibImageDecoderClient+LibWebView: Add animation session client API 2026-02-13 18:34:24 +01:00
ReferrerPolicy LibWeb: Store HTTP methods and headers as ByteString 2025-11-26 09:15:06 -05:00
RequestIdleCallback
ResizeObserver LibWeb: Reduce recompilation impact of DOM/Document.h 2026-02-11 20:02:28 +01:00
ResourceTiming
SecureContexts AK+LibURL: Use AK::IPv4/6 in Host 2025-12-31 10:24:56 +01:00
Selection LibWeb: Do not scroll cursor into view on programmatic selection changes 2026-02-17 10:24:00 +01:00
Serial
ServiceWorker LibHTTP+LibWeb: Move Infrastructure::Request::CacheMode to LibHTTP 2026-01-22 07:05:06 -05:00
Speech LibWeb: Stub SpeechSynthesis.cancel() 2026-02-10 11:58:23 +01:00
SRI
StorageAPI LibWeb: Reduce recompilation impact of DOM/Document.h 2026-02-11 20:02:28 +01:00
Streams Everywhere: Run clang-format 2026-02-18 08:02:45 -05:00
SVG LibWeb: Snapshot SVG surface into ImmutableBitmap before painting 2026-02-20 18:41:33 +01:00
TrustedTypes LibWeb: Reduce recompilation impact of DOM/Document.h 2026-02-11 20:02:28 +01:00
UIEvents LibWeb: Dispatch pointer boundary events when hovered node changes 2026-02-15 02:36:01 +00:00
URLPattern
UserTiming
ViewTransition LibWeb: Reduce recompilation from editing Enums.json 2026-02-19 11:27:06 +00:00
WebAssembly Everywhere: Remove double // on comments 2026-02-11 13:28:01 -06:00
WebAudio Everywhere: Run clang-format 2026-02-18 08:02:45 -05:00
WebDriver LibJS: Move SharedFunctionInstanceData creation out of FunctionNode 2026-02-11 23:57:41 +01:00
WebGL LibWeb: Use ExternalContentSource for canvas painting 2026-02-20 18:41:33 +01:00
WebIDL LibWeb: Use interface_name instead of serialize_type virtual 2026-02-14 20:22:40 +01:00
WebSockets LibHTTP+Everywhere: Move the cookie implementation to LibHTTP 2026-02-10 12:21:20 +01:00
WebVTT
WebXR LibWeb: Implement the very basics of XRSession 2026-02-04 15:08:37 +01:00
Worker LibHTTP+Everywhere: Move the cookie implementation to LibHTTP 2026-02-10 12:21:20 +01:00
XHR LibWeb: Give IDL exposed PlatformObjects an InterfaceName 2026-02-14 20:22:40 +01:00
XLink
XML LibWeb: Reduce recompilation impact of DOM/Document.h 2026-02-11 20:02:28 +01:00
XPath LibWeb: Reduce recompilation impact of DOM/Document.h 2026-02-11 20:02:28 +01:00
CMakeLists.txt LibWeb: Parse font-variant-alternates functions 2026-02-20 22:01:44 +00:00
Dump.cpp LibWeb: Dump all paintables attached to a layout node in dump_tree 2026-02-15 17:47:30 +01:00
Dump.h LibWeb: Make dump_sheet() indentable 2025-12-04 16:24:04 +00:00
Forward.h LibWeb: Parse font-variant-alternates functions 2026-02-20 22:01:44 +00:00
GraphemeEdgeTracker.cpp LibWeb: Apply letter-spacing for selection rects and grapheme bounds 2026-02-17 10:51:48 +01: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: Implement CSSFontFeatureValuesRule 2026-02-17 12:25:27 +00:00
InvalidateDisplayList.h
Namespace.cpp
Namespace.h
PixelUnits.cpp
PixelUnits.h LibWeb: Implement mouse auto scrolling of scrollable containers 2026-02-11 11:04:53 +01:00
TraversalDecision.h
TraversalOrder.h
TreeNode.h Everywhere: Remove double // on comments 2026-02-11 13:28:01 -06:00