LibWeb/CSS: Remove the :target-within pseudo-class

This has been removed from the spec:

03b340c34f
This commit is contained in:
Sam Atkins 2025-07-15 14:38:52 +01:00 committed by Jelle Raaijmakers
commit b973c8d275
Notes: github-actions[bot] 2025-07-15 19:29:02 +00:00
4 changed files with 0 additions and 13 deletions

View file

@ -164,9 +164,6 @@
"target": { "target": {
"argument": "" "argument": ""
}, },
"target-within": {
"argument": ""
},
"user-invalid": { "user-invalid": {
"argument": "" "argument": ""
}, },

View file

@ -803,12 +803,6 @@ static inline bool matches_pseudo_class(CSS::Selector::SimpleSelector::PseudoCla
} }
case CSS::PseudoClass::Target: case CSS::PseudoClass::Target:
return element.is_target(); return element.is_target();
case CSS::PseudoClass::TargetWithin: {
auto* target_element = element.document().target_element();
if (!target_element)
return false;
return element.is_inclusive_ancestor_of(*target_element);
}
case CSS::PseudoClass::Dir: { case CSS::PseudoClass::Dir: {
// "Values other than ltr and rtl are not invalid, but do not match anything." // "Values other than ltr and rtl are not invalid, but do not match anything."
// - https://www.w3.org/TR/selectors-4/#the-dir-pseudo // - https://www.w3.org/TR/selectors-4/#the-dir-pseudo

View file

@ -3012,7 +3012,6 @@ void StyleComputer::build_rule_cache()
m_pseudo_class_rule_cache[to_underlying(PseudoClass::FocusWithin)] = make<RuleCache>(); m_pseudo_class_rule_cache[to_underlying(PseudoClass::FocusWithin)] = make<RuleCache>();
m_pseudo_class_rule_cache[to_underlying(PseudoClass::FocusVisible)] = make<RuleCache>(); m_pseudo_class_rule_cache[to_underlying(PseudoClass::FocusVisible)] = make<RuleCache>();
m_pseudo_class_rule_cache[to_underlying(PseudoClass::Target)] = make<RuleCache>(); m_pseudo_class_rule_cache[to_underlying(PseudoClass::Target)] = make<RuleCache>();
m_pseudo_class_rule_cache[to_underlying(PseudoClass::TargetWithin)] = make<RuleCache>();
make_rule_cache_for_cascade_origin(CascadeOrigin::Author, *m_selector_insights); make_rule_cache_for_cascade_origin(CascadeOrigin::Author, *m_selector_insights);
make_rule_cache_for_cascade_origin(CascadeOrigin::User, *m_selector_insights); make_rule_cache_for_cascade_origin(CascadeOrigin::User, *m_selector_insights);

View file

@ -2570,15 +2570,12 @@ void Document::set_target_element(GC::Ptr<Element> element)
if (old_target_node_root != new_target_node_root) { if (old_target_node_root != new_target_node_root) {
if (old_target_node_root) { if (old_target_node_root) {
invalidate_style_for_elements_affected_by_pseudo_class_change(CSS::PseudoClass::Target, m_target_element, *old_target_node_root, element); invalidate_style_for_elements_affected_by_pseudo_class_change(CSS::PseudoClass::Target, m_target_element, *old_target_node_root, element);
invalidate_style_for_elements_affected_by_pseudo_class_change(CSS::PseudoClass::TargetWithin, m_target_element, *old_target_node_root, element);
} }
if (new_target_node_root) { if (new_target_node_root) {
invalidate_style_for_elements_affected_by_pseudo_class_change(CSS::PseudoClass::Target, m_target_element, *new_target_node_root, element); invalidate_style_for_elements_affected_by_pseudo_class_change(CSS::PseudoClass::Target, m_target_element, *new_target_node_root, element);
invalidate_style_for_elements_affected_by_pseudo_class_change(CSS::PseudoClass::TargetWithin, m_target_element, *new_target_node_root, element);
} }
} else { } else {
invalidate_style_for_elements_affected_by_pseudo_class_change(CSS::PseudoClass::Target, m_target_element, *common_ancestor, element); invalidate_style_for_elements_affected_by_pseudo_class_change(CSS::PseudoClass::Target, m_target_element, *common_ancestor, element);
invalidate_style_for_elements_affected_by_pseudo_class_change(CSS::PseudoClass::TargetWithin, m_target_element, *common_ancestor, element);
} }
m_target_element = element; m_target_element = element;