Browse Source

LibWeb: Tidy up return types of BroadcastChannel

Use GC::Ptr over a raw pointer and make the name() function const
qualfied returning a reference instead of a copy.
Shannon Booth 7 months ago
parent
commit
473bebc9a8
2 changed files with 14 additions and 16 deletions
  1. 4 11
      Libraries/LibWeb/HTML/BroadcastChannel.cpp
  2. 10 5
      Libraries/LibWeb/HTML/BroadcastChannel.h

+ 4 - 11
Libraries/LibWeb/HTML/BroadcastChannel.cpp

@@ -31,13 +31,6 @@ void BroadcastChannel::initialize(JS::Realm& realm)
     WEB_SET_PROTOTYPE_FOR_INTERFACE(BroadcastChannel);
 }
 
-// https://html.spec.whatwg.org/multipage/web-messaging.html#dom-broadcastchannel-name
-FlyString BroadcastChannel::name()
-{
-    // The name getter steps are to return this's channel name.
-    return m_channel_name;
-}
-
 // https://html.spec.whatwg.org/multipage/web-messaging.html#dom-broadcastchannel-close
 void BroadcastChannel::close()
 {
@@ -46,25 +39,25 @@ void BroadcastChannel::close()
 }
 
 // https://html.spec.whatwg.org/multipage/web-messaging.html#handler-broadcastchannel-onmessage
-void BroadcastChannel::set_onmessage(WebIDL::CallbackType* event_handler)
+void BroadcastChannel::set_onmessage(GC::Ptr<WebIDL::CallbackType> event_handler)
 {
     set_event_handler_attribute(HTML::EventNames::message, event_handler);
 }
 
 // https://html.spec.whatwg.org/multipage/web-messaging.html#handler-broadcastchannel-onmessage
-WebIDL::CallbackType* BroadcastChannel::onmessage()
+GC::Ptr<WebIDL::CallbackType> BroadcastChannel::onmessage()
 {
     return event_handler_attribute(HTML::EventNames::message);
 }
 
 // https://html.spec.whatwg.org/multipage/web-messaging.html#handler-broadcastchannel-onmessageerror
-void BroadcastChannel::set_onmessageerror(WebIDL::CallbackType* event_handler)
+void BroadcastChannel::set_onmessageerror(GC::Ptr<WebIDL::CallbackType> event_handler)
 {
     set_event_handler_attribute(HTML::EventNames::messageerror, event_handler);
 }
 
 // https://html.spec.whatwg.org/multipage/web-messaging.html#handler-broadcastchannel-onmessageerror
-WebIDL::CallbackType* BroadcastChannel::onmessageerror()
+GC::Ptr<WebIDL::CallbackType> BroadcastChannel::onmessageerror()
 {
     return event_handler_attribute(HTML::EventNames::messageerror);
 }

+ 10 - 5
Libraries/LibWeb/HTML/BroadcastChannel.h

@@ -17,14 +17,19 @@ class BroadcastChannel final : public DOM::EventTarget {
 public:
     [[nodiscard]] static GC::Ref<BroadcastChannel> construct_impl(JS::Realm&, FlyString const& name);
 
-    FlyString name();
+    // https://html.spec.whatwg.org/multipage/web-messaging.html#dom-broadcastchannel-name
+    FlyString const& name() const
+    {
+        // The name getter steps are to return this's channel name.
+        return m_channel_name;
+    }
 
     void close();
 
-    void set_onmessage(WebIDL::CallbackType*);
-    WebIDL::CallbackType* onmessage();
-    void set_onmessageerror(WebIDL::CallbackType*);
-    WebIDL::CallbackType* onmessageerror();
+    void set_onmessage(GC::Ptr<WebIDL::CallbackType>);
+    GC::Ptr<WebIDL::CallbackType> onmessage();
+    void set_onmessageerror(GC::Ptr<WebIDL::CallbackType>);
+    GC::Ptr<WebIDL::CallbackType> onmessageerror();
 
 private:
     BroadcastChannel(JS::Realm&, FlyString const& name);