1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 10:38:11 +00:00

LibWeb: Make ResizeObserver GC-allocated

This commit is contained in:
Andreas Kling 2022-09-04 13:33:07 +02:00
parent 915a240944
commit 0dc2c27fa3
4 changed files with 24 additions and 14 deletions

View file

@ -5,18 +5,27 @@
*/
#include <LibWeb/DOM/Element.h>
#include <LibWeb/HTML/Window.h>
#include <LibWeb/ResizeObserver/ResizeObserver.h>
namespace Web::ResizeObserver {
// https://drafts.csswg.org/resize-observer/#dom-resizeobserver-resizeobserver
NonnullRefPtr<ResizeObserver> ResizeObserver::create_with_global_object(HTML::Window&, Bindings::CallbackType* callback)
JS::NonnullGCPtr<ResizeObserver> ResizeObserver::create_with_global_object(HTML::Window& window, Bindings::CallbackType* callback)
{
// FIXME: Implement
(void)callback;
return adopt_ref(*new ResizeObserver);
return *window.heap().allocate<ResizeObserver>(window.realm(), window);
}
ResizeObserver::ResizeObserver(HTML::Window& window)
: PlatformObject(window.realm())
{
set_prototype(&window.cached_web_prototype("ResizeObserver"));
}
ResizeObserver::~ResizeObserver() = default;
// https://drafts.csswg.org/resize-observer/#dom-resizeobserver-observe
void ResizeObserver::observe(DOM::Element& target, ResizeObserverOptions options)
{