1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 16:27:35 +00:00

LibWeb: Make DOMRect, DOMRectReadOnly and DOMRectList GC-allocated

This commit is contained in:
Andreas Kling 2022-09-04 01:59:58 +02:00
parent 44415af428
commit 57db2529cf
11 changed files with 125 additions and 79 deletions

View file

@ -0,0 +1,30 @@
/*
* Copyright (c) 2022, Andreas Kling <kling@serenityos.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#include <LibWeb/Geometry/DOMRect.h>
#include <LibWeb/HTML/Window.h>
namespace Web::Geometry {
JS::NonnullGCPtr<DOMRect> DOMRect::create_with_global_object(HTML::Window& window, double x, double y, double width, double height)
{
return *window.heap().allocate<DOMRect>(window.realm(), window, x, y, width, height);
}
JS::NonnullGCPtr<DOMRect> DOMRect::create(HTML::Window& window, Gfx::FloatRect const& rect)
{
return create_with_global_object(window, rect.x(), rect.y(), rect.width(), rect.height());
}
DOMRect::DOMRect(HTML::Window& window, double x, double y, double width, double height)
: DOMRectReadOnly(window, x, y, width, height)
{
set_prototype(&window.cached_web_prototype("DOMRect"));
}
DOMRect::~DOMRect() = default;
}