ladybird/Libraries/LibWeb/DOM
Andreas Kling 5d9641dd11 LibWeb: Precompute hover boundary event offsets
Avoid recomputing boundary event offsets after dispatch has started.
Boundary event listeners can invalidate layout while set_hovered_node()
is still synthesizing the rest of the event batch, and transformed
targets need the document paintable's visual context tree for offset
calculation.

Compute every target-specific offset before firing the first boundary
event, while the paint tree from the platform hit-test is still intact.
Keep a defensive fallback for a missing viewport paintable when applying
transforms.

Add a UIEvents text test that opens a popover from pointerout and then
continues into a transformed target.
2026-05-20 13:14:59 +02:00
..
AbortController.cpp LibWeb/Bindings: Emit one bindings header and cpp per IDL 2026-04-21 07:36:13 +02:00
AbortController.h
AbortController.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
AbortSignal.cpp LibWeb: Account DOM state as external memory 2026-05-07 10:03:09 +02:00
AbortSignal.h LibWeb: Account DOM state as external memory 2026-05-07 10:03:09 +02:00
AbortSignal.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
AbstractElement.cpp LibWeb: Stop storing CascadedProperties on each element 2026-05-05 16:02:23 +02:00
AbstractElement.h LibWeb: Stop storing CascadedProperties on each element 2026-05-05 16:02:23 +02:00
AbstractRange.cpp LibWeb/Bindings: Emit one bindings header and cpp per IDL 2026-04-21 07:36:13 +02:00
AbstractRange.h LibWeb: Only clear command states and values if range actually changed 2025-01-24 23:53:26 +01:00
AbstractRange.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
AccessibilityTreeNode.cpp LibWeb/DOM: Set missing JSON attributes for a11y text nodes 2025-10-20 10:51:19 +01:00
AccessibilityTreeNode.h AK+LibWeb: Reduce recompilation impact of DOM/Node.h 2026-02-11 20:02:28 +01:00
AdoptedStyleSheets.cpp LibWeb: Move adopted stylesheet invalidation into a helper 2026-04-29 15:47:23 +02:00
AdoptedStyleSheets.h LibWeb: Enable EXPLICIT_SYMBOL_EXPORT 2025-08-23 16:04:36 -06:00
AnchorNameMap.cpp LibWeb: Keep track of elements with an anchor-name set 2026-04-01 19:41:46 +01:00
AnchorNameMap.h LibWeb: Keep track of elements with an anchor-name set 2026-04-01 19:41:46 +01:00
Attr.cpp LibWeb/Bindings: Emit one bindings header and cpp per IDL 2026-04-21 07:36:13 +02:00
Attr.h LibWeb: Remove unnecessary lowercase name property from Attr 2025-11-10 22:55:38 +01:00
Attr.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
CDATASection.cpp LibWeb/Bindings: Emit one bindings header and cpp per IDL 2026-04-21 07:36:13 +02:00
CDATASection.h LibWeb+LibUnicode+WebContent: Port DOM:CharacterData to UTF-16 2025-07-24 19:00:20 +02:00
CDATASection.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
CharacterData.cpp LibWeb: Apply ::first-letter pseudo-element styles 2026-05-20 12:09:19 +01:00
CharacterData.h LibWeb: Account text and image storage as external memory 2026-05-07 10:03:09 +02:00
CharacterData.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
ChildNode.h LibWeb+LibUnicode+WebContent: Port DOM:CharacterData to UTF-16 2025-07-24 19:00:20 +02:00
ChildNode.idl LibWeb: Remove some outdated #import related FIXMEs 2026-05-03 10:56:45 +02:00
Comment.cpp LibWeb/Bindings: Emit one bindings header and cpp per IDL 2026-04-21 07:36:13 +02:00
Comment.h LibWeb+LibUnicode+WebContent: Port DOM:CharacterData to UTF-16 2025-07-24 19:00:20 +02:00
Comment.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
CustomEvent.cpp LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
CustomEvent.h LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
CustomEvent.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
Document.cpp LibWeb: Precompute hover boundary event offsets 2026-05-20 13:14:59 +02:00
Document.h LibWeb: Populate platform mouse event data 2026-05-19 11:22:02 +02:00
Document.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
DocumentFragment.cpp LibWeb/Bindings: Emit one bindings header and cpp per IDL 2026-04-21 07:36:13 +02:00
DocumentFragment.h LibWeb: Enable EXPLICIT_SYMBOL_EXPORT 2025-08-23 16:04:36 -06:00
DocumentFragment.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
DocumentLoadEventDelayer.cpp LibWeb: Save weak pointer to document in DocumentLoadEventDelayer 2025-12-24 10:19:28 +01:00
DocumentLoadEventDelayer.h LibWeb: Save weak pointer to document in DocumentLoadEventDelayer 2025-12-24 10:19:28 +01:00
DocumentLoading.cpp LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
DocumentLoading.h LibWeb: Remove "signal to continue SHTQ" from document loading 2026-04-01 06:47:59 +02:00
DocumentObserver.cpp LibWeb/DOM: Support changing document to observe in DocumentObserver 2025-06-24 09:56:14 +02:00
DocumentObserver.h LibWeb: Give IDL exposed PlatformObjects an InterfaceName 2026-02-14 20:22:40 +01:00
DocumentOrShadowRoot.h LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
DocumentOrShadowRoot.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
DocumentType.cpp LibWeb/Bindings: Emit one bindings header and cpp per IDL 2026-04-21 07:36:13 +02:00
DocumentType.h Utilities: Add dump-html-tree 2026-05-17 15:35:56 +02:00
DocumentType.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
DOMEventListener.cpp
DOMEventListener.h LibWeb: Correctly implement event listeners default passive attribute 2024-12-25 14:57:22 +00:00
DOMImplementation.cpp LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
DOMImplementation.h LibWeb: Remove Document.h include from DOMParser.h, DOMImplementation.h 2026-02-08 18:51:13 +01:00
DOMImplementation.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
DOMTokenList.cpp LibWeb: Account DOM state as external memory 2026-05-07 10:03:09 +02:00
DOMTokenList.h LibWeb: Account DOM state as external memory 2026-05-07 10:03:09 +02:00
DOMTokenList.idl
EditingHostManager.cpp LibWeb: Do not scroll cursor into view on programmatic selection changes 2026-02-17 10:24:00 +01:00
EditingHostManager.h LibWeb: Send InputEvent with right .inputType on insert and delete 2026-01-29 15:08:06 +01:00
Element.cpp LibWeb: Apply ::first-letter pseudo-element styles 2026-05-20 12:09:19 +01:00
Element.h LibWeb: Refresh stale inherited custom-property data on ancestor change 2026-05-13 18:46:12 +02:00
Element.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
ElementByIdMap.cpp LibWeb: Lazify ElementByIdMap resolution and cache first element 2026-02-21 13:56:00 +01:00
ElementByIdMap.h LibWeb: Lazify ElementByIdMap resolution and cache first element 2026-02-21 13:56:00 +01:00
ElementFactory.cpp LibWeb: Implement scoped custom element registries 2026-03-27 19:49:55 +00:00
ElementFactory.h LibWeb: Implement scoped custom element registries 2026-03-27 19:49:55 +00:00
Event.cpp LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
Event.h LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
Event.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
EventDispatcher.cpp LibWeb: Skip event dispatching work if there are no relevant listeners 2026-03-10 16:57:36 +01:00
EventDispatcher.h LibWeb: Implement legacyOutputDidListenersThrowFlag 2024-11-26 14:50:27 +01:00
EventHandler.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
EventListener.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
EventTarget.cpp LibWeb: Avoid GC::Root churn in wheel listener checks 2026-05-15 17:25:10 +02:00
EventTarget.h LibWeb: Avoid GC::Root churn in wheel listener checks 2026-05-15 17:25:10 +02:00
EventTarget.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
FragmentSerializationMode.h AK+LibWeb: Reduce recompilation impact of DOM/Node.h 2026-02-11 20:02:28 +01:00
HoverEventData.h LibWeb: Populate platform mouse event data 2026-05-19 11:22:02 +02:00
HTMLCollection.cpp LibWeb: Guard HTMLCollection weak prune against freed cells 2026-05-16 10:19:08 +02:00
HTMLCollection.h LibWeb: Implement the required virtual owner_cell() on HTMLCollection 2026-05-14 13:27:56 +01:00
HTMLCollection.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
IDLEventListener.cpp
IDLEventListener.h LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
InputEventsTarget.h LibWeb: Send InputEvent with right .inputType on insert and delete 2026-01-29 15:08:06 +01:00
LiveNodeList.cpp LibGC: Rename MarkedVector => RootVector 2024-12-26 19:10:44 +01:00
LiveNodeList.h LibWeb: Give IDL exposed PlatformObjects an InterfaceName 2026-02-14 20:22:40 +01:00
MutationObserver.cpp LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
MutationObserver.h LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
MutationObserver.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
MutationRecord.cpp LibWeb/Bindings: Emit one bindings header and cpp per IDL 2026-04-21 07:36:13 +02:00
MutationRecord.h
MutationRecord.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
MutationType.cpp LibWeb: Remove the initialize_strings methods 2025-01-12 00:35:58 +01:00
MutationType.h LibWeb: Enable EXPLICIT_SYMBOL_EXPORT 2025-08-23 16:04:36 -06:00
NamedNodeMap.cpp LibWeb/Bindings: Emit one bindings header and cpp per IDL 2026-04-21 07:36:13 +02:00
NamedNodeMap.h LibWeb: Enable EXPLICIT_SYMBOL_EXPORT 2025-08-23 16:04:36 -06:00
NamedNodeMap.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
Node.cpp LibWeb: Apply ::first-letter pseudo-element styles 2026-05-20 12:09:19 +01:00
Node.h AK+LibWeb: Add a fast_as<T>() method for quickly casting mixin types 2026-05-15 13:45:42 +02:00
Node.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
NodeFilter.cpp LibWeb/Bindings: Emit one bindings header and cpp per IDL 2026-04-21 07:36:13 +02:00
NodeFilter.h LibWeb/Bindings: Implement callback interface object bindings 2026-03-11 21:16:44 +01:00
NodeFilter.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
NodeIterator.cpp LibWeb/Bindings: Emit one bindings header and cpp per IDL 2026-04-21 07:36:13 +02:00
NodeIterator.h LibWeb/Bindings: Implement callback interface object bindings 2026-03-11 21:16:44 +01:00
NodeIterator.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
NodeList.cpp LibWeb/Bindings: Emit one bindings header and cpp per IDL 2026-04-21 07:36:13 +02:00
NodeList.h LibWeb: Enable EXPLICIT_SYMBOL_EXPORT 2025-08-23 16:04:36 -06:00
NodeList.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
NodeOperations.cpp LibWeb/DOM: Update spec for convert_nodes_to_single_node() 2025-12-11 22:54:39 +00:00
NodeOperations.h LibWeb+LibUnicode+WebContent: Port DOM:CharacterData to UTF-16 2025-07-24 19:00:20 +02:00
NodeType.h LibWeb: Move DOM::NodeType to its own file 2025-02-19 08:45:51 -05:00
NonDocumentTypeChildNode.h AK+Everywhere: Rename verify_cast to as 2025-01-21 11:34:06 -05:00
ParentNode.cpp LibWeb: Cache parsed selectors in Element.matches() and .closest() 2026-04-19 21:32:55 +02:00
ParentNode.h LibWeb: Skip backward sibling invalidation when no child needs it 2026-04-26 16:14:43 +02:00
ParentNode.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
Position.cpp LibWeb: Make DOM::Position's node mandatory 2025-08-20 12:25:00 +01:00
Position.h AK+LibWeb: Reduce recompilation impact of DOM/Node.h 2026-02-11 20:02:28 +01:00
ProcessingInstruction.cpp LibWeb/Bindings: Emit one bindings header and cpp per IDL 2026-04-21 07:36:13 +02:00
ProcessingInstruction.h LibWeb+LibUnicode+WebContent: Port DOM:CharacterData to UTF-16 2025-07-24 19:00:20 +02:00
ProcessingInstruction.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
PseudoElement.cpp LibWeb: Stop storing CascadedProperties on each element 2026-05-05 16:02:23 +02:00
PseudoElement.h LibWeb: Stop storing CascadedProperties on each element 2026-05-05 16:02:23 +02:00
QualifiedName.cpp LibWeb: Make sure we run selectors for mixed-case tag names 2025-07-09 14:36:08 +02:00
QualifiedName.h LibWeb: Enable EXPLICIT_SYMBOL_EXPORT 2025-08-23 16:04:36 -06:00
Range.cpp LibWeb: Apply ::first-letter pseudo-element styles 2026-05-20 12:09:19 +01:00
Range.h LibGC+ClangPlugins: Forbid non-trivial destructors in Cell subclasses 2026-01-30 20:57:42 +01:00
Range.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
RequestFullscreenError.h LibWeb: Move RequestFullscreenError out of Element.h 2026-03-17 18:58:37 -05:00
SelectionchangeEventDispatching.h LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
ShadowRoot.cpp LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
ShadowRoot.h LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
ShadowRoot.idl LibWeb: Align declarative shadow root parsing 2026-05-17 15:35:56 +02:00
Slot.cpp LibJS+LibWeb: Use the unified Visitor for Variant-holding members 2026-05-15 08:51:17 +02:00
Slot.h LibWeb: Store slot name as a FlyString 2026-01-31 11:44:20 +01:00
SlotRegistry.cpp LibWeb: Avoid subtree iteration when assigning slottables 2026-01-31 11:44:20 +01:00
SlotRegistry.h LibWeb: Avoid subtree iteration when assigning slottables 2026-01-31 11:44:20 +01:00
Slottable.cpp LibWeb: Move slotted style invalidation into a helper 2026-04-29 15:47:23 +02:00
Slottable.h LibWeb: Avoid dynamic_cast in SlottableMixin::assigned_slot() 2026-02-07 16:43:50 +01:00
Slottable.idl LibWeb: Remove some outdated #import related FIXMEs 2026-05-03 10:56:45 +02:00
StaticNodeList.cpp LibWeb: Account DOM state as external memory 2026-05-07 10:03:09 +02:00
StaticNodeList.h LibWeb: Account DOM state as external memory 2026-05-07 10:03:09 +02:00
StaticRange.cpp LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
StaticRange.h LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
StaticRange.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
StyleElementBase.cpp LibWeb: Replace spin_until in HTMLParser::the_end() with state machine 2026-03-28 23:14:55 +01:00
StyleElementBase.h LibWeb: Delay the load event until critical style subresources load 2026-02-12 16:23:12 +01:00
StyleInvalidationReason.h LibWeb: Clear counter style cache when CSSCounterStyleRule modified 2026-04-15 11:07:38 +01:00
Text.cpp LibWeb/Bindings: Emit one bindings header and cpp per IDL 2026-04-21 07:36:13 +02:00
Text.h LibWeb: Avoid dynamic_cast in SlottableMixin::assigned_slot() 2026-02-07 16:43:50 +01:00
Text.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
TreeWalker.cpp LibWeb/Bindings: Emit one bindings header and cpp per IDL 2026-04-21 07:36:13 +02:00
TreeWalker.h LibWeb/Bindings: Implement callback interface object bindings 2026-03-11 21:16:44 +01:00
TreeWalker.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
Utils.cpp LibWeb: Replace is<T> + as<T> with as_if<T> 2026-03-10 15:17:51 +01:00
Utils.h
ViewportClient.h LibWeb: Reduce recompilation impact of DOM/Document.h 2026-02-11 20:02:28 +01:00
XMLDocument.cpp LibWeb/Bindings: Emit one bindings header and cpp per IDL 2026-04-21 07:36:13 +02:00
XMLDocument.h Everywhere: Use URL::about_XXX factory functions 2025-02-15 17:05:55 +00:00
XMLDocument.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00