ladybird/Userland/Libraries/LibWeb/HTML/Scripting/Script.cpp
Andreas Kling 819fb39a87 LibWeb: Implement the "error to rethrow" mechanism in HTML::Script
This allows JS module loads to fail and throw without crashing the
WebContent process due to a TODO() assertion.
2023-05-19 06:20:14 +02:00

35 lines
789 B
C++

/*
* Copyright (c) 2021-2023, Andreas Kling <kling@serenityos.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#include <LibWeb/HTML/Scripting/Environments.h>
#include <LibWeb/HTML/Scripting/Script.h>
namespace Web::HTML {
Script::Script(AK::URL base_url, DeprecatedString filename, EnvironmentSettingsObject& environment_settings_object)
: m_base_url(move(base_url))
, m_filename(move(filename))
, m_settings_object(environment_settings_object)
{
}
Script::~Script() = default;
void Script::visit_host_defined_self(JS::Cell::Visitor& visitor)
{
visitor.visit(this);
}
void Script::visit_edges(Visitor& visitor)
{
Base::visit_edges(visitor);
visitor.visit(m_settings_object);
visitor.visit(m_parse_error);
visitor.visit(m_error_to_rethrow);
}
}