/* * Copyright (c) 2021, Andreas Kling * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include namespace Web::HTML { // https://html.spec.whatwg.org/multipage/webappapis.html#classic-script class ClassicScript final : public Script { public: ~ClassicScript(); enum class MutedErrors { No, Yes, }; static NonnullRefPtr create(String filename, StringView source, JS::Realm&, URL base_url, MutedErrors = MutedErrors::No); JS::Script* script_record() { return m_script_record; } JS::Script const* script_record() const { return m_script_record; } enum class RethrowErrors { No, Yes, }; JS::Value run(RethrowErrors = RethrowErrors::No); private: ClassicScript(URL base_url, String filename); RefPtr m_script_record; MutedErrors m_muted_errors { MutedErrors::No }; }; }