LibWeb/CSS: Implement FontFaceSet.onloadingdone

This commit is contained in:
Jamie Mansfield 2024-06-06 20:01:39 +01:00 committed by Andreas Kling
commit e56e09b820
Notes: sideshowbarker 2024-07-17 08:38:37 +09:00
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); 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 // https://drafts.csswg.org/css-font-loading/#dom-fontfaceset-load
JS::ThrowCompletionOr<JS::NonnullGCPtr<JS::Promise>> FontFaceSet::load(String const&, String const&) JS::ThrowCompletionOr<JS::NonnullGCPtr<JS::Promise>> FontFaceSet::load(String const&, String const&)
{ {

View file

@ -33,6 +33,8 @@ public:
void set_onloading(WebIDL::CallbackType*); void set_onloading(WebIDL::CallbackType*);
WebIDL::CallbackType* onloading(); WebIDL::CallbackType* onloading();
void set_onloadingdone(WebIDL::CallbackType*);
WebIDL::CallbackType* onloadingdone();
JS::ThrowCompletionOr<JS::NonnullGCPtr<JS::Promise>> load(String const& font, String const& text); 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 // events for when loading state changes
attribute EventHandler onloading; attribute EventHandler onloading;
[FIXME] attribute EventHandler onloadingdone; attribute EventHandler onloadingdone;
[FIXME] attribute EventHandler onloadingerror; [FIXME] attribute EventHandler onloadingerror;
// check and start loads if appropriate // check and start loads if appropriate

View file

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