ladybird/Libraries/LibWeb/DOM
Zaggy1024 55262fb6a3 LibWeb: Close IDB connections when the page is destroyed
This fixes a timeout in WPT's abort-in-initial-upgradeneeded.any.html
test. The timeout was a rare one, caused by idbfactory_open.any.html
leaving the second connection in the final test open, since support.js
only tracks the connection created by the first createdb call. By
leaving the connection open, the harness's deleteDatabase() call would
never take effect. This in turn meant that the upgradeneeded test would
fail an assertion on the number of databases. That assertion was also
uncaught by the harness, turning it into a timeout instead of a fail.

By closing the connections when a document is destroyed, we can ensure
that the connection doesn't leak over to the next test and cause the
exception to be thrown.
2026-04-08 03:03:38 +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 Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
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 Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
AbstractElement.cpp LibWeb: Apply document stylesheets to SVG use element shadow trees 2026-03-02 10:55:07 +01:00
AbstractElement.h LibWeb: Use unsafe layout/paintable accessors where appropriate 2026-02-26 21:09:08 +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 Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01: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: 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 Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
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 Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
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 Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
Document.cpp LibWeb: Close IDB connections when the page is destroyed 2026-04-08 03:03:38 +02:00
Document.h LibWeb: Rebuild counter style cache lazily 2026-04-05 12:34:28 +02: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 Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01: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: 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 Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
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 Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
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: Keep track of elements with an anchor-name set 2026-04-01 19:41:46 +01:00
Element.h LibWeb: Implement scoped custom element registries 2026-03-27 19:49:55 +00: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 LibJS+LibWeb: Port remaining callers to Rust pipeline 2026-03-19 21:55:10 -05: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 Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
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 Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
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 Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01: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: 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 Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
Node.cpp LibWeb: Remove ShadowRealm HTML integration 2026-04-05 13:57:58 +02:00
Node.h LibWeb: Implement scoped custom element registries 2026-03-27 19:49:55 +00: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 Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01: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 for querySelectorAll/querySelector 2026-03-20 18:32:32 -05: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 Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
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: Route repaint requests through paintables, not Document 2026-03-04 19:35:45 +01: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 Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01: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: 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 Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
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 Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01: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: Invalidate styles after constructable sheet updates 2026-04-05 12:34:28 +02: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 Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
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 Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00