diff --git a/Libraries/LibWeb/CSS/PseudoClasses.json b/Libraries/LibWeb/CSS/PseudoClasses.json index 6a187d0f8de..ba69497114c 100644 --- a/Libraries/LibWeb/CSS/PseudoClasses.json +++ b/Libraries/LibWeb/CSS/PseudoClasses.json @@ -164,9 +164,6 @@ "target": { "argument": "" }, - "target-within": { - "argument": "" - }, "user-invalid": { "argument": "" }, diff --git a/Libraries/LibWeb/CSS/SelectorEngine.cpp b/Libraries/LibWeb/CSS/SelectorEngine.cpp index 20233ae0ef1..3a00569e022 100644 --- a/Libraries/LibWeb/CSS/SelectorEngine.cpp +++ b/Libraries/LibWeb/CSS/SelectorEngine.cpp @@ -803,12 +803,6 @@ static inline bool matches_pseudo_class(CSS::Selector::SimpleSelector::PseudoCla } case CSS::PseudoClass::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: { // "Values other than ltr and rtl are not invalid, but do not match anything." // - https://www.w3.org/TR/selectors-4/#the-dir-pseudo diff --git a/Libraries/LibWeb/CSS/StyleComputer.cpp b/Libraries/LibWeb/CSS/StyleComputer.cpp index 06e383caf01..47331d0a3f6 100644 --- a/Libraries/LibWeb/CSS/StyleComputer.cpp +++ b/Libraries/LibWeb/CSS/StyleComputer.cpp @@ -3012,7 +3012,6 @@ void StyleComputer::build_rule_cache() m_pseudo_class_rule_cache[to_underlying(PseudoClass::FocusWithin)] = make(); m_pseudo_class_rule_cache[to_underlying(PseudoClass::FocusVisible)] = make(); m_pseudo_class_rule_cache[to_underlying(PseudoClass::Target)] = make(); - m_pseudo_class_rule_cache[to_underlying(PseudoClass::TargetWithin)] = make(); make_rule_cache_for_cascade_origin(CascadeOrigin::Author, *m_selector_insights); make_rule_cache_for_cascade_origin(CascadeOrigin::User, *m_selector_insights); diff --git a/Libraries/LibWeb/DOM/Document.cpp b/Libraries/LibWeb/DOM/Document.cpp index 31603220b5b..ec3e67991f0 100644 --- a/Libraries/LibWeb/DOM/Document.cpp +++ b/Libraries/LibWeb/DOM/Document.cpp @@ -2570,15 +2570,12 @@ void Document::set_target_element(GC::Ptr element) if (old_target_node_root != new_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::TargetWithin, m_target_element, *old_target_node_root, element); } 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::TargetWithin, m_target_element, *new_target_node_root, element); } } 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::TargetWithin, m_target_element, *common_ancestor, element); } m_target_element = element;