mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 02:17:34 +00:00
LibWeb: Add Animation event handler attributes
This commit is contained in:
parent
2dd5d0c310
commit
d2cfea5acc
3 changed files with 46 additions and 3 deletions
|
@ -359,6 +359,42 @@ void Animation::set_replace_state(Bindings::AnimationReplaceState value)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// https://www.w3.org/TR/web-animations-1/#dom-animation-onfinish
|
||||||
|
JS::GCPtr<WebIDL::CallbackType> Animation::onfinish()
|
||||||
|
{
|
||||||
|
return event_handler_attribute(HTML::EventNames::finish);
|
||||||
|
}
|
||||||
|
|
||||||
|
// https://www.w3.org/TR/web-animations-1/#dom-animation-onfinish
|
||||||
|
void Animation::set_onfinish(JS::GCPtr<WebIDL::CallbackType> event_handler)
|
||||||
|
{
|
||||||
|
set_event_handler_attribute(HTML::EventNames::finish, event_handler);
|
||||||
|
}
|
||||||
|
|
||||||
|
// https://www.w3.org/TR/web-animations-1/#dom-animation-oncancel
|
||||||
|
JS::GCPtr<WebIDL::CallbackType> Animation::oncancel()
|
||||||
|
{
|
||||||
|
return event_handler_attribute(HTML::EventNames::cancel);
|
||||||
|
}
|
||||||
|
|
||||||
|
// https://www.w3.org/TR/web-animations-1/#dom-animation-oncancel
|
||||||
|
void Animation::set_oncancel(JS::GCPtr<WebIDL::CallbackType> event_handler)
|
||||||
|
{
|
||||||
|
set_event_handler_attribute(HTML::EventNames::cancel, event_handler);
|
||||||
|
}
|
||||||
|
|
||||||
|
// https://www.w3.org/TR/web-animations-1/#dom-animation-onremove
|
||||||
|
JS::GCPtr<WebIDL::CallbackType> Animation::onremove()
|
||||||
|
{
|
||||||
|
return event_handler_attribute(HTML::EventNames::remove);
|
||||||
|
}
|
||||||
|
|
||||||
|
// https://www.w3.org/TR/web-animations-1/#dom-animation-onremove
|
||||||
|
void Animation::set_onremove(JS::GCPtr<WebIDL::CallbackType> event_handler)
|
||||||
|
{
|
||||||
|
set_event_handler_attribute(HTML::EventNames::remove, event_handler);
|
||||||
|
}
|
||||||
|
|
||||||
// https://www.w3.org/TR/web-animations-1/#dom-animation-cancel
|
// https://www.w3.org/TR/web-animations-1/#dom-animation-cancel
|
||||||
void Animation::cancel()
|
void Animation::cancel()
|
||||||
{
|
{
|
||||||
|
|
|
@ -66,6 +66,13 @@ public:
|
||||||
JS::NonnullGCPtr<JS::Object> finished() const { return *current_finished_promise()->promise(); }
|
JS::NonnullGCPtr<JS::Object> finished() const { return *current_finished_promise()->promise(); }
|
||||||
bool is_finished() const { return m_is_finished; }
|
bool is_finished() const { return m_is_finished; }
|
||||||
|
|
||||||
|
JS::GCPtr<WebIDL::CallbackType> onfinish();
|
||||||
|
void set_onfinish(JS::GCPtr<WebIDL::CallbackType>);
|
||||||
|
JS::GCPtr<WebIDL::CallbackType> oncancel();
|
||||||
|
void set_oncancel(JS::GCPtr<WebIDL::CallbackType>);
|
||||||
|
JS::GCPtr<WebIDL::CallbackType> onremove();
|
||||||
|
void set_onremove(JS::GCPtr<WebIDL::CallbackType>);
|
||||||
|
|
||||||
enum class AutoRewind {
|
enum class AutoRewind {
|
||||||
Yes,
|
Yes,
|
||||||
No,
|
No,
|
||||||
|
|
|
@ -20,9 +20,9 @@ interface Animation : EventTarget {
|
||||||
readonly attribute Promise<Animation> ready;
|
readonly attribute Promise<Animation> ready;
|
||||||
readonly attribute Promise<Animation> finished;
|
readonly attribute Promise<Animation> finished;
|
||||||
|
|
||||||
// FIXME: attribute EventHandler onfinish;
|
attribute EventHandler onfinish;
|
||||||
// FIXME: attribute EventHandler oncancel;
|
attribute EventHandler oncancel;
|
||||||
// FIXME: attribute EventHandler onremove;
|
attribute EventHandler onremove;
|
||||||
|
|
||||||
undefined cancel();
|
undefined cancel();
|
||||||
undefined finish();
|
undefined finish();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue