diff options
author | Idan Horowitz <idan.horowitz@gmail.com> | 2021-10-01 18:39:03 +0300 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2021-10-01 20:14:45 +0200 |
commit | d44857d34d0aebef52374297b846304321d355ac (patch) | |
tree | 5b5b1a69fe7215479c37157490b4da079c01b664 /Userland/Libraries/LibWeb/HTML/MessageEvent.h | |
parent | 9863de4609d81a0c6b97556e13f2bc19c2c8c449 (diff) | |
download | serenity-d44857d34d0aebef52374297b846304321d355ac.zip |
LibWeb: Add the missing MessageEvent IDL constructor
Diffstat (limited to 'Userland/Libraries/LibWeb/HTML/MessageEvent.h')
-rw-r--r-- | Userland/Libraries/LibWeb/HTML/MessageEvent.h | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/Userland/Libraries/LibWeb/HTML/MessageEvent.h b/Userland/Libraries/LibWeb/HTML/MessageEvent.h index 32b80883cb..e08c001eb0 100644 --- a/Userland/Libraries/LibWeb/HTML/MessageEvent.h +++ b/Userland/Libraries/LibWeb/HTML/MessageEvent.h @@ -10,13 +10,23 @@ namespace Web::HTML { +struct MessageEventInit : public DOM::EventInit { + JS::Value data { JS::js_null() }; + String origin { "" }; + String last_event_id { "" }; +}; + class MessageEvent : public DOM::Event { public: using WrapperType = Bindings::MessageEventWrapper; - static NonnullRefPtr<MessageEvent> create(const FlyString& event_name, JS::Value data, String const& origin) + static NonnullRefPtr<MessageEvent> create(FlyString const& event_name, MessageEventInit const& event_init = {}) + { + return adopt_ref(*new MessageEvent(event_name, event_init)); + } + static NonnullRefPtr<MessageEvent> create_with_global_object(Bindings::WindowObject&, FlyString const& event_name, MessageEventInit const& event_init) { - return adopt_ref(*new MessageEvent(event_name, data, origin)); + return MessageEvent::create(event_name, event_init); } virtual ~MessageEvent() override = default; @@ -26,10 +36,11 @@ public: String const& last_event_id() const { return m_last_event_id; } protected: - MessageEvent(const FlyString& event_name, JS::Value data, String origin) - : DOM::Event(event_name) - , m_data(data) - , m_origin(move(origin)) + MessageEvent(FlyString const& event_name, MessageEventInit const& event_init) + : DOM::Event(event_name, event_init) + , m_data(event_init.data) + , m_origin(event_init.origin) + , m_last_event_id(event_init.last_event_id) { } |