LibWeb/CSS: Implement FontFaceSet.onloadingdone

This commit is contained in:
Jamie Mansfield 2024-06-06 20:01:39 +01:00 committed by Nico Weber
parent 06c1934c3e
commit 9bfdecd165
4 changed files with 16 additions and 1 deletions

View file

@ -97,6 +97,18 @@ WebIDL::CallbackType* FontFaceSet::onloading()
return event_handler_attribute(HTML::EventNames::loading);
}
// https://drafts.csswg.org/css-font-loading/#dom-fontfaceset-onloadingdone
void FontFaceSet::set_onloadingdone(WebIDL::CallbackType* event_handler)
{
set_event_handler_attribute(HTML::EventNames::loadingdone, event_handler);
}
// https://drafts.csswg.org/css-font-loading/#dom-fontfaceset-onloadingdone
WebIDL::CallbackType* FontFaceSet::onloadingdone()
{
return event_handler_attribute(HTML::EventNames::loadingdone);
}
// https://drafts.csswg.org/css-font-loading/#dom-fontfaceset-load
JS::ThrowCompletionOr<JS::NonnullGCPtr<JS::Promise>> FontFaceSet::load(String const&, String const&)
{

View file

@ -33,6 +33,8 @@ public:
void set_onloading(WebIDL::CallbackType*);
WebIDL::CallbackType* onloading();
void set_onloadingdone(WebIDL::CallbackType*);
WebIDL::CallbackType* onloadingdone();
JS::ThrowCompletionOr<JS::NonnullGCPtr<JS::Promise>> load(String const& font, String const& text);

View file

@ -26,7 +26,7 @@ interface FontFaceSet : EventTarget {
// events for when loading state changes
attribute EventHandler onloading;
[FIXME] attribute EventHandler onloadingdone;
attribute EventHandler onloadingdone;
[FIXME] attribute EventHandler onloadingerror;
// check and start loads if appropriate

View file

@ -66,6 +66,7 @@ namespace Web::HTML::EventNames {
__ENUMERATE_HTML_EVENT(loadeddata) \
__ENUMERATE_HTML_EVENT(loadedmetadata) \
__ENUMERATE_HTML_EVENT(loading) \
__ENUMERATE_HTML_EVENT(loadingdone) \
__ENUMERATE_HTML_EVENT(loadstart) \
__ENUMERATE_HTML_EVENT(message) \
__ENUMERATE_HTML_EVENT(messageerror) \