浏览代码

LibWeb: Use FlyString for DOM event names

Andreas Kling 5 年之前
父节点
当前提交
beba585f37

+ 7 - 8
Libraries/LibWeb/DOM/Event.h

@@ -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;
 };
 
 }

+ 2 - 2
Libraries/LibWeb/DOM/EventTarget.cpp

@@ -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) });
 }
 
 }

+ 3 - 3
Libraries/LibWeb/DOM/EventTarget.h

@@ -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;
     };
 

+ 4 - 4
Libraries/LibWeb/DOM/MouseEvent.h

@@ -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)
     {