Serenity Operating System
at master 39 lines 1.3 kB view raw
1/* 2 * Copyright (c) 2022, Andreas Kling <kling@serenityos.org> 3 * 4 * SPDX-License-Identifier: BSD-2-Clause 5 */ 6 7#include <LibWeb/Bindings/Intrinsics.h> 8#include <LibWeb/WebIDL/DOMException.h> 9 10namespace Web::WebIDL { 11 12JS::NonnullGCPtr<DOMException> DOMException::create(JS::Realm& realm, DeprecatedFlyString const& name, DeprecatedFlyString const& message) 13{ 14 return realm.heap().allocate<DOMException>(realm, realm, name, message).release_allocated_value_but_fixme_should_propagate_errors(); 15} 16 17JS::NonnullGCPtr<DOMException> DOMException::construct_impl(JS::Realm& realm, DeprecatedFlyString const& message, DeprecatedFlyString const& name) 18{ 19 return realm.heap().allocate<DOMException>(realm, realm, name, message).release_allocated_value_but_fixme_should_propagate_errors(); 20} 21 22DOMException::DOMException(JS::Realm& realm, DeprecatedFlyString const& name, DeprecatedFlyString const& message) 23 : PlatformObject(realm) 24 , m_name(name) 25 , m_message(message) 26{ 27} 28 29DOMException::~DOMException() = default; 30 31JS::ThrowCompletionOr<void> DOMException::initialize(JS::Realm& realm) 32{ 33 MUST_OR_THROW_OOM(Base::initialize(realm)); 34 set_prototype(&Bindings::ensure_web_prototype<Bindings::DOMExceptionPrototype>(realm, "DOMException")); 35 36 return {}; 37} 38 39}