aboutsummaryrefslogtreecommitdiffstats
path: root/components/layout_2020/flow/root.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/layout_2020/flow/root.rs')
-rw-r--r--components/layout_2020/flow/root.rs10
1 files changed, 7 insertions, 3 deletions
diff --git a/components/layout_2020/flow/root.rs b/components/layout_2020/flow/root.rs
index 55c325a3cd0..0d346a34eeb 100644
--- a/components/layout_2020/flow/root.rs
+++ b/components/layout_2020/flow/root.rs
@@ -38,6 +38,7 @@ use servo_arc::Arc;
use style::animation::AnimationSetKey;
use style::dom::OpaqueNode;
use style::properties::ComputedValues;
+use style::selector_parser::PseudoElement;
use style::values::computed::Length;
use style_traits::CSSPixel;
@@ -449,9 +450,12 @@ impl FragmentTree {
pub fn remove_nodes_in_fragment_tree_from_set(&self, set: &mut FxHashSet<AnimationSetKey>) {
self.find(|fragment, _| {
- if let Some(tag) = fragment.tag().as_ref() {
- set.remove(&AnimationSetKey(tag.node()));
- }
+ let (node, pseudo) = match fragment.tag()? {
+ Tag::Node(node) => (node, None),
+ Tag::BeforePseudo(node) => (node, Some(PseudoElement::Before)),
+ Tag::AfterPseudo(node) => (node, Some(PseudoElement::After)),
+ };
+ set.remove(&AnimationSetKey::new(node, pseudo));
None::<()>
});
}