LibJS+LibWeb: Use realm.create<T> instead of heap.allocate<T>

The main motivation behind this is to remove JS specifics of the Realm
from the implementation of the Heap.

As a side effect of this change, this is a bit nicer to read than the
previous approach, and in my opinion, also makes it a little more clear
that this method is specific to a JavaScript Realm.
This commit is contained in:
Shannon Booth 2024-11-14 05:50:17 +13:00 committed by Tim Flynn
commit 9b79a686eb
Notes: github-actions[bot] 2024-11-13 21:52:48 +00:00
326 changed files with 697 additions and 714 deletions

View file

@ -16,7 +16,7 @@ JS_DEFINE_ALLOCATOR(EditingHostManager);
JS::NonnullGCPtr<EditingHostManager> EditingHostManager::create(JS::Realm& realm, JS::NonnullGCPtr<Document> document)
{
return realm.heap().allocate<EditingHostManager>(realm, document);
return realm.create<EditingHostManager>(document);
}
EditingHostManager::EditingHostManager(JS::NonnullGCPtr<Document> document)
@ -47,7 +47,7 @@ void EditingHostManager::handle_insert(String const& data)
if (!is<DOM::Text>(*node)) {
auto& realm = node->realm();
auto text = realm.heap().allocate<DOM::Text>(realm, node->document(), data);
auto text = realm.create<DOM::Text>(node->document(), data);
MUST(node->append_child(*text));
MUST(selection->collapse(*text, 1));
return;