ladybird/Libraries/LibWeb/DOM
Sam Atkins f4372de6e8 LibWeb/DOM: Collapse ranges before DOM mutations
The spec text has also changed since we implemented it, but moving when
we collapse the range is the only actual behaviour change.

Corresponds to:
9363c6ddac
2026-04-17 19:01:35 +02:00
..
AbortController.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
AbortController.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
AbortController.idl
AbortSignal.cpp LibJS+LibWeb: Port interned bytecode strings to UTF-16 2025-08-14 10:27:08 +02:00
AbortSignal.h LibWeb: Support removing callbacks from AbortSignal 2025-04-11 12:10:46 -04:00
AbortSignal.idl
AbstractElement.cpp LibWeb/CSS: Pass AbstractElement to SelectorEngine::matches 2026-04-08 10:37:05 +01:00
AbstractElement.h LibWeb/CSS: Pass AbstractElement to SelectorEngine::matches 2026-04-08 10:37:05 +01:00
AbstractRange.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +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
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: Start fetching CSS image resources before document load event 2026-03-21 10:29:54 +01: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: Update Dom spec now that TrustedTypes integration is merged 2025-12-01 09:54:04 +01:00
Attr.h LibWeb: Remove unnecessary lowercase name property from Attr 2025-11-10 22:55:38 +01:00
Attr.idl
CDATASection.cpp LibWeb+LibUnicode+WebContent: Port DOM:CharacterData to UTF-16 2025-07-24 19:00:20 +02:00
CDATASection.h LibWeb+LibUnicode+WebContent: Port DOM:CharacterData to UTF-16 2025-07-24 19:00:20 +02:00
CDATASection.idl
CharacterData.cpp LibWeb/HTML: Always provide ChildrenChangedMetadata to children changed 2026-03-19 09:46:54 +01:00
CharacterData.h LibUnicode+LibWeb: Add infrastructure for line segmentation using ICU 2026-02-14 16:23:18 -05:00
CharacterData.idl LibWeb+LibUnicode+WebContent: Port DOM:CharacterData to UTF-16 2025-07-24 19:00:20 +02:00
ChildNode.h LibWeb+LibUnicode+WebContent: Port DOM:CharacterData to UTF-16 2025-07-24 19:00:20 +02:00
ChildNode.idl LibWeb+LibUnicode+WebContent: Port DOM:CharacterData to UTF-16 2025-07-24 19:00:20 +02:00
Comment.cpp LibWeb+LibUnicode+WebContent: Port DOM:CharacterData to UTF-16 2025-07-24 19:00:20 +02:00
Comment.h LibWeb+LibUnicode+WebContent: Port DOM:CharacterData to UTF-16 2025-07-24 19:00:20 +02:00
Comment.idl LibWeb+LibUnicode+WebContent: Port DOM:CharacterData to UTF-16 2025-07-24 19:00:20 +02:00
CustomEvent.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
CustomEvent.h LibWeb: Enable EXPLICIT_SYMBOL_EXPORT 2025-08-23 16:04:36 -06:00
CustomEvent.idl
Document.cpp LibWeb: Avoid IntersectionObserver registration lookups 2026-04-17 08:02:30 +02:00
Document.h LibWeb: Make @counter-style tree-scoped 2026-04-15 11:07:38 +01:00
Document.idl LibWeb: Mark startViewTransition() as experimental 2026-04-01 13:41:36 +01:00
DocumentFragment.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
DocumentFragment.h LibWeb: Enable EXPLICIT_SYMBOL_EXPORT 2025-08-23 16:04:36 -06:00
DocumentFragment.idl
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: Remove "signal to continue SHTQ" from document loading 2026-04-01 06:47:59 +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: Reduce recompilation impact of DOM/Document.h 2026-02-11 20:02:28 +01:00
DocumentOrShadowRoot.idl LibWeb/DOM: Implement DocumentOrShadowRoot.customElementRegistry 2026-03-27 19:49:55 +00:00
DocumentType.cpp LibWeb: Update DOMImplementation.createDocumentType() name validation 2025-06-19 07:55:47 -04:00
DocumentType.h LibWeb: Update DOMImplementation.createDocumentType() name validation 2025-06-19 07:55:47 -04:00
DocumentType.idl
DOMEventListener.cpp LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
DOMEventListener.h LibWeb: Correctly implement event listeners default passive attribute 2024-12-25 14:57:22 +00:00
DOMImplementation.cpp LibJS+LibWeb: Port interned bytecode strings to UTF-16 2025-08-14 10:27:08 +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+LibUnicode+WebContent: Port DOM:CharacterData to UTF-16 2025-07-24 19:00:20 +02:00
DOMTokenList.cpp LibWeb/DOM: Update DOMTokenList spec steps, and reorganize to match them 2025-12-11 22:54:39 +00:00
DOMTokenList.h LibWeb/DOM: Update DOMTokenList spec steps, and reorganize to match them 2025-12-11 22:54:39 +00: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: Avoid IntersectionObserver registration lookups 2026-04-17 08:02:30 +02:00
Element.h LibWeb: Avoid IntersectionObserver registration lookups 2026-04-17 08:02:30 +02:00
Element.idl LibWeb: Implement scoped custom element registries 2026-03-27 19:49:55 +00: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: Make Event.currentTarget return WindowProxy instead of Window 2025-10-15 15:36:34 +02:00
Event.h LibWeb: Make Event.currentTarget return WindowProxy instead of Window 2025-10-15 15:36:34 +02:00
Event.idl LibWeb: Make Event.currentTarget return WindowProxy instead of Window 2025-10-15 15:36:34 +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: Move onpointer* IDL attributes to PointerEventHandlers.idl 2026-01-13 10:09:22 +01:00
EventListener.idl LibWeb/Bindings: Implement callback interface object bindings 2026-03-11 21:16:44 +01:00
EventTarget.cpp LibWeb: Use VM helpers for execution context access 2026-04-13 18:29:43 +02:00
EventTarget.h LibWeb: Don't WEB_SET_PROTOTYPE_FOR_INTERFACE for ShadowRealm global 2026-02-06 13:50:54 +01:00
EventTarget.idl LibWeb/Bindings: Implement callback interface object bindings 2026-03-11 21:16:44 +01:00
FragmentSerializationMode.h AK+LibWeb: Reduce recompilation impact of DOM/Node.h 2026-02-11 20:02:28 +01:00
HTMLCollection.cpp LibWeb: Use weak pointer for cache in HTMLCollection 2025-12-17 11:41:21 +01:00
HTMLCollection.h LibWeb: Use weak pointer for cache in HTMLCollection 2025-12-17 11:41:21 +01:00
HTMLCollection.idl
IDLEventListener.cpp LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
IDLEventListener.h LibWeb: Correctly implement event listeners default passive attribute 2024-12-25 14:57:22 +00: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: Replace is<T> + as<T> with as_if<T> 2026-03-10 15:17:51 +01:00
MutationObserver.h LibWeb: Add fast_is<TransientRegisteredObserver> to avoid dynamic_cast 2026-03-11 17:56:12 +01:00
MutationObserver.idl
MutationRecord.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
MutationRecord.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
MutationRecord.idl
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: Lowercase attribute only once in NamedNodeMap::get_attribute() 2025-12-28 14:11:36 +00:00
NamedNodeMap.h LibWeb: Enable EXPLICIT_SYMBOL_EXPORT 2025-08-23 16:04:36 -06:00
NamedNodeMap.idl
Node.cpp LibWeb: Make Node::is_connected() O(1) via a cached flag 2026-04-16 08:26:34 +02:00
Node.h LibWeb: Make Node::is_connected() O(1) via a cached flag 2026-04-16 08:26:34 +02:00
Node.idl LibWeb: Port node text content to UTF-16 2025-07-28 18:30:50 +02:00
NodeFilter.cpp LibWeb/Bindings: Implement callback interface object bindings 2026-03-11 21:16:44 +01:00
NodeFilter.h LibWeb/Bindings: Implement callback interface object bindings 2026-03-11 21:16:44 +01:00
NodeFilter.idl LibWeb/Bindings: Implement callback interface object bindings 2026-03-11 21:16:44 +01:00
NodeIterator.cpp LibWeb/Bindings: Implement callback interface object bindings 2026-03-11 21:16:44 +01:00
NodeIterator.h LibWeb/Bindings: Implement callback interface object bindings 2026-03-11 21:16:44 +01:00
NodeIterator.idl LibWeb/Bindings: Implement callback interface object bindings 2026-03-11 21:16:44 +01:00
NodeList.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
NodeList.h LibWeb: Enable EXPLICIT_SYMBOL_EXPORT 2025-08-23 16:04:36 -06:00
NodeList.idl
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/CSS: Pass AbstractElement to SelectorEngine::matches 2026-04-08 10:37:05 +01:00
ParentNode.h LibWeb: Give IDL exposed PlatformObjects an InterfaceName 2026-02-14 20:22:40 +01:00
ParentNode.idl LibWeb+LibUnicode+WebContent: Port DOM:CharacterData to UTF-16 2025-07-24 19:00:20 +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+LibUnicode+WebContent: Port DOM:CharacterData to UTF-16 2025-07-24 19:00:20 +02:00
ProcessingInstruction.h LibWeb+LibUnicode+WebContent: Port DOM:CharacterData to UTF-16 2025-07-24 19:00:20 +02:00
ProcessingInstruction.idl
PseudoElement.cpp LibWeb: Support counter-* properties on pseudo-elements 2025-06-19 12:35:31 +01:00
PseudoElement.h LibWeb: Use unsafe layout/paintable accessors where appropriate 2026-02-26 21:09:08 +01: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/DOM: Collapse ranges before DOM mutations 2026-04-17 19:01:35 +02:00
Range.h LibGC+ClangPlugins: Forbid non-trivial destructors in Cell subclasses 2026-01-30 20:57:42 +01:00
Range.idl LibWeb: Hook TrustedTypes to the Range Dom api 2025-10-13 13:22:01 +01:00
RequestFullscreenError.h LibWeb: Move RequestFullscreenError out of Element.h 2026-03-17 18:58:37 -05:00
SelectionchangeEventDispatching.h LibWeb: Reduce recompilation impact of DOM/Document.h 2026-02-11 20:02:28 +01:00
ShadowRoot.cpp LibWeb: Keep track of elements with an anchor-name set 2026-04-01 19:41:46 +01:00
ShadowRoot.h LibWeb: Keep track of elements with an anchor-name set 2026-04-01 19:41:46 +01:00
ShadowRoot.idl LibWeb: Amend ShadowRoot to make it compatible with TrustedTypes 2025-10-27 16:14:20 +00:00
Slot.cpp
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: Avoid dynamic_cast in SlottableMixin::assigned_slot() 2026-02-07 16:43:50 +01:00
Slottable.h LibWeb: Avoid dynamic_cast in SlottableMixin::assigned_slot() 2026-02-07 16:43:50 +01:00
Slottable.idl
StaticNodeList.cpp AK+LibWeb: Reduce recompilation impact of DOM/Node.h 2026-02-11 20:02:28 +01:00
StaticNodeList.h LibWeb: Give IDL exposed PlatformObjects an InterfaceName 2026-02-14 20:22:40 +01:00
StaticRange.cpp LibJS+LibWeb: Port interned bytecode strings to UTF-16 2025-08-14 10:27:08 +02:00
StaticRange.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
StaticRange.idl
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
StyleInvalidator.cpp LibWeb: Implement sibling invalidation sets 2026-03-09 18:35:46 +01:00
StyleInvalidator.h LibWeb: Implement sibling invalidation sets 2026-03-09 18:35:46 +01:00
Text.cpp LibWeb: Remove ShadowRealm HTML integration 2026-04-05 13:57:58 +02:00
Text.h LibWeb: Avoid dynamic_cast in SlottableMixin::assigned_slot() 2026-02-07 16:43:50 +01:00
Text.idl LibWeb+LibUnicode+WebContent: Port DOM:CharacterData to UTF-16 2025-07-24 19:00:20 +02:00
TreeWalker.cpp LibWeb/Bindings: Implement callback interface object bindings 2026-03-11 21:16:44 +01:00
TreeWalker.h LibWeb/Bindings: Implement callback interface object bindings 2026-03-11 21:16:44 +01:00
TreeWalker.idl LibWeb/Bindings: Implement callback interface object bindings 2026-03-11 21:16:44 +01: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: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
XMLDocument.h Everywhere: Use URL::about_XXX factory functions 2025-02-15 17:05:55 +00:00
XMLDocument.idl