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.
54 lines
1.8 KiB
C++
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;
|
|
};
|
|
|
|
}
|