Skip to content

Commit 1af0364

Browse files
Calme1709AtkinsSJ
authored andcommitted
LibWeb: Store last_css_animation_play_state on anim instead of effect
Since it is the animation rather than the effect which has a play state it makes more sense to store it here
1 parent 6a95506 commit 1af0364

File tree

4 files changed

+6
-7
lines changed

4 files changed

+6
-7
lines changed

Libraries/LibWeb/Animations/Animation.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,8 @@ class Animation : public DOM::EventTarget {
115115
auto release_saved_cancel_time() { return move(m_saved_cancel_time); }
116116

117117
double associated_effect_end() const;
118+
Optional<CSS::AnimationPlayState> last_css_animation_play_state() const { return m_last_css_animation_play_state; }
119+
void set_last_css_animation_play_state(CSS::AnimationPlayState state) { m_last_css_animation_play_state = state; }
118120

119121
protected:
120122
Animation(JS::Realm&);
@@ -205,6 +207,7 @@ class Animation : public DOM::EventTarget {
205207
Optional<double> m_saved_play_time;
206208
Optional<double> m_saved_pause_time;
207209
Optional<double> m_saved_cancel_time;
210+
Optional<CSS::AnimationPlayState> m_last_css_animation_play_state;
208211
};
209212

210213
}

Libraries/LibWeb/Animations/KeyframeEffect.h

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -109,9 +109,6 @@ class KeyframeEffect final : public AnimationEffect {
109109

110110
virtual void update_computed_properties(AnimationUpdateContext&) override;
111111

112-
Optional<CSS::AnimationPlayState> last_css_animation_play_state() const { return m_last_css_animation_play_state; }
113-
void set_last_css_animation_play_state(CSS::AnimationPlayState state) { m_last_css_animation_play_state = state; }
114-
115112
private:
116113
KeyframeEffect(JS::Realm&);
117114
virtual ~KeyframeEffect() override = default;
@@ -135,8 +132,6 @@ class KeyframeEffect final : public AnimationEffect {
135132
Vector<GC::Ref<JS::Object>> m_keyframe_objects {};
136133

137134
RefPtr<KeyFrameSet const> m_key_frame_set {};
138-
139-
Optional<CSS::AnimationPlayState> m_last_css_animation_play_state;
140135
};
141136

142137
}

Libraries/LibWeb/CSS/StyleComputer.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1136,7 +1136,7 @@ static void apply_animation_properties(DOM::Document const& document, ComputedPr
11361136
effect.set_playback_direction(Animations::css_animation_direction_to_bindings_playback_direction(animation_properties.direction));
11371137
effect.set_composite(Animations::css_animation_composition_to_bindings_composite_operation(animation_properties.composition));
11381138

1139-
if (animation_properties.play_state != effect.last_css_animation_play_state()) {
1139+
if (animation_properties.play_state != animation.last_css_animation_play_state()) {
11401140
if (animation_properties.play_state == CSS::AnimationPlayState::Running && animation.play_state() != Bindings::AnimationPlayState::Running) {
11411141
HTML::TemporaryExecutionContext context(document.realm());
11421142
animation.play().release_value_but_fixme_should_propagate_errors();
@@ -1145,7 +1145,7 @@ static void apply_animation_properties(DOM::Document const& document, ComputedPr
11451145
animation.pause().release_value_but_fixme_should_propagate_errors();
11461146
}
11471147

1148-
effect.set_last_css_animation_play_state(animation_properties.play_state);
1148+
animation.set_last_css_animation_play_state(animation_properties.play_state);
11491149
}
11501150
}
11511151

Libraries/LibWeb/Forward.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -401,6 +401,7 @@ enum class PropertyID : u16;
401401
enum class PaintOrder : u8;
402402
enum class ValueType : u8;
403403
enum class AnimatedPropertyResultOfTransition : u8;
404+
enum class AnimationPlayState : u8;
404405

405406
struct BackgroundLayerData;
406407
struct CalculationContext;

0 commit comments

Comments
 (0)