LibWeb: Use FlyString for DOM event names

This commit is contained in:
Andreas Kling 2020-03-22 19:53:22 +01:00
parent 7309642ca8
commit beba585f37
Notes: sideshowbarker 2024-07-19 08:10:53 +09:00
4 changed files with 16 additions and 17 deletions

View file

@ -1,7 +1,6 @@
#pragma once
#include <AK/RefCounted.h>
#include <AK/String.h>
#include <AK/FlyString.h>
#include <LibWeb/Bindings/Wrappable.h>
namespace Web {
@ -12,25 +11,25 @@ class Event
public:
using WrapperType = Bindings::EventWrapper;
static NonnullRefPtr<Event> create(String event_name)
static NonnullRefPtr<Event> create(const FlyString& event_name)
{
return adopt(*new Event(move(event_name)));
return adopt(*new Event(event_name));
}
virtual ~Event() {}
const String& name() const { return m_event_name; }
const FlyString& name() const { return m_event_name; }
virtual bool is_mouse_event() const { return false; }
protected:
Event(String event_name)
: m_event_name(move(event_name))
Event(const FlyString& event_name)
: m_event_name(event_name)
{
}
private:
String m_event_name;
FlyString m_event_name;
};
}

View file

@ -37,9 +37,9 @@ EventTarget::~EventTarget()
{
}
void EventTarget::add_event_listener(String event_name, NonnullRefPtr<EventListener> listener)
void EventTarget::add_event_listener(const FlyString& event_name, NonnullRefPtr<EventListener> listener)
{
m_listeners.append({ move(event_name), move(listener) });
m_listeners.append({ event_name, move(listener) });
}
}

View file

@ -26,8 +26,8 @@
#pragma once
#include <AK/FlyString.h>
#include <AK/Noncopyable.h>
#include <AK/String.h>
#include <AK/Vector.h>
#include <LibWeb/Forward.h>
@ -43,12 +43,12 @@ public:
void ref() { ref_event_target(); }
void unref() { unref_event_target(); }
void add_event_listener(String event_name, NonnullRefPtr<EventListener>);
void add_event_listener(const FlyString& event_name, NonnullRefPtr<EventListener>);
virtual void dispatch_event(NonnullRefPtr<Event>) = 0;
struct EventListenerRegistration {
String event_name;
FlyString event_name;
NonnullRefPtr<EventListener> listener;
};

View file

@ -8,9 +8,9 @@ class MouseEvent final : public Event {
public:
using WrapperType = Bindings::MouseEventWrapper;
static NonnullRefPtr<MouseEvent> create(String event_name, i32 offset_x, i32 offset_y)
static NonnullRefPtr<MouseEvent> create(const FlyString& event_name, i32 offset_x, i32 offset_y)
{
return adopt(*new MouseEvent(move(event_name), offset_x, offset_y));
return adopt(*new MouseEvent(event_name, offset_x, offset_y));
}
virtual ~MouseEvent() override {}
@ -19,8 +19,8 @@ public:
i32 offset_y() const { return m_offset_y; }
protected:
MouseEvent(String event_name, i32 offset_x, i32 offset_y)
: Event(move(event_name))
MouseEvent(const FlyString& event_name, i32 offset_x, i32 offset_y)
: Event(event_name)
, m_offset_x(offset_x)
, m_offset_y(offset_y)
{