瀏覽代碼

LibWeb: Port CloseEvent to new String

Kenneth Myhra 2 年之前
父節點
當前提交
e661f03ffa

+ 4 - 4
Userland/Libraries/LibWeb/HTML/CloseEvent.cpp

@@ -9,18 +9,18 @@
 
 namespace Web::HTML {
 
-WebIDL::ExceptionOr<JS::NonnullGCPtr<CloseEvent>> CloseEvent::create(JS::Realm& realm, DeprecatedFlyString const& event_name, CloseEventInit const& event_init)
+WebIDL::ExceptionOr<JS::NonnullGCPtr<CloseEvent>> CloseEvent::create(JS::Realm& realm, FlyString const& event_name, CloseEventInit const& event_init)
 {
     return MUST_OR_THROW_OOM(realm.heap().allocate<CloseEvent>(realm, realm, event_name, event_init));
 }
 
-WebIDL::ExceptionOr<JS::NonnullGCPtr<CloseEvent>> CloseEvent::construct_impl(JS::Realm& realm, DeprecatedFlyString const& event_name, CloseEventInit const& event_init)
+WebIDL::ExceptionOr<JS::NonnullGCPtr<CloseEvent>> CloseEvent::construct_impl(JS::Realm& realm, FlyString const& event_name, CloseEventInit const& event_init)
 {
     return create(realm, event_name, event_init);
 }
 
-CloseEvent::CloseEvent(JS::Realm& realm, DeprecatedFlyString const& event_name, CloseEventInit const& event_init)
-    : DOM::Event(realm, event_name, event_init)
+CloseEvent::CloseEvent(JS::Realm& realm, FlyString const& event_name, CloseEventInit const& event_init)
+    : DOM::Event(realm, event_name.to_deprecated_fly_string(), event_init)
     , m_was_clean(event_init.was_clean)
     , m_code(event_init.code)
     , m_reason(event_init.reason)

+ 7 - 6
Userland/Libraries/LibWeb/HTML/CloseEvent.h

@@ -7,6 +7,7 @@
 
 #pragma once
 
+#include <AK/FlyString.h>
 #include <LibWeb/DOM/Event.h>
 
 namespace Web::HTML {
@@ -14,30 +15,30 @@ namespace Web::HTML {
 struct CloseEventInit : public DOM::EventInit {
     bool was_clean { false };
     u16 code { 0 };
-    DeprecatedString reason { "" };
+    String reason;
 };
 
 class CloseEvent : public DOM::Event {
     WEB_PLATFORM_OBJECT(CloseEvent, DOM::Event);
 
 public:
-    static WebIDL::ExceptionOr<JS::NonnullGCPtr<CloseEvent>> create(JS::Realm&, DeprecatedFlyString const& event_name, CloseEventInit const& event_init = {});
-    static WebIDL::ExceptionOr<JS::NonnullGCPtr<CloseEvent>> construct_impl(JS::Realm&, DeprecatedFlyString const& event_name, CloseEventInit const& event_init);
+    static WebIDL::ExceptionOr<JS::NonnullGCPtr<CloseEvent>> create(JS::Realm&, FlyString const& event_name, CloseEventInit const& event_init = {});
+    static WebIDL::ExceptionOr<JS::NonnullGCPtr<CloseEvent>> construct_impl(JS::Realm&, FlyString const& event_name, CloseEventInit const& event_init);
 
     virtual ~CloseEvent() override;
 
     bool was_clean() const { return m_was_clean; }
     u16 code() const { return m_code; }
-    DeprecatedString reason() const { return m_reason; }
+    String reason() const { return m_reason; }
 
 private:
-    CloseEvent(JS::Realm&, DeprecatedFlyString const& event_name, CloseEventInit const& event_init);
+    CloseEvent(JS::Realm&, FlyString const& event_name, CloseEventInit const& event_init);
 
     virtual JS::ThrowCompletionOr<void> initialize(JS::Realm&) override;
 
     bool m_was_clean { false };
     u16 m_code { 0 };
-    DeprecatedString m_reason;
+    String m_reason;
 };
 
 }

+ 1 - 1
Userland/Libraries/LibWeb/HTML/CloseEvent.idl

@@ -1,6 +1,6 @@
 #import <DOM/Event.idl>
 
-[Exposed=*]
+[Exposed=*, UseNewAKString]
 interface CloseEvent : Event {
     constructor(DOMString type, optional CloseEventInit eventInitDict = {});
 

+ 2 - 2
Userland/Libraries/LibWeb/WebSockets/WebSocket.cpp

@@ -221,8 +221,8 @@ void WebSocket::on_close(u16 code, DeprecatedString reason, bool was_clean)
     HTML::CloseEventInit event_init {};
     event_init.was_clean = was_clean;
     event_init.code = code;
-    event_init.reason = move(reason);
-    dispatch_event(HTML::CloseEvent::create(realm(), HTML::EventNames::close, event_init).release_value_but_fixme_should_propagate_errors());
+    event_init.reason = String::from_deprecated_string(reason).release_value_but_fixme_should_propagate_errors();
+    dispatch_event(HTML::CloseEvent::create(realm(), String::from_deprecated_string(HTML::EventNames::close.view()).release_value_but_fixme_should_propagate_errors(), event_init).release_value_but_fixme_should_propagate_errors());
 }
 
 // https://websockets.spec.whatwg.org/#feedback-from-the-protocol