mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 02:07:36 +00:00
LibWeb: Add the missing EventInit property to Event constructor
This commit is contained in:
parent
071a358ffb
commit
e22d9dc360
2 changed files with 26 additions and 7 deletions
|
@ -13,6 +13,12 @@
|
|||
|
||||
namespace Web::DOM {
|
||||
|
||||
struct EventInit {
|
||||
bool bubbles { false };
|
||||
bool cancelable { false };
|
||||
bool composed { false };
|
||||
};
|
||||
|
||||
class Event
|
||||
: public RefCounted<Event>
|
||||
, public Bindings::Wrappable {
|
||||
|
@ -41,13 +47,13 @@ public:
|
|||
|
||||
using Path = Vector<PathEntry>;
|
||||
|
||||
static NonnullRefPtr<Event> create(const FlyString& event_name)
|
||||
static NonnullRefPtr<Event> create(const FlyString& event_name, EventInit const& event_init = {})
|
||||
{
|
||||
return adopt_ref(*new Event(event_name));
|
||||
return adopt_ref(*new Event(event_name, event_init));
|
||||
}
|
||||
static NonnullRefPtr<Event> create_with_global_object(Bindings::WindowObject&, const FlyString& event_name)
|
||||
static NonnullRefPtr<Event> create_with_global_object(Bindings::WindowObject&, const FlyString& event_name, EventInit const& event_init)
|
||||
{
|
||||
return Event::create(event_name);
|
||||
return Event::create(event_name, event_init);
|
||||
}
|
||||
|
||||
virtual ~Event() { }
|
||||
|
@ -137,11 +143,19 @@ public:
|
|||
void init_event(const String&, bool, bool);
|
||||
|
||||
protected:
|
||||
explicit Event(const FlyString& type)
|
||||
explicit Event(FlyString const& type)
|
||||
: m_type(type)
|
||||
, m_initialized(true)
|
||||
{
|
||||
}
|
||||
Event(FlyString const& type, EventInit const& event_init)
|
||||
: m_type(type)
|
||||
, m_bubbles(event_init.bubbles)
|
||||
, m_cancelable(event_init.cancelable)
|
||||
, m_composed(event_init.composed)
|
||||
, m_initialized(true)
|
||||
{
|
||||
}
|
||||
|
||||
void initialize(const String&, bool, bool);
|
||||
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
interface Event {
|
||||
|
||||
// FIXME: second parameter: 'optional EventInit eventInitDict = {}'
|
||||
constructor(DOMString type);
|
||||
constructor(DOMString type, optional EventInit eventInitDict = {});
|
||||
|
||||
readonly attribute DOMString type;
|
||||
readonly attribute EventTarget? target;
|
||||
|
@ -26,3 +25,9 @@ interface Event {
|
|||
undefined initEvent(DOMString type, optional boolean bubbles = false, optional boolean cancelable = false);
|
||||
|
||||
};
|
||||
|
||||
dictionary EventInit {
|
||||
boolean bubbles = false;
|
||||
boolean cancelable = false;
|
||||
boolean composed = false;
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue