Serenity Operating System
at master 57 lines 1.5 kB view raw
1/* 2 * Copyright (c) 2021, Andreas Kling <kling@serenityos.org> 3 * 4 * SPDX-License-Identifier: BSD-2-Clause 5 */ 6 7#include <LibWeb/Bindings/Intrinsics.h> 8#include <LibWeb/DOM/Element.h> 9#include <LibWeb/ResizeObserver/ResizeObserver.h> 10 11namespace Web::ResizeObserver { 12 13// https://drafts.csswg.org/resize-observer/#dom-resizeobserver-resizeobserver 14WebIDL::ExceptionOr<JS::NonnullGCPtr<ResizeObserver>> ResizeObserver::construct_impl(JS::Realm& realm, WebIDL::CallbackType* callback) 15{ 16 // FIXME: Implement 17 (void)callback; 18 return MUST_OR_THROW_OOM(realm.heap().allocate<ResizeObserver>(realm, realm)); 19} 20 21ResizeObserver::ResizeObserver(JS::Realm& realm) 22 : PlatformObject(realm) 23{ 24} 25 26ResizeObserver::~ResizeObserver() = default; 27 28JS::ThrowCompletionOr<void> ResizeObserver::initialize(JS::Realm& realm) 29{ 30 MUST_OR_THROW_OOM(Base::initialize(realm)); 31 set_prototype(&Bindings::ensure_web_prototype<Bindings::ResizeObserverPrototype>(realm, "ResizeObserver")); 32 33 return {}; 34} 35 36// https://drafts.csswg.org/resize-observer/#dom-resizeobserver-observe 37void ResizeObserver::observe(DOM::Element& target, ResizeObserverOptions options) 38{ 39 // FIXME: Implement 40 (void)target; 41 (void)options; 42} 43 44// https://drafts.csswg.org/resize-observer/#dom-resizeobserver-unobserve 45void ResizeObserver::unobserve(DOM::Element& target) 46{ 47 // FIXME: Implement 48 (void)target; 49} 50 51// https://drafts.csswg.org/resize-observer/#dom-resizeobserver-disconnect 52void ResizeObserver::disconnect() 53{ 54 // FIXME: Implement 55} 56 57}