ladybird/Libraries/LibWeb/HTML/ErrorEvent.h
Andreas Kling b6bef6b688 Libraries: Use UTF-16 for JS-visible runtime strings
Produce JS-visible string results as UTF-16 at their source, including
numeric formatting, BigInt and BigFraction formatting, URI encoding,
console formatting, parser errors, regular expression errors, Intl and
Temporal records, LibUnicode locale boundaries, and LibWeb bindings.

Handle fractional radix formatting through the UTF-16 builder view.
2026-06-22 19:51:25 +02:00

54 lines
1.8 KiB
C++

/*
* Copyright (c) 2021, Luke Wilde <lukew@serenityos.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include <AK/FlyString.h>
#include <LibWeb/Bindings/ErrorEvent.h>
#include <LibWeb/DOM/Event.h>
namespace Web::HTML {
// https://html.spec.whatwg.org/multipage/webappapis.html#errorevent
class ErrorEvent final : public DOM::Event {
WEB_PLATFORM_OBJECT(ErrorEvent, DOM::Event);
GC_DECLARE_ALLOCATOR(ErrorEvent);
public:
[[nodiscard]] static GC::Ref<ErrorEvent> create(JS::Realm&, FlyString const& event_name, Bindings::ErrorEventInit const& = {});
static WebIDL::ExceptionOr<GC::Ref<ErrorEvent>> construct_impl(JS::Realm&, FlyString const& event_name, Bindings::ErrorEventInit const& event_init);
virtual ~ErrorEvent() override;
// https://html.spec.whatwg.org/multipage/webappapis.html#dom-errorevent-message
Utf16String const& message() const { return m_message; }
// https://html.spec.whatwg.org/multipage/webappapis.html#dom-errorevent-filename
Utf16String const& filename() const { return m_filename; }
// https://html.spec.whatwg.org/multipage/webappapis.html#dom-errorevent-lineno
u32 lineno() const { return m_lineno; }
// https://html.spec.whatwg.org/multipage/webappapis.html#dom-errorevent-colno
u32 colno() const { return m_colno; }
// https://html.spec.whatwg.org/multipage/webappapis.html#dom-errorevent-error
JS::Value error() const { return m_error; }
private:
ErrorEvent(JS::Realm&, FlyString const& event_name, Bindings::ErrorEventInit const& event_init);
virtual void initialize(JS::Realm&) override;
virtual void visit_edges(Cell::Visitor&) override;
Utf16String m_message;
Utf16String m_filename;
u32 m_lineno { 0 };
u32 m_colno { 0 };
JS::Value m_error;
};
}