Commit graph

7 commits

Author SHA1 Message Date
Ali Mohammad Pur
765df1130e LibWeb: Implement the required virtual owner_cell() on HTMLCollection
This was breaking the build for me.
2026-05-14 13:27:56 +01:00
Tim Ledbetter
5e2db73c74 LibWeb: Use WeakContainer for HTMLCollection's cached elements
The element cache used `GC::Weak<Element>`, paying for a `WeakImpl`
allocation per cached element on every cache rebuild.

This get's rid of a 4% profile item when toggling state on
https://diskprices.com
2026-05-14 13:28:19 +02:00
Aliaksandr Kalenik
73de6d4387 LibWeb: Use weak pointer for cache in HTMLCollection
This avoids keeping elements cached in an HTMLCollection alive longer
than necessary in the following scenario:
1. The HTMLCollection cache is populated by querying it.
2. Elements that were included in the cache are removed from the DOM.
3. The cached elements are kept alive by strong references in the cache
   until it is updated, which might never happen.
2025-12-17 11:41:21 +01:00
Lorenz A
924e4d2baa LibWeb: Add sorting to Table row HTMLCollection
Add an optional sorting function to HTMLCollection. We use
insertion_sort as a stable sorting algorithm so tree order can be
maintained.
2025-12-09 09:26:49 +00:00
Andreas Kling
3bfb0534be LibGC: Rename MarkedVector => RootVector
Let's try to make it a bit more clear that this is a Vector of GC roots.
2024-12-26 19:10:44 +01:00
Shannon Booth
f87041bf3a LibGC+Everywhere: Factor out a LibGC from LibJS
Resulting in a massive rename across almost everywhere! Alongside the
namespace change, we now have the following names:

 * JS::NonnullGCPtr -> GC::Ref
 * JS::GCPtr -> GC::Ptr
 * JS::HeapFunction -> GC::Function
 * JS::CellImpl -> GC::Cell
 * JS::Handle -> GC::Root
2024-11-15 14:49:20 +01:00
Timothy Flynn
93712b24bf Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
Renamed from Userland/Libraries/LibWeb/DOM/HTMLCollection.h (Browse further)