Skip to content

Commit ba86b81

Browse files
AtkinsSJawesomekling
authored andcommitted
LibWeb/Animations: Make KeyframeEffect work with AbstractElements
1 parent 05e449d commit ba86b81

File tree

2 files changed

+16
-0
lines changed

2 files changed

+16
-0
lines changed

Libraries/LibWeb/Animations/KeyframeEffect.cpp

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -799,6 +799,19 @@ WebIDL::ExceptionOr<void> KeyframeEffect::set_pseudo_element(Optional<String> va
799799
return {};
800800
}
801801

802+
Optional<DOM::AbstractElement> KeyframeEffect::target_abstract_element() const
803+
{
804+
if (m_target_element)
805+
return DOM::AbstractElement { *m_target_element, pseudo_element_type() };
806+
return {};
807+
}
808+
809+
void KeyframeEffect::set_target(DOM::AbstractElement abstract_element)
810+
{
811+
set_target(&abstract_element.element());
812+
m_target_pseudo_selector = abstract_element.pseudo_element().map([](auto it) { return CSS::Selector::PseudoElementSelector { it }; });
813+
}
814+
802815
Optional<CSS::PseudoElement> KeyframeEffect::pseudo_element_type() const
803816
{
804817
if (!m_target_pseudo_selector.has_value())

Libraries/LibWeb/Animations/KeyframeEffect.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,9 @@ class KeyframeEffect final : public AnimationEffect {
9393
Optional<String> pseudo_element() const;
9494
WebIDL::ExceptionOr<void> set_pseudo_element(Optional<String>);
9595

96+
Optional<DOM::AbstractElement> target_abstract_element() const;
97+
void set_target(DOM::AbstractElement);
98+
9699
Optional<CSS::PseudoElement> pseudo_element_type() const;
97100
void set_pseudo_element(Optional<CSS::Selector::PseudoElementSelector> pseudo_element) { m_target_pseudo_selector = pseudo_element; }
98101

0 commit comments

Comments
 (0)