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.
This commit is contained in:
Shannon Booth 2024-11-23 16:26:03 +13:00 committed by Andreas Kling
commit 473bebc9a8
Notes: github-actions[bot] 2024-11-23 15:45:09 +00:00
2 changed files with 14 additions and 16 deletions

View file

@ -31,13 +31,6 @@ void BroadcastChannel::initialize(JS::Realm& realm)
WEB_SET_PROTOTYPE_FOR_INTERFACE(BroadcastChannel); 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 // https://html.spec.whatwg.org/multipage/web-messaging.html#dom-broadcastchannel-close
void BroadcastChannel::close() void BroadcastChannel::close()
{ {
@ -46,25 +39,25 @@ void BroadcastChannel::close()
} }
// https://html.spec.whatwg.org/multipage/web-messaging.html#handler-broadcastchannel-onmessage // 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); set_event_handler_attribute(HTML::EventNames::message, event_handler);
} }
// https://html.spec.whatwg.org/multipage/web-messaging.html#handler-broadcastchannel-onmessage // 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); return event_handler_attribute(HTML::EventNames::message);
} }
// https://html.spec.whatwg.org/multipage/web-messaging.html#handler-broadcastchannel-onmessageerror // 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); set_event_handler_attribute(HTML::EventNames::messageerror, event_handler);
} }
// https://html.spec.whatwg.org/multipage/web-messaging.html#handler-broadcastchannel-onmessageerror // 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); return event_handler_attribute(HTML::EventNames::messageerror);
} }

View file

@ -17,14 +17,19 @@ class BroadcastChannel final : public DOM::EventTarget {
public: public:
[[nodiscard]] static GC::Ref<BroadcastChannel> construct_impl(JS::Realm&, FlyString const& name); [[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 close();
void set_onmessage(WebIDL::CallbackType*); void set_onmessage(GC::Ptr<WebIDL::CallbackType>);
WebIDL::CallbackType* onmessage(); GC::Ptr<WebIDL::CallbackType> onmessage();
void set_onmessageerror(WebIDL::CallbackType*); void set_onmessageerror(GC::Ptr<WebIDL::CallbackType>);
WebIDL::CallbackType* onmessageerror(); GC::Ptr<WebIDL::CallbackType> onmessageerror();
private: private:
BroadcastChannel(JS::Realm&, FlyString const& name); BroadcastChannel(JS::Realm&, FlyString const& name);