LibWeb: Avoid unnecessary pseudo-element style recomputation

Track the synthetic pseudo-elements that matched while computing an
originating element's normal style. Store the transient match set as a
bitfield, then copy those bits into ComputedProperties. Use them during
style invalidation to skip pseudo style recomputation when neither the
old nor new originating style matched pseudo rules and no pseudo style
already exists.

This shaves roughly 500 ms off loading the Ladybird GitHub repository.

Materialize synthetic pseudo styles on demand for CSSOM reads so
getComputedStyle(element, "::before") still computes skipped styles when
script asks for them. Add coverage for a universal pseudo selector, and
update style invalidation counter expectations for the reduced work.
This commit is contained in:
Andreas Kling 2026-06-18 18:26:51 +02:00 committed by Andreas Kling
parent 340ef361d8
commit 86e0e281a0
29 changed files with 3948 additions and 3811 deletions

View file

@ -541,6 +541,33 @@ Optional<StyleProperty> CSSStyleProperties::get_property_internal(PropertyNameAn
return get_direct_property(property);
}
static void ensure_pseudo_element_style_for_cssom(DOM::AbstractElement abstract_element)
{
auto pseudo_element = abstract_element.pseudo_element();
if (!pseudo_element.has_value())
return;
if (!is_synthetic_pseudo_element(*pseudo_element))
return;
if (abstract_element.computed_properties())
return;
auto& style_computer = abstract_element.document().style_computer();
style_computer.reset_has_result_cache();
auto const* first_ancestor = &abstract_element.element();
for (auto* ancestor = first_ancestor; ancestor; ancestor = ancestor->parent_or_shadow_host_element())
style_computer.push_ancestor(*ancestor);
ScopeGuard pop_ancestors = [&] {
for (auto* ancestor = first_ancestor; ancestor; ancestor = ancestor->parent_or_shadow_host_element())
style_computer.pop_ancestor(*ancestor);
};
bool did_change_custom_properties = false;
auto style = style_computer.compute_pseudo_element_style_if_needed(abstract_element, did_change_custom_properties);
abstract_element.element().set_computed_properties(*pseudo_element, move(style));
}
Optional<StyleProperty> CSSStyleProperties::get_direct_property(PropertyNameAndID const& property_name_and_id) const
{
auto const property_id = property_name_and_id.id();
@ -588,6 +615,7 @@ Optional<StyleProperty> CSSStyleProperties::get_direct_property(PropertyNameAndI
// so the leaf and its inheritance ancestors may still be stale at this point.
if (abstract_element.document().element_needs_style_update(abstract_element))
abstract_element.document().update_style_for_element(abstract_element);
ensure_pseudo_element_style_for_cssom(abstract_element);
// Container queries and container-relative units need layout to resolve. Avoid forcing layout for every
// getComputedStyle() call; only elements that actually depend on a query container need the post-layout style.

View file

@ -56,6 +56,8 @@
namespace Web::CSS {
static_assert(to_underlying(PseudoElement::KnownPseudoElementCount) <= sizeof(u64) * 8);
ComputedProperties::ComputedProperties() = default;
ComputedProperties::~ComputedProperties() = default;
@ -108,6 +110,20 @@ bool ComputedProperties::is_animated_property_result_of_transition(PropertyID pr
return m_animated_property_result_of_transition[n / 8] & (1 << (n % 8));
}
bool ComputedProperties::has_pseudo_element_style(PseudoElement pseudo_element) const
{
VERIFY(to_underlying(pseudo_element) < to_underlying(PseudoElement::KnownPseudoElementCount));
return m_pseudo_element_styles & (1ull << to_underlying(pseudo_element));
}
void ComputedProperties::set_has_pseudo_element_styles(u64 pseudo_element_styles)
{
constexpr auto known_pseudo_element_count = to_underlying(PseudoElement::KnownPseudoElementCount);
if constexpr (known_pseudo_element_count < sizeof(u64) * 8)
VERIFY((pseudo_element_styles >> known_pseudo_element_count) == 0);
m_pseudo_element_styles |= pseudo_element_styles;
}
void ComputedProperties::set_property_inherited(PropertyID property_id, Inherited inherited)
{
VERIFY(property_id >= first_longhand_property_id && property_id <= last_longhand_property_id);
@ -141,6 +157,12 @@ void ComputedProperties::set_animated_property_result_of_transition(PropertyID p
m_animated_property_result_of_transition[n / 8] &= ~(1 << (n % 8));
}
void ComputedProperties::set_has_pseudo_element_style(PseudoElement pseudo_element)
{
VERIFY(to_underlying(pseudo_element) < to_underlying(PseudoElement::KnownPseudoElementCount));
m_pseudo_element_styles |= 1ull << to_underlying(pseudo_element);
}
void ComputedProperties::set_property(PropertyID id, NonnullRefPtr<StyleValue const> value, Inherited inherited, Important important)
{
VERIFY(id >= first_longhand_property_id && id <= last_longhand_property_id);

View file

@ -21,6 +21,7 @@
#include <LibWeb/CSS/PropertyID.h>
#include <LibWeb/CSS/PseudoClass.h>
#include <LibWeb/CSS/PseudoClassBitmap.h>
#include <LibWeb/CSS/PseudoElement.h>
#include <LibWeb/CSS/StyleProperty.h>
#include <LibWeb/Export.h>
@ -72,12 +73,15 @@ public:
bool is_animated_property_result_of_transition(PropertyID property_id) const;
bool depends_on_viewport_metrics() const { return m_depends_on_viewport_metrics; }
bool font_metrics_depend_on_viewport_metrics() const { return m_font_metrics_depend_on_viewport_metrics; }
bool has_pseudo_element_style(PseudoElement) const;
void set_has_pseudo_element_styles(u64);
void set_property_important(PropertyID, Important);
void set_property_inherited(PropertyID, Inherited);
void set_animated_property_inherited(PropertyID, Inherited);
void set_animated_property_result_of_transition(PropertyID, AnimatedPropertyResultOfTransition);
void set_depends_on_viewport_metrics() { m_depends_on_viewport_metrics = true; }
void set_font_metrics_depend_on_viewport_metrics() { m_font_metrics_depend_on_viewport_metrics = true; }
void set_has_pseudo_element_style(PseudoElement);
void set_property(PropertyID, NonnullRefPtr<StyleValue const> value, Inherited = Inherited::No, Important = Important::No);
void set_property_without_modifying_flags(PropertyID, NonnullRefPtr<StyleValue const> value);
@ -304,6 +308,7 @@ private:
Display m_display_before_box_type_transformation { InitialValues::display() };
bool m_depends_on_viewport_metrics { false };
bool m_font_metrics_depend_on_viewport_metrics { false };
u64 m_pseudo_element_styles { 0 };
RefPtr<Gfx::FontCascadeList const> m_cached_computed_font_list;
RefPtr<Gfx::Font const> m_cached_first_available_computed_font;

View file

@ -1697,6 +1697,31 @@ bool matches(CSS::Selector const& selector, DOM::AbstractElement const& target,
return matches_compound_selector(selector, selector.compound_selectors().size() - 1, target, shadow_host, context, scope, selector_kind, anchor);
}
bool matches_originating_element_for_pseudo_element(CSS::Selector const& selector, CSS::PseudoElement pseudo_element, DOM::AbstractElement const& target, GC::Ptr<DOM::Element const> shadow_host, MatchContext& context, GC::Ptr<DOM::ParentNode const> scope)
{
VERIFY(!target.pseudo_element().has_value());
auto const& compound_selectors = selector.compound_selectors();
for (size_t i = compound_selectors.size(); i > 0; --i) {
auto const compound_index = i - 1;
auto const& compound_selector = compound_selectors[compound_index];
if (compound_selector.combinator != CSS::Selector::Combinator::PseudoElement)
continue;
if (compound_selector.simple_selectors.is_empty())
continue;
auto const& simple_selector = compound_selector.simple_selectors.first();
if (simple_selector.type != CSS::Selector::SimpleSelector::Type::PseudoElement)
continue;
if (simple_selector.pseudo_element().type() != pseudo_element)
continue;
if (compound_index == 0)
return false;
return matches_compound_selector(selector, compound_index - 1, target, shadow_host, context, scope, SelectorKind::Normal);
}
return false;
}
static bool fast_matches_simple_selector(CSS::Selector::SimpleSelector const& simple_selector, DOM::Element const& element, GC::Ptr<DOM::Element const> shadow_host, MatchContext& context)
{
if (should_block_shadow_host_matching(simple_selector, shadow_host, element))

View file

@ -58,5 +58,6 @@ struct MatchContext {
};
bool matches(CSS::Selector const&, DOM::AbstractElement const&, GC::Ptr<DOM::Element const> shadow_host, MatchContext& context, GC::Ptr<DOM::ParentNode const> scope = {}, SelectorKind selector_kind = SelectorKind::Normal, GC::Ptr<DOM::Element const> anchor = nullptr);
bool matches_originating_element_for_pseudo_element(CSS::Selector const&, CSS::PseudoElement, DOM::AbstractElement const&, GC::Ptr<DOM::Element const> shadow_host, MatchContext&, GC::Ptr<DOM::ParentNode const> scope = {});
}

View file

@ -375,7 +375,13 @@ static Optional<ResolvedScope> resolve_scope(DOM::AbstractElement abstract_eleme
return resolve_scope_chain(abstract_element, rule, shadow_host, rule_root, *rule.scope_rule);
}
Vector<StyleComputer::ScopedMatchingRule> StyleComputer::collect_matching_rules_from_context(DOM::AbstractElement abstract_element, CascadeOrigin cascade_origin, GC::Ptr<DOM::ShadowRoot const> context_shadow_root, Optional<FlyString const> qualified_layer_name) const
static u64 pseudo_element_style_bit(PseudoElement pseudo_element)
{
VERIFY(to_underlying(pseudo_element) < to_underlying(PseudoElement::KnownPseudoElementCount));
return 1ull << to_underlying(pseudo_element);
}
Vector<StyleComputer::ScopedMatchingRule> StyleComputer::collect_matching_rules_from_context(DOM::AbstractElement abstract_element, CascadeOrigin cascade_origin, GC::Ptr<DOM::ShadowRoot const> context_shadow_root, Optional<FlyString const> qualified_layer_name, u64* matching_pseudo_element_styles) const
{
auto const& root_node = abstract_element.element().root();
auto shadow_root = as_if<DOM::ShadowRoot>(root_node);
@ -450,7 +456,14 @@ Vector<StyleComputer::ScopedMatchingRule> StyleComputer::collect_matching_rules_
}
} else {
for (auto const& rule : rules) {
if ((rule.slotted || rule.contains_part_pseudo_element || !rule.contains_pseudo_element) && filter_namespace_rule(element_namespace_uri, rule))
if (!filter_namespace_rule(element_namespace_uri, rule))
continue;
if (rule.selector.target_pseudo_element().has_value()) {
if (matching_pseudo_element_styles)
add_rule_to_run(rule, rule_root);
continue;
}
if (rule.slotted || rule.contains_part_pseudo_element || !rule.contains_pseudo_element)
add_rule_to_run(rule, rule_root);
}
}
@ -461,6 +474,10 @@ Vector<StyleComputer::ScopedMatchingRule> StyleComputer::collect_matching_rules_
add_rules_to_run(matching_rules, rule_root);
return IterationDecision::Continue;
});
if (!abstract_element.pseudo_element().has_value() && matching_pseudo_element_styles) {
for (auto const& matching_rules : rule_cache.rules_by_pseudo_element)
add_rules_to_run(matching_rules, rule_root);
}
};
if (auto const* rule_cache = rule_cache_for_cascade_origin(cascade_origin, qualified_layer_name, context_shadow_root))
@ -539,6 +556,20 @@ Vector<StyleComputer::ScopedMatchingRule> StyleComputer::collect_matching_rules_
.collect_per_element_selector_involvement_metadata = true,
.has_result_cache = m_has_result_cache.ptr(),
};
if (!abstract_element.pseudo_element().has_value() && matching_pseudo_element_styles) {
if (auto pseudo_element = selector.target_pseudo_element(); pseudo_element.has_value()) {
if (is_synthetic_pseudo_element(*pseudo_element)) {
auto pseudo_element_bit = pseudo_element_style_bit(*pseudo_element);
if (*matching_pseudo_element_styles & pseudo_element_bit)
continue;
if (selector.contains_pseudo_class(PseudoClass::Has)
|| SelectorEngine::matches_originating_element_for_pseudo_element(selector, *pseudo_element, abstract_element, shadow_host_to_use, context, resolved_scope->root)) {
*matching_pseudo_element_styles |= pseudo_element_bit;
}
}
continue;
}
}
if (!SelectorEngine::matches(selector, abstract_element, shadow_host_to_use, context, resolved_scope->root))
continue;
if (rule.container_rule && rule.container_rule->contains_size_feature()) {
@ -1414,6 +1445,11 @@ void StyleComputer::start_needed_transitions(ComputedProperties const& previous_
StyleComputer::MatchingRuleSet StyleComputer::build_matching_rule_set(DOM::AbstractElement abstract_element, bool& did_match_any_pseudo_element_rules, ComputeStyleMode mode) const
{
MatchingRuleSet matching_rule_set;
u64* matching_pseudo_element_styles = nullptr;
if (mode == ComputeStyleMode::Normal && !abstract_element.pseudo_element().has_value())
matching_pseudo_element_styles = &matching_rule_set.matching_pseudo_element_styles;
auto collect_author_contexts = [&] {
Vector<GC::Ptr<DOM::ShadowRoot const>, 4> context_shadow_roots;
auto append_context = [&](GC::Ptr<DOM::ShadowRoot const> shadow_root) {
@ -1464,12 +1500,12 @@ StyleComputer::MatchingRuleSet StyleComputer::build_matching_rule_set(DOM::Abstr
};
for (auto const& layer_name : context_rule_cache.qualified_layer_names_in_order) {
auto layer_rules = collect_matching_rules_from_context(abstract_element, CascadeOrigin::Author, shadow_root, layer_name);
auto layer_rules = collect_matching_rules_from_context(abstract_element, CascadeOrigin::Author, shadow_root, layer_name, matching_pseudo_element_styles);
sort_matching_rules(layer_rules);
context.author_rules.append({ layer_name, layer_rules });
}
auto unlayered_author_rules = collect_matching_rules_from_context(abstract_element, CascadeOrigin::Author, shadow_root);
auto unlayered_author_rules = collect_matching_rules_from_context(abstract_element, CascadeOrigin::Author, shadow_root, {}, matching_pseudo_element_styles);
sort_matching_rules(unlayered_author_rules);
context.author_rules.append({ {}, unlayered_author_rules });
@ -1480,10 +1516,9 @@ StyleComputer::MatchingRuleSet StyleComputer::build_matching_rule_set(DOM::Abstr
};
// First, we collect all the CSS rules whose selectors match `element`:
MatchingRuleSet matching_rule_set;
matching_rule_set.user_agent_rules = collect_matching_rules_from_context(abstract_element, CascadeOrigin::UserAgent, nullptr);
matching_rule_set.user_agent_rules = collect_matching_rules_from_context(abstract_element, CascadeOrigin::UserAgent, nullptr, {}, matching_pseudo_element_styles);
sort_matching_rules(matching_rule_set.user_agent_rules);
matching_rule_set.user_rules = collect_matching_rules_from_context(abstract_element, CascadeOrigin::User, nullptr);
matching_rule_set.user_rules = collect_matching_rules_from_context(abstract_element, CascadeOrigin::User, nullptr, {}, matching_pseudo_element_styles);
sort_matching_rules(matching_rule_set.user_rules);
matching_rule_set.author_contexts = collect_author_contexts();
@ -2636,6 +2671,7 @@ RefPtr<ComputedProperties> StyleComputer::compute_style_impl(DOM::AbstractElemen
}
auto computed_properties = compute_properties(abstract_element, cascaded_properties);
computed_properties->set_has_pseudo_element_styles(matching_rule_set.matching_pseudo_element_styles);
if (did_change_custom_properties.has_value()) {
auto new_custom_property_data = abstract_element.custom_property_data();

View file

@ -178,6 +178,7 @@ private:
Vector<ScopedMatchingRule> user_agent_rules;
Vector<ScopedMatchingRule> user_rules;
Vector<ContextMatchingRules> author_contexts;
u64 matching_pseudo_element_styles { 0 };
};
[[nodiscard]] MatchingRuleSet build_matching_rule_set(DOM::AbstractElement, bool& did_match_any_pseudo_element_rules, ComputeStyleMode) const;
@ -193,7 +194,7 @@ private:
[[nodiscard]] Length::FontMetrics calculate_root_element_font_metrics(ComputedProperties const&) const;
[[nodiscard]] Vector<ScopedMatchingRule> collect_matching_rules_from_context(DOM::AbstractElement, CascadeOrigin, GC::Ptr<DOM::ShadowRoot const>, Optional<FlyString const> qualified_layer_name = {}) const;
[[nodiscard]] Vector<ScopedMatchingRule> collect_matching_rules_from_context(DOM::AbstractElement, CascadeOrigin, GC::Ptr<DOM::ShadowRoot const>, Optional<FlyString const> qualified_layer_name = {}, u64* matching_pseudo_element_styles = nullptr) const;
void cascade_declarations(
CascadedProperties&,

View file

@ -977,17 +977,24 @@ static CSS::RequiredInvalidationAfterStyleChange compute_required_invalidation(C
return invalidation;
}
CSS::RequiredInvalidationAfterStyleChange Element::recompute_pseudo_element_styles(bool& did_change_custom_properties, bool had_list_marker)
CSS::RequiredInvalidationAfterStyleChange Element::recompute_pseudo_element_styles(bool& did_change_custom_properties, bool had_list_marker, CSS::ComputedProperties const* old_originating_style)
{
CSS::RequiredInvalidationAfterStyleChange invalidation;
auto& style_computer = document().style_computer();
// Any document change that can cause this element's style to change, could also affect its pseudo-elements.
auto recompute_pseudo_element_style = [&](CSS::PseudoElement pseudo_element) {
auto recompute_pseudo_element_style = [&](CSS::PseudoElement pseudo_element, bool has_implicit_style = false) {
auto pseudo_element_style = computed_properties(pseudo_element);
auto should_recompute = has_implicit_style
|| pseudo_element_style
|| (old_originating_style && old_originating_style->has_pseudo_element_style(pseudo_element))
|| (m_computed_properties && m_computed_properties->has_pseudo_element_style(pseudo_element));
if (!should_recompute)
return;
style_computer.push_ancestor(*this);
auto pseudo_element_style = computed_properties(pseudo_element);
auto new_pseudo_element_style = style_computer.compute_pseudo_element_style_if_needed({ *this, pseudo_element }, did_change_custom_properties);
// TODO: Can we be smarter about invalidation?
@ -1009,7 +1016,7 @@ CSS::RequiredInvalidationAfterStyleChange Element::recompute_pseudo_element_styl
if (m_rendered_in_top_layer)
recompute_pseudo_element_style(CSS::PseudoElement::Backdrop);
if (had_list_marker || m_computed_properties->display().is_list_item())
recompute_pseudo_element_style(CSS::PseudoElement::Marker);
recompute_pseudo_element_style(CSS::PseudoElement::Marker, true);
return invalidation;
}
@ -1072,6 +1079,7 @@ CSS::RequiredInvalidationAfterStyleChange Element::recompute_style(bool& did_cha
new_computed_properties->set_property(CSS::PropertyID::TextAlign, CSS::KeywordStyleValue::create(CSS::Keyword::Start));
}
auto old_computed_properties = m_computed_properties;
bool had_list_marker = false;
CSS::RequiredInvalidationAfterStyleChange invalidation;
@ -1115,7 +1123,7 @@ CSS::RequiredInvalidationAfterStyleChange Element::recompute_style(bool& did_cha
});
}
invalidation |= recompute_pseudo_element_styles(did_change_custom_properties, had_list_marker);
invalidation |= recompute_pseudo_element_styles(did_change_custom_properties, had_list_marker, old_computed_properties.ptr());
if (invalidation.is_none()) {
counters.element_style_noop_recomputations++;
@ -1188,7 +1196,7 @@ CSS::RequiredInvalidationAfterStyleChange Element::recompute_inherited_style(Sch
}
bool did_change_custom_properties = false;
invalidation |= recompute_pseudo_element_styles(did_change_custom_properties, had_list_marker);
invalidation |= recompute_pseudo_element_styles(did_change_custom_properties, had_list_marker, computed_properties.ptr());
if (invalidation.is_none()) {
counters.element_inherited_style_noop_recomputations++;

View file

@ -675,7 +675,7 @@ private:
FlyString make_html_uppercased_qualified_name() const;
void exit_fullscreen_on_element_removal();
CSS::RequiredInvalidationAfterStyleChange recompute_pseudo_element_styles(bool& did_change_custom_properties, bool had_list_marker);
CSS::RequiredInvalidationAfterStyleChange recompute_pseudo_element_styles(bool& did_change_custom_properties, bool had_list_marker, CSS::ComputedProperties const* old_originating_style);
void apply_computed_style_to_layout_node_if_needed(CSS::RequiredInvalidationAfterStyleChange const&);
WebIDL::ExceptionOr<GC::Ptr<Node>> insert_adjacent(StringView where, GC::Ref<Node> node);

View file

@ -4,3 +4,6 @@
#foo::before:
color: rgb(128, 128, 128)
background-color: rgb(0, 255, 255)
#foo::after:
content: "bye"
color: rgb(0, 128, 0)

View file

@ -793,7 +793,7 @@ PASS: pseudo-element child mutation: document: :has(> .hit:first-child) after pr
PASS: pseudo-element child mutation without warmup: document: :has(> .hit:first-child) after prepend | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: document: :has(> .hit:first-child) after insertBefore | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: document: :has(> .hit:first-child) after insertBefore | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: document: :has(> .hit) ignores nested child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: document: :has(> .hit) ignores nested child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: pseudo-element child mutation: document: :has(span.hit) after typed child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: document: :has(span.hit) after typed child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: document: :has([data-hit]) after attribute-bearing child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -818,7 +818,7 @@ PASS: pseudo-element child mutation: document: :has(.hit ~ .after) after indirec
PASS: pseudo-element child mutation without warmup: document: :has(.hit ~ .after) after indirect sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: document: :has(> .wrapper > .hit) after nested structure append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: document: :has(> .wrapper > .hit) after nested structure append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: document: :not(:has(.hit)) becomes false after child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: document: :not(:has(.hit)) becomes false after child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: pseudo-element child mutation: document: :has(.hit, .fallback) after first-list child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: document: :has(.hit, .fallback) after first-list child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: document: :has(:empty) after empty child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -827,12 +827,12 @@ PASS: pseudo-element child mutation: document: :has(.hit) after replaceChild | s
PASS: pseudo-element child mutation without warmup: document: :has(.hit) after replaceChild | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: document: :has(.hit) after replaceChildren | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: document: :has(.hit) after replaceChildren | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: document: :has(.hit) becomes false after child removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: document: :has(.hit) becomes false after removeChild | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: document: :has(.hit) becomes false after child moves out | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: document: :empty becomes true after replaceChildren | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: pseudo-element child mutation: document: :has(.hit) becomes false after child removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: pseudo-element child mutation: document: :has(.hit) becomes false after removeChild | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: pseudo-element child mutation: document: :has(.hit) becomes false after child moves out | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: pseudo-element child mutation: document: :empty becomes true after replaceChildren | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: pseudo-element child mutation without warmup: document: :empty becomes true after replaceChildren | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: pseudo-element child mutation: document: :empty becomes true after textContent clear | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: pseudo-element child mutation: document: :empty becomes true after textContent clear | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: pseudo-element child mutation without warmup: document: :empty becomes true after textContent clear | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: pseudo-element child mutation: document: :empty stays true after comment append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: pseudo-element child mutation: document: :empty becomes false after whitespace text append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
@ -844,7 +844,7 @@ PASS: pseudo-element child mutation: document: :has(> *) after child append | st
PASS: pseudo-element child mutation without warmup: document: :has(> *) after child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: document: :has(:checked) after checked checkbox append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: document: :has(:checked) after checked checkbox append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: document: :has(:checked) becomes false after checked checkbox removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: document: :has(:checked) becomes false after checked checkbox removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: pseudo-element child mutation: document: :has(:not(:checked)) after unchecked checkbox append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: document: :has(:not(:checked)) after unchecked checkbox append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: document: :has(:enabled) after enabled input append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -855,7 +855,7 @@ PASS: pseudo-element child mutation: document: :has(:required) after required in
PASS: pseudo-element child mutation without warmup: document: :has(:required) after required input append | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: document: :has(:optional) after optional input append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: document: :has(:optional) after optional input append | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: document: :has(:empty) becomes false after text inserted into only child | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: document: :has(:empty) becomes false after text inserted into only child | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: pseudo-element child mutation: document: :has(:not(:empty)) after non-empty child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: document: :has(:not(:empty)) after non-empty child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: document: :has(:dir(rtl)) after dir=auto child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -868,7 +868,7 @@ PASS: pseudo-element child mutation: document: :has(:any-link) after linked anch
PASS: pseudo-element child mutation without warmup: document: :has(:any-link) after linked anchor append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: document: :has(:only-child) after only child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: document: :has(:only-child) after only child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: document: :has(:only-child) becomes false after sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: document: :has(:only-child) becomes false after sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: pseudo-element child mutation: document: :has(:nth-child(2)) after second child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: document: :has(:nth-child(2)) after second child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: document: :has(:nth-last-child(2)) after trailing child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -889,7 +889,7 @@ PASS: pseudo-element child mutation: document: :has(> .outer .hit) after child s
PASS: pseudo-element child mutation without warmup: document: :has(> .outer .hit) after child subtree append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: document: :has(> .outer > .middle > .hit) after exact deep append | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=3, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: document: :has(> .outer > .middle > .hit) after exact deep append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=3, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: document: :has(.miss .hit) ignores hit without required ancestor | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: document: :has(.miss .hit) ignores hit without required ancestor | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: pseudo-element child mutation: document: :has(.before + .hit) after adjacent pair append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: document: :has(.before + .hit) after adjacent pair append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: document: :has(.before ~ .hit) after separated sibling append | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -900,7 +900,7 @@ PASS: pseudo-element child mutation: document: :has(.hit ~ .after ~ .tail) after
PASS: pseudo-element child mutation without warmup: document: :has(.hit ~ .after ~ .tail) after indirect chain append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=3, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: document: :has(.hit:only-child) after only child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: document: :has(.hit:only-child) after only child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: document: :has(.hit:only-child) becomes false after sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: document: :has(.hit:only-child) becomes false after sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: pseudo-element child mutation: document: :has(.hit:nth-last-child(1)) after last child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: document: :has(.hit:nth-last-child(1)) after last child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: document: :has(.hit:nth-last-child(2)) after trailing child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -909,7 +909,7 @@ PASS: pseudo-element child mutation: document: :has(.hit:nth-of-type(2)) after s
PASS: pseudo-element child mutation without warmup: document: :has(.hit:nth-of-type(2)) after second typed child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: document: :has(.hit:only-of-type) after only typed child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: document: :has(.hit:only-of-type) after only typed child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: document: :has(.hit:only-of-type) becomes false after same type sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: document: :has(.hit:only-of-type) becomes false after same type sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: pseudo-element child mutation: document: :has(:is(.hit, .fallback)) after second-list child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: document: :has(:is(.hit, .fallback)) after second-list child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: document: :has(:where(.hit, .fallback)) after second-list child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -924,18 +924,18 @@ PASS: pseudo-element child mutation: document: :not(:has(.miss)):has(.hit) after
PASS: pseudo-element child mutation without warmup: document: :not(:has(.miss)):has(.hit) after direct child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: pseudo-element child mutation: document: :has(.hit:not(:empty)) after non-empty child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: document: :has(.hit:not(:empty)) after non-empty child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: document: :has(.hit:empty) becomes false after nested text append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: document: :has(.hit:empty) becomes false after nested text append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: pseudo-element child mutation: document: :has(.hit) after append with multiple arguments | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: document: :has(.hit) after append with multiple arguments | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: document: :has(.hit:first-child + .after) after prepend before existing child | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: document: :has(.hit:first-child + .after) after prepend before existing child | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: document: :has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: document: :has(.hit + .after) becomes false after middle child removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: document: :has(.hit ~ .after) becomes false after following child removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: document: :has(> .wrapper > .hit) becomes false after nested child removal | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: document: :has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: pseudo-element child mutation: document: :has(.hit + .after) becomes false after middle child removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: pseudo-element child mutation: document: :has(.hit ~ .after) becomes false after following child removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: pseudo-element child mutation: document: :has(> .wrapper > .hit) becomes false after nested child removal | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: pseudo-element child mutation: document: :has(.hit) after replaceWith matching child | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: document: :has(.hit) after replaceWith matching child | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: document: :has(.hit) becomes false after replaceWith nonmatching child | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: document: :has(.hit) becomes false after replaceWith nonmatching child | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: pseudo-element child mutation: document: :has(.hit) after cloned child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: document: :has(.hit) after cloned child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: document: :has(.hit) after fragment replaceChildren | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -964,7 +964,7 @@ PASS: pseudo-element child mutation: shadow-internal: :has(> .hit:first-child) a
PASS: pseudo-element child mutation without warmup: shadow-internal: :has(> .hit:first-child) after prepend | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-internal: :has(> .hit:first-child) after insertBefore | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: shadow-internal: :has(> .hit:first-child) after insertBefore | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-internal: :has(> .hit) ignores nested child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-internal: :has(> .hit) ignores nested child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: pseudo-element child mutation: shadow-internal: :has(span.hit) after typed child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: shadow-internal: :has(span.hit) after typed child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-internal: :has([data-hit]) after attribute-bearing child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -989,7 +989,7 @@ PASS: pseudo-element child mutation: shadow-internal: :has(.hit ~ .after) after
PASS: pseudo-element child mutation without warmup: shadow-internal: :has(.hit ~ .after) after indirect sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-internal: :has(> .wrapper > .hit) after nested structure append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: shadow-internal: :has(> .wrapper > .hit) after nested structure append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-internal: :not(:has(.hit)) becomes false after child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-internal: :not(:has(.hit)) becomes false after child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: pseudo-element child mutation: shadow-internal: :has(.hit, .fallback) after first-list child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: shadow-internal: :has(.hit, .fallback) after first-list child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-internal: :has(:empty) after empty child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -998,12 +998,12 @@ PASS: pseudo-element child mutation: shadow-internal: :has(.hit) after replaceCh
PASS: pseudo-element child mutation without warmup: shadow-internal: :has(.hit) after replaceChild | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-internal: :has(.hit) after replaceChildren | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: shadow-internal: :has(.hit) after replaceChildren | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-internal: :has(.hit) becomes false after child removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-internal: :has(.hit) becomes false after removeChild | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-internal: :has(.hit) becomes false after child moves out | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-internal: :empty becomes true after replaceChildren | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: pseudo-element child mutation: shadow-internal: :has(.hit) becomes false after child removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: pseudo-element child mutation: shadow-internal: :has(.hit) becomes false after removeChild | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: pseudo-element child mutation: shadow-internal: :has(.hit) becomes false after child moves out | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: pseudo-element child mutation: shadow-internal: :empty becomes true after replaceChildren | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: pseudo-element child mutation without warmup: shadow-internal: :empty becomes true after replaceChildren | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: pseudo-element child mutation: shadow-internal: :empty becomes true after textContent clear | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: pseudo-element child mutation: shadow-internal: :empty becomes true after textContent clear | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: pseudo-element child mutation without warmup: shadow-internal: :empty becomes true after textContent clear | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: pseudo-element child mutation: shadow-internal: :empty stays true after comment append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: pseudo-element child mutation: shadow-internal: :empty becomes false after whitespace text append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
@ -1015,7 +1015,7 @@ PASS: pseudo-element child mutation: shadow-internal: :has(> *) after child appe
PASS: pseudo-element child mutation without warmup: shadow-internal: :has(> *) after child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-internal: :has(:checked) after checked checkbox append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: shadow-internal: :has(:checked) after checked checkbox append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-internal: :has(:checked) becomes false after checked checkbox removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-internal: :has(:checked) becomes false after checked checkbox removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: pseudo-element child mutation: shadow-internal: :has(:not(:checked)) after unchecked checkbox append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: shadow-internal: :has(:not(:checked)) after unchecked checkbox append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-internal: :has(:enabled) after enabled input append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -1026,7 +1026,7 @@ PASS: pseudo-element child mutation: shadow-internal: :has(:required) after requ
PASS: pseudo-element child mutation without warmup: shadow-internal: :has(:required) after required input append | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-internal: :has(:optional) after optional input append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: shadow-internal: :has(:optional) after optional input append | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-internal: :has(:empty) becomes false after text inserted into only child | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-internal: :has(:empty) becomes false after text inserted into only child | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: pseudo-element child mutation: shadow-internal: :has(:not(:empty)) after non-empty child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: shadow-internal: :has(:not(:empty)) after non-empty child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-internal: :has(:dir(rtl)) after dir=auto child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -1039,7 +1039,7 @@ PASS: pseudo-element child mutation: shadow-internal: :has(:any-link) after link
PASS: pseudo-element child mutation without warmup: shadow-internal: :has(:any-link) after linked anchor append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-internal: :has(:only-child) after only child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: shadow-internal: :has(:only-child) after only child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-internal: :has(:only-child) becomes false after sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-internal: :has(:only-child) becomes false after sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: pseudo-element child mutation: shadow-internal: :has(:nth-child(2)) after second child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: shadow-internal: :has(:nth-child(2)) after second child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-internal: :has(:nth-last-child(2)) after trailing child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -1060,7 +1060,7 @@ PASS: pseudo-element child mutation: shadow-internal: :has(> .outer .hit) after
PASS: pseudo-element child mutation without warmup: shadow-internal: :has(> .outer .hit) after child subtree append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-internal: :has(> .outer > .middle > .hit) after exact deep append | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: shadow-internal: :has(> .outer > .middle > .hit) after exact deep append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-internal: :has(.miss .hit) ignores hit without required ancestor | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-internal: :has(.miss .hit) ignores hit without required ancestor | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: pseudo-element child mutation: shadow-internal: :has(.before + .hit) after adjacent pair append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: shadow-internal: :has(.before + .hit) after adjacent pair append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-internal: :has(.before ~ .hit) after separated sibling append | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -1071,7 +1071,7 @@ PASS: pseudo-element child mutation: shadow-internal: :has(.hit ~ .after ~ .tail
PASS: pseudo-element child mutation without warmup: shadow-internal: :has(.hit ~ .after ~ .tail) after indirect chain append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-internal: :has(.hit:only-child) after only child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: shadow-internal: :has(.hit:only-child) after only child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-internal: :has(.hit:only-child) becomes false after sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-internal: :has(.hit:only-child) becomes false after sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: pseudo-element child mutation: shadow-internal: :has(.hit:nth-last-child(1)) after last child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: shadow-internal: :has(.hit:nth-last-child(1)) after last child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-internal: :has(.hit:nth-last-child(2)) after trailing child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -1080,7 +1080,7 @@ PASS: pseudo-element child mutation: shadow-internal: :has(.hit:nth-of-type(2))
PASS: pseudo-element child mutation without warmup: shadow-internal: :has(.hit:nth-of-type(2)) after second typed child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-internal: :has(.hit:only-of-type) after only typed child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: shadow-internal: :has(.hit:only-of-type) after only typed child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-internal: :has(.hit:only-of-type) becomes false after same type sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-internal: :has(.hit:only-of-type) becomes false after same type sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: pseudo-element child mutation: shadow-internal: :has(:is(.hit, .fallback)) after second-list child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: shadow-internal: :has(:is(.hit, .fallback)) after second-list child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-internal: :has(:where(.hit, .fallback)) after second-list child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -1095,18 +1095,18 @@ PASS: pseudo-element child mutation: shadow-internal: :not(:has(.miss)):has(.hit
PASS: pseudo-element child mutation without warmup: shadow-internal: :not(:has(.miss)):has(.hit) after direct child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: pseudo-element child mutation: shadow-internal: :has(.hit:not(:empty)) after non-empty child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: shadow-internal: :has(.hit:not(:empty)) after non-empty child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-internal: :has(.hit:empty) becomes false after nested text append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-internal: :has(.hit:empty) becomes false after nested text append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: pseudo-element child mutation: shadow-internal: :has(.hit) after append with multiple arguments | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: shadow-internal: :has(.hit) after append with multiple arguments | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-internal: :has(.hit:first-child + .after) after prepend before existing child | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: shadow-internal: :has(.hit:first-child + .after) after prepend before existing child | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-internal: :has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-internal: :has(.hit + .after) becomes false after middle child removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-internal: :has(.hit ~ .after) becomes false after following child removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-internal: :has(> .wrapper > .hit) becomes false after nested child removal | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-internal: :has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: pseudo-element child mutation: shadow-internal: :has(.hit + .after) becomes false after middle child removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: pseudo-element child mutation: shadow-internal: :has(.hit ~ .after) becomes false after following child removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: pseudo-element child mutation: shadow-internal: :has(> .wrapper > .hit) becomes false after nested child removal | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: pseudo-element child mutation: shadow-internal: :has(.hit) after replaceWith matching child | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: shadow-internal: :has(.hit) after replaceWith matching child | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-internal: :has(.hit) becomes false after replaceWith nonmatching child | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-internal: :has(.hit) becomes false after replaceWith nonmatching child | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: pseudo-element child mutation: shadow-internal: :has(.hit) after cloned child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: shadow-internal: :has(.hit) after cloned child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-internal: :has(.hit) after fragment replaceChildren | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -1135,7 +1135,7 @@ PASS: pseudo-element child mutation: shadow-host: :has(> .hit:first-child) after
PASS: pseudo-element child mutation without warmup: shadow-host: :has(> .hit:first-child) after prepend | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-host: :has(> .hit:first-child) after insertBefore | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: shadow-host: :has(> .hit:first-child) after insertBefore | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-host: :has(> .hit) ignores nested child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-host: :has(> .hit) ignores nested child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: pseudo-element child mutation: shadow-host: :has(span.hit) after typed child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: shadow-host: :has(span.hit) after typed child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-host: :has([data-hit]) after attribute-bearing child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -1160,7 +1160,7 @@ PASS: pseudo-element child mutation: shadow-host: :has(.hit ~ .after) after indi
PASS: pseudo-element child mutation without warmup: shadow-host: :has(.hit ~ .after) after indirect sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-host: :has(> .wrapper > .hit) after nested structure append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: shadow-host: :has(> .wrapper > .hit) after nested structure append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-host: :not(:has(.hit)) becomes false after child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-host: :not(:has(.hit)) becomes false after child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: pseudo-element child mutation: shadow-host: :has(.hit, .fallback) after first-list child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: shadow-host: :has(.hit, .fallback) after first-list child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-host: :has(:empty) after empty child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -1169,9 +1169,9 @@ PASS: pseudo-element child mutation: shadow-host: :has(.hit) after replaceChild
PASS: pseudo-element child mutation without warmup: shadow-host: :has(.hit) after replaceChild | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-host: :has(.hit) after replaceChildren | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: shadow-host: :has(.hit) after replaceChildren | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-host: :has(.hit) becomes false after child removal | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-host: :has(.hit) becomes false after removeChild | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-host: :has(.hit) becomes false after child moves out | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-host: :has(.hit) becomes false after child removal | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: pseudo-element child mutation: shadow-host: :has(.hit) becomes false after removeChild | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: pseudo-element child mutation: shadow-host: :has(.hit) becomes false after child moves out | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: pseudo-element child mutation: shadow-host: :empty becomes true after replaceChildren | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: pseudo-element child mutation without warmup: shadow-host: :empty becomes true after replaceChildren | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: pseudo-element child mutation: shadow-host: :empty becomes true after textContent clear | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
@ -1186,7 +1186,7 @@ PASS: pseudo-element child mutation: shadow-host: :has(> *) after child append |
PASS: pseudo-element child mutation without warmup: shadow-host: :has(> *) after child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-host: :has(:checked) after checked checkbox append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: shadow-host: :has(:checked) after checked checkbox append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-host: :has(:checked) becomes false after checked checkbox removal | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-host: :has(:checked) becomes false after checked checkbox removal | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: pseudo-element child mutation: shadow-host: :has(:not(:checked)) after unchecked checkbox append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: shadow-host: :has(:not(:checked)) after unchecked checkbox append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-host: :has(:enabled) after enabled input append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -1197,7 +1197,7 @@ PASS: pseudo-element child mutation: shadow-host: :has(:required) after required
PASS: pseudo-element child mutation without warmup: shadow-host: :has(:required) after required input append | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-host: :has(:optional) after optional input append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: shadow-host: :has(:optional) after optional input append | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-host: :has(:empty) becomes false after text inserted into only child | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-host: :has(:empty) becomes false after text inserted into only child | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: pseudo-element child mutation: shadow-host: :has(:not(:empty)) after non-empty child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: shadow-host: :has(:not(:empty)) after non-empty child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-host: :has(:dir(rtl)) after dir=auto child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -1210,7 +1210,7 @@ PASS: pseudo-element child mutation: shadow-host: :has(:any-link) after linked a
PASS: pseudo-element child mutation without warmup: shadow-host: :has(:any-link) after linked anchor append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-host: :has(:only-child) after only child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: shadow-host: :has(:only-child) after only child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-host: :has(:only-child) becomes false after sibling append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-host: :has(:only-child) becomes false after sibling append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: pseudo-element child mutation: shadow-host: :has(:nth-child(2)) after second child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: shadow-host: :has(:nth-child(2)) after second child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-host: :has(:nth-last-child(2)) after trailing child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -1231,7 +1231,7 @@ PASS: pseudo-element child mutation: shadow-host: :has(> .outer .hit) after chil
PASS: pseudo-element child mutation without warmup: shadow-host: :has(> .outer .hit) after child subtree append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-host: :has(> .outer > .middle > .hit) after exact deep append | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: shadow-host: :has(> .outer > .middle > .hit) after exact deep append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-host: :has(.miss .hit) ignores hit without required ancestor | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-host: :has(.miss .hit) ignores hit without required ancestor | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: pseudo-element child mutation: shadow-host: :has(.before + .hit) after adjacent pair append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: shadow-host: :has(.before + .hit) after adjacent pair append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-host: :has(.before ~ .hit) after separated sibling append | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -1242,7 +1242,7 @@ PASS: pseudo-element child mutation: shadow-host: :has(.hit ~ .after ~ .tail) af
PASS: pseudo-element child mutation without warmup: shadow-host: :has(.hit ~ .after ~ .tail) after indirect chain append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-host: :has(.hit:only-child) after only child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: shadow-host: :has(.hit:only-child) after only child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-host: :has(.hit:only-child) becomes false after sibling append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-host: :has(.hit:only-child) becomes false after sibling append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: pseudo-element child mutation: shadow-host: :has(.hit:nth-last-child(1)) after last child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: shadow-host: :has(.hit:nth-last-child(1)) after last child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-host: :has(.hit:nth-last-child(2)) after trailing child append | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -1251,7 +1251,7 @@ PASS: pseudo-element child mutation: shadow-host: :has(.hit:nth-of-type(2)) afte
PASS: pseudo-element child mutation without warmup: shadow-host: :has(.hit:nth-of-type(2)) after second typed child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-host: :has(.hit:only-of-type) after only typed child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: shadow-host: :has(.hit:only-of-type) after only typed child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-host: :has(.hit:only-of-type) becomes false after same type sibling append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-host: :has(.hit:only-of-type) becomes false after same type sibling append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: pseudo-element child mutation: shadow-host: :has(:is(.hit, .fallback)) after second-list child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: shadow-host: :has(:is(.hit, .fallback)) after second-list child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-host: :has(:where(.hit, .fallback)) after second-list child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -1266,18 +1266,18 @@ PASS: pseudo-element child mutation: shadow-host: :not(:has(.miss)):has(.hit) af
PASS: pseudo-element child mutation without warmup: shadow-host: :not(:has(.miss)):has(.hit) after direct child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: pseudo-element child mutation: shadow-host: :has(.hit:not(:empty)) after non-empty child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: shadow-host: :has(.hit:not(:empty)) after non-empty child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-host: :has(.hit:empty) becomes false after nested text append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-host: :has(.hit:empty) becomes false after nested text append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: pseudo-element child mutation: shadow-host: :has(.hit) after append with multiple arguments | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: shadow-host: :has(.hit) after append with multiple arguments | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-host: :has(.hit:first-child + .after) after prepend before existing child | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: shadow-host: :has(.hit:first-child + .after) after prepend before existing child | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-host: :has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-host: :has(.hit + .after) becomes false after middle child removal | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-host: :has(.hit ~ .after) becomes false after following child removal | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-host: :has(> .wrapper > .hit) becomes false after nested child removal | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-host: :has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: pseudo-element child mutation: shadow-host: :has(.hit + .after) becomes false after middle child removal | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: pseudo-element child mutation: shadow-host: :has(.hit ~ .after) becomes false after following child removal | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: pseudo-element child mutation: shadow-host: :has(> .wrapper > .hit) becomes false after nested child removal | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: pseudo-element child mutation: shadow-host: :has(.hit) after replaceWith matching child | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: shadow-host: :has(.hit) after replaceWith matching child | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-host: :has(.hit) becomes false after replaceWith nonmatching child | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-host: :has(.hit) becomes false after replaceWith nonmatching child | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: pseudo-element child mutation: shadow-host: :has(.hit) after cloned child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation without warmup: shadow-host: :has(.hit) after cloned child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: pseudo-element child mutation: shadow-host: :has(.hit) after fragment replaceChildren | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2

View file

@ -16,11 +16,11 @@ PASS: detached pseudo-element child mutation: part-shadow-internal: :has(.hit) a
PASS: detached child mutation: part-shadow-internal: :has(> .hit) after direct child append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(> .hit) after direct child append | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-internal: :has(> .hit:first-child) after prepend | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(> .hit:first-child) after prepend | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(> .hit:first-child) after prepend | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-internal: :has(> .hit:first-child) after insertBefore | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(> .hit:first-child) after insertBefore | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(> .hit:first-child) after insertBefore | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-internal: :has(> .hit) ignores nested child append | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(> .hit) ignores nested child append | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(> .hit) ignores nested child append | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-internal: :has(span.hit) after typed child append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(span.hit) after typed child append | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-internal: :has([data-hit]) after attribute-bearing child append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
@ -36,17 +36,17 @@ PASS: detached pseudo-element child mutation: part-shadow-internal: :has(.hit:no
PASS: detached child mutation: part-shadow-internal: :has(.hit:first-child) after first child append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(.hit:first-child) after first child append | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-internal: :has(.hit:last-child) after last child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(.hit:last-child) after last child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(.hit:last-child) after last child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-internal: :has(.hit:nth-child(2)) after second child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(.hit:nth-child(2)) after second child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(.hit:nth-child(2)) after second child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-internal: :has(.hit + .after) after adjacent sibling append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(.hit + .after) after adjacent sibling append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(.hit + .after) after adjacent sibling append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-internal: :has(.hit ~ .after) after indirect sibling append | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(.hit ~ .after) after indirect sibling append | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(.hit ~ .after) after indirect sibling append | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-internal: :has(> .wrapper > .hit) after nested structure append | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(> .wrapper > .hit) after nested structure append | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-internal: :not(:has(.hit)) becomes false after child append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :not(:has(.hit)) becomes false after child append | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :not(:has(.hit)) becomes false after child append | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-internal: :has(.hit, .fallback) after first-list child append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(.hit, .fallback) after first-list child append | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-internal: :has(:empty) after empty child append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
@ -56,11 +56,11 @@ PASS: detached pseudo-element child mutation: part-shadow-internal: :has(.hit) a
PASS: detached child mutation: part-shadow-internal: :has(.hit) after replaceChildren | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(.hit) after replaceChildren | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-internal: :has(.hit) becomes false after child removal | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(.hit) becomes false after child removal | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(.hit) becomes false after child removal | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-internal: :has(.hit) becomes false after removeChild | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(.hit) becomes false after removeChild | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(.hit) becomes false after removeChild | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-internal: :has(.hit) becomes false after child moves out | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(.hit) becomes false after child moves out | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(.hit) becomes false after child moves out | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-internal: :empty becomes true after replaceChildren | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: detached pseudo-element child mutation: part-shadow-internal: :empty becomes true after replaceChildren | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: detached child mutation: part-shadow-internal: :empty becomes true after textContent clear | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
@ -78,7 +78,7 @@ PASS: detached pseudo-element child mutation: part-shadow-internal: :has(> *) af
PASS: detached child mutation: part-shadow-internal: :has(:checked) after checked checkbox append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(:checked) after checked checkbox append | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-internal: :has(:checked) becomes false after checked checkbox removal | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(:checked) becomes false after checked checkbox removal | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(:checked) becomes false after checked checkbox removal | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-internal: :has(:not(:checked)) after unchecked checkbox append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(:not(:checked)) after unchecked checkbox append | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-internal: :has(:enabled) after enabled input append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
@ -90,13 +90,13 @@ PASS: detached pseudo-element child mutation: part-shadow-internal: :has(:requir
PASS: detached child mutation: part-shadow-internal: :has(:optional) after optional input append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(:optional) after optional input append | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-internal: :has(:empty) becomes false after text inserted into only child | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(:empty) becomes false after text inserted into only child | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(:empty) becomes false after text inserted into only child | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-internal: :has(:not(:empty)) after non-empty child append | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(:not(:empty)) after non-empty child append | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-internal: :has(:dir(rtl)) after dir=auto child append | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(:dir(rtl)) after dir=auto child append | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(:dir(rtl)) after dir=auto child append | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-internal: :has(:lang(he)) after Hebrew language child append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(:lang(he)) after Hebrew language child append | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(:lang(he)) after Hebrew language child append | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-internal: :has(:link) after linked anchor append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(:link) after linked anchor append | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-internal: :has(:any-link) after linked anchor append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
@ -104,11 +104,11 @@ PASS: detached pseudo-element child mutation: part-shadow-internal: :has(:any-li
PASS: detached child mutation: part-shadow-internal: :has(:only-child) after only child append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(:only-child) after only child append | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-internal: :has(:only-child) becomes false after sibling append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(:only-child) becomes false after sibling append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(:only-child) becomes false after sibling append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-internal: :has(:nth-child(2)) after second child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(:nth-child(2)) after second child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(:nth-child(2)) after second child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-internal: :has(:nth-last-child(2)) after trailing child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(:nth-last-child(2)) after trailing child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(:nth-last-child(2)) after trailing child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-internal: :has(:first-of-type) after typed child append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(:first-of-type) after typed child append | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-internal: :has(:is(:checked, :disabled)) after disabled input append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
@ -126,7 +126,7 @@ PASS: detached pseudo-element child mutation: part-shadow-internal: :has(> .oute
PASS: detached child mutation: part-shadow-internal: :has(> .outer > .middle > .hit) after exact deep append | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(> .outer > .middle > .hit) after exact deep append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-internal: :has(.miss .hit) ignores hit without required ancestor | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(.miss .hit) ignores hit without required ancestor | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(.miss .hit) ignores hit without required ancestor | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-internal: :has(.before + .hit) after adjacent pair append | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(.before + .hit) after adjacent pair append | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-internal: :has(.before ~ .hit) after separated sibling append | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
@ -138,17 +138,17 @@ PASS: detached pseudo-element child mutation: part-shadow-internal: :has(.hit ~
PASS: detached child mutation: part-shadow-internal: :has(.hit:only-child) after only child append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(.hit:only-child) after only child append | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-internal: :has(.hit:only-child) becomes false after sibling append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(.hit:only-child) becomes false after sibling append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(.hit:only-child) becomes false after sibling append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-internal: :has(.hit:nth-last-child(1)) after last child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(.hit:nth-last-child(1)) after last child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(.hit:nth-last-child(1)) after last child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-internal: :has(.hit:nth-last-child(2)) after trailing child append | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(.hit:nth-last-child(2)) after trailing child append | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(.hit:nth-last-child(2)) after trailing child append | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-internal: :has(.hit:nth-of-type(2)) after second typed child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(.hit:nth-of-type(2)) after second typed child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(.hit:nth-of-type(2)) after second typed child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-internal: :has(.hit:only-of-type) after only typed child append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(.hit:only-of-type) after only typed child append | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-internal: :has(.hit:only-of-type) becomes false after same type sibling append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(.hit:only-of-type) becomes false after same type sibling append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(.hit:only-of-type) becomes false after same type sibling append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-internal: :has(:is(.hit, .fallback)) after second-list child append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(:is(.hit, .fallback)) after second-list child append | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-internal: :has(:where(.hit, .fallback)) after second-list child append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
@ -164,23 +164,23 @@ PASS: detached pseudo-element child mutation: part-shadow-internal: :not(:has(.m
PASS: detached child mutation: part-shadow-internal: :has(.hit:not(:empty)) after non-empty child append | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(.hit:not(:empty)) after non-empty child append | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-internal: :has(.hit:empty) becomes false after nested text append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(.hit:empty) becomes false after nested text append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(.hit:empty) becomes false after nested text append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-internal: :has(.hit) after append with multiple arguments | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(.hit) after append with multiple arguments | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-internal: :has(.hit:first-child + .after) after prepend before existing child | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(.hit:first-child + .after) after prepend before existing child | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(.hit:first-child + .after) after prepend before existing child | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-internal: :has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-internal: :has(.hit + .after) becomes false after middle child removal | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(.hit + .after) becomes false after middle child removal | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(.hit + .after) becomes false after middle child removal | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-internal: :has(.hit ~ .after) becomes false after following child removal | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(.hit ~ .after) becomes false after following child removal | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=7, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(.hit ~ .after) becomes false after following child removal | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-internal: :has(> .wrapper > .hit) becomes false after nested child removal | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(> .wrapper > .hit) becomes false after nested child removal | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(> .wrapper > .hit) becomes false after nested child removal | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-internal: :has(.hit) after replaceWith matching child | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(.hit) after replaceWith matching child | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-internal: :has(.hit) becomes false after replaceWith nonmatching child | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(.hit) becomes false after replaceWith nonmatching child | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(.hit) becomes false after replaceWith nonmatching child | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-internal: :has(.hit) after cloned child append | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(.hit) after cloned child append | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-internal: :has(.hit) after fragment replaceChildren | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
@ -190,9 +190,9 @@ PASS: detached pseudo-element child mutation: part-shadow-internal: :has(:not(.m
PASS: detached child mutation: part-shadow-internal: :has(:not(:empty)) after text child append | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(:not(:empty)) after text child append | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-internal: :has(:nth-child(even).hit) after even child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(:nth-child(even).hit) after even child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(:nth-child(even).hit) after even child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-internal: :has(:nth-child(odd).hit) after prepend shifts child index | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(:nth-child(odd).hit) after prepend shifts child index | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-internal: :has(:nth-child(odd).hit) after prepend shifts child index | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-internal: :empty becomes false after element append | styleInvalidations=5, fullStyleInvalidations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :empty becomes false after element append | styleInvalidations=6, fullStyleInvalidations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: detached child mutation: part-shadow-host-internal: :empty becomes false after textContent | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
@ -208,11 +208,11 @@ PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(.h
PASS: detached child mutation: part-shadow-host-internal: :has(> .hit) after direct child append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(> .hit) after direct child append | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-internal: :has(> .hit:first-child) after prepend | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(> .hit:first-child) after prepend | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(> .hit:first-child) after prepend | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-internal: :has(> .hit:first-child) after insertBefore | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(> .hit:first-child) after insertBefore | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(> .hit:first-child) after insertBefore | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-internal: :has(> .hit) ignores nested child append | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(> .hit) ignores nested child append | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(> .hit) ignores nested child append | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-host-internal: :has(span.hit) after typed child append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(span.hit) after typed child append | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-internal: :has([data-hit]) after attribute-bearing child append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
@ -228,17 +228,17 @@ PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(.h
PASS: detached child mutation: part-shadow-host-internal: :has(.hit:first-child) after first child append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(.hit:first-child) after first child append | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-internal: :has(.hit:last-child) after last child append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(.hit:last-child) after last child append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(.hit:last-child) after last child append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-internal: :has(.hit:nth-child(2)) after second child append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(.hit:nth-child(2)) after second child append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(.hit:nth-child(2)) after second child append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-internal: :has(.hit + .after) after adjacent sibling append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(.hit + .after) after adjacent sibling append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(.hit + .after) after adjacent sibling append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-internal: :has(.hit ~ .after) after indirect sibling append | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(.hit ~ .after) after indirect sibling append | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(.hit ~ .after) after indirect sibling append | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-internal: :has(> .wrapper > .hit) after nested structure append | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(> .wrapper > .hit) after nested structure append | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-internal: :not(:has(.hit)) becomes false after child append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :not(:has(.hit)) becomes false after child append | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :not(:has(.hit)) becomes false after child append | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-host-internal: :has(.hit, .fallback) after first-list child append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(.hit, .fallback) after first-list child append | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-internal: :has(:empty) after empty child append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
@ -248,11 +248,11 @@ PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(.h
PASS: detached child mutation: part-shadow-host-internal: :has(.hit) after replaceChildren | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(.hit) after replaceChildren | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-internal: :has(.hit) becomes false after child removal | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(.hit) becomes false after child removal | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(.hit) becomes false after child removal | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-host-internal: :has(.hit) becomes false after removeChild | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(.hit) becomes false after removeChild | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(.hit) becomes false after removeChild | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-host-internal: :has(.hit) becomes false after child moves out | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(.hit) becomes false after child moves out | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(.hit) becomes false after child moves out | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-host-internal: :empty becomes true after replaceChildren | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :empty becomes true after replaceChildren | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: detached child mutation: part-shadow-host-internal: :empty becomes true after textContent clear | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
@ -270,7 +270,7 @@ PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(>
PASS: detached child mutation: part-shadow-host-internal: :has(:checked) after checked checkbox append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(:checked) after checked checkbox append | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-internal: :has(:checked) becomes false after checked checkbox removal | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(:checked) becomes false after checked checkbox removal | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(:checked) becomes false after checked checkbox removal | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-host-internal: :has(:not(:checked)) after unchecked checkbox append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(:not(:checked)) after unchecked checkbox append | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-internal: :has(:enabled) after enabled input append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
@ -282,13 +282,13 @@ PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(:r
PASS: detached child mutation: part-shadow-host-internal: :has(:optional) after optional input append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(:optional) after optional input append | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-internal: :has(:empty) becomes false after text inserted into only child | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(:empty) becomes false after text inserted into only child | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(:empty) becomes false after text inserted into only child | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-host-internal: :has(:not(:empty)) after non-empty child append | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(:not(:empty)) after non-empty child append | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-internal: :has(:dir(rtl)) after dir=auto child append | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(:dir(rtl)) after dir=auto child append | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=10, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(:dir(rtl)) after dir=auto child append | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-host-internal: :has(:lang(he)) after Hebrew language child append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(:lang(he)) after Hebrew language child append | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=10, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(:lang(he)) after Hebrew language child append | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-host-internal: :has(:link) after linked anchor append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(:link) after linked anchor append | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-internal: :has(:any-link) after linked anchor append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
@ -296,11 +296,11 @@ PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(:a
PASS: detached child mutation: part-shadow-host-internal: :has(:only-child) after only child append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(:only-child) after only child append | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-internal: :has(:only-child) becomes false after sibling append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(:only-child) becomes false after sibling append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(:only-child) becomes false after sibling append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-host-internal: :has(:nth-child(2)) after second child append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(:nth-child(2)) after second child append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(:nth-child(2)) after second child append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-internal: :has(:nth-last-child(2)) after trailing child append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(:nth-last-child(2)) after trailing child append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(:nth-last-child(2)) after trailing child append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-internal: :has(:first-of-type) after typed child append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(:first-of-type) after typed child append | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-internal: :has(:is(:checked, :disabled)) after disabled input append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
@ -318,7 +318,7 @@ PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(>
PASS: detached child mutation: part-shadow-host-internal: :has(> .outer > .middle > .hit) after exact deep append | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(> .outer > .middle > .hit) after exact deep append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-internal: :has(.miss .hit) ignores hit without required ancestor | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(.miss .hit) ignores hit without required ancestor | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(.miss .hit) ignores hit without required ancestor | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-host-internal: :has(.before + .hit) after adjacent pair append | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(.before + .hit) after adjacent pair append | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-internal: :has(.before ~ .hit) after separated sibling append | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
@ -330,17 +330,17 @@ PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(.h
PASS: detached child mutation: part-shadow-host-internal: :has(.hit:only-child) after only child append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(.hit:only-child) after only child append | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-internal: :has(.hit:only-child) becomes false after sibling append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(.hit:only-child) becomes false after sibling append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(.hit:only-child) becomes false after sibling append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-host-internal: :has(.hit:nth-last-child(1)) after last child append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(.hit:nth-last-child(1)) after last child append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(.hit:nth-last-child(1)) after last child append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-internal: :has(.hit:nth-last-child(2)) after trailing child append | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(.hit:nth-last-child(2)) after trailing child append | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(.hit:nth-last-child(2)) after trailing child append | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-internal: :has(.hit:nth-of-type(2)) after second typed child append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(.hit:nth-of-type(2)) after second typed child append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(.hit:nth-of-type(2)) after second typed child append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-internal: :has(.hit:only-of-type) after only typed child append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(.hit:only-of-type) after only typed child append | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-internal: :has(.hit:only-of-type) becomes false after same type sibling append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(.hit:only-of-type) becomes false after same type sibling append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(.hit:only-of-type) becomes false after same type sibling append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-host-internal: :has(:is(.hit, .fallback)) after second-list child append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(:is(.hit, .fallback)) after second-list child append | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-internal: :has(:where(.hit, .fallback)) after second-list child append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
@ -356,23 +356,23 @@ PASS: detached pseudo-element child mutation: part-shadow-host-internal: :not(:h
PASS: detached child mutation: part-shadow-host-internal: :has(.hit:not(:empty)) after non-empty child append | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(.hit:not(:empty)) after non-empty child append | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-internal: :has(.hit:empty) becomes false after nested text append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(.hit:empty) becomes false after nested text append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(.hit:empty) becomes false after nested text append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-host-internal: :has(.hit) after append with multiple arguments | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(.hit) after append with multiple arguments | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-internal: :has(.hit:first-child + .after) after prepend before existing child | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(.hit:first-child + .after) after prepend before existing child | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(.hit:first-child + .after) after prepend before existing child | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-internal: :has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-host-internal: :has(.hit + .after) becomes false after middle child removal | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(.hit + .after) becomes false after middle child removal | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(.hit + .after) becomes false after middle child removal | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-host-internal: :has(.hit ~ .after) becomes false after following child removal | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(.hit ~ .after) becomes false after following child removal | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=7, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(.hit ~ .after) becomes false after following child removal | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-host-internal: :has(> .wrapper > .hit) becomes false after nested child removal | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(> .wrapper > .hit) becomes false after nested child removal | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(> .wrapper > .hit) becomes false after nested child removal | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-host-internal: :has(.hit) after replaceWith matching child | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(.hit) after replaceWith matching child | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-internal: :has(.hit) becomes false after replaceWith nonmatching child | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(.hit) becomes false after replaceWith nonmatching child | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(.hit) becomes false after replaceWith nonmatching child | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-host-internal: :has(.hit) after cloned child append | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(.hit) after cloned child append | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-internal: :has(.hit) after fragment replaceChildren | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
@ -382,69 +382,69 @@ PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(:n
PASS: detached child mutation: part-shadow-host-internal: :has(:not(:empty)) after text child append | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(:not(:empty)) after text child append | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-internal: :has(:nth-child(even).hit) after even child append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(:nth-child(even).hit) after even child append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(:nth-child(even).hit) after even child append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-internal: :has(:nth-child(odd).hit) after prepend shifts child index | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(:nth-child(odd).hit) after prepend shifts child index | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-internal: :has(:nth-child(odd).hit) after prepend shifts child index | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :empty becomes false after element append | styleInvalidations=8, fullStyleInvalidations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :empty becomes false after element append | styleInvalidations=8, fullStyleInvalidations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: detached child mutation: part-shadow-ancestor: :empty becomes false after textContent | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :empty becomes false after textContent | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: detached child mutation: part-shadow-ancestor: :has(.hit) after direct child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit) after direct child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit) after direct child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :has(.hit) after DocumentFragment append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit) after DocumentFragment append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit) after DocumentFragment append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :has(.hit) after existing child move into parent | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit) after existing child move into parent | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit) after existing child move into parent | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :has(.hit) after nested child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit) after nested child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit) after nested child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :has(> .hit) after direct child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(> .hit) after direct child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(> .hit) after direct child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :has(> .hit:first-child) after prepend | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(> .hit:first-child) after prepend | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(> .hit:first-child) after prepend | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :has(> .hit:first-child) after insertBefore | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(> .hit:first-child) after insertBefore | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(> .hit:first-child) after insertBefore | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :has(> .hit) ignores nested child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(> .hit) ignores nested child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(> .hit) ignores nested child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-ancestor: :has(span.hit) after typed child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(span.hit) after typed child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(span.hit) after typed child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :has([data-hit]) after attribute-bearing child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has([data-hit]) after attribute-bearing child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has([data-hit]) after attribute-bearing child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :has(#hit-id) after identified child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(#hit-id) after identified child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(#hit-id) after identified child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :has(:is(.hit)) after direct child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(:is(.hit)) after direct child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(:is(.hit)) after direct child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :has(:where(.hit)) after direct child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(:where(.hit)) after direct child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(:where(.hit)) after direct child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :has(.hit:not(.miss)) after direct child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit:not(.miss)) after direct child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit:not(.miss)) after direct child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :has(.hit:first-child) after first child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit:first-child) after first child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit:first-child) after first child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :has(.hit:last-child) after last child append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit:last-child) after last child append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit:last-child) after last child append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :has(.hit:nth-child(2)) after second child append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit:nth-child(2)) after second child append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit:nth-child(2)) after second child append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :has(.hit + .after) after adjacent sibling append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit + .after) after adjacent sibling append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit + .after) after adjacent sibling append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :has(.hit ~ .after) after indirect sibling append | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit ~ .after) after indirect sibling append | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit ~ .after) after indirect sibling append | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :has(> .wrapper > .hit) after nested structure append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(> .wrapper > .hit) after nested structure append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(> .wrapper > .hit) after nested structure append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :not(:has(.hit)) becomes false after child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :not(:has(.hit)) becomes false after child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :not(:has(.hit)) becomes false after child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-ancestor: :has(.hit, .fallback) after first-list child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit, .fallback) after first-list child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=7, hasResultCacheHits=2, hasResultCacheMisses=3
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit, .fallback) after first-list child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :has(:empty) after empty child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(:empty) after empty child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(:empty) after empty child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :has(.hit) after replaceChild | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit) after replaceChild | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit) after replaceChild | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :has(.hit) after replaceChildren | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit) after replaceChildren | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit) after replaceChildren | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :has(.hit) becomes false after child removal | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit) becomes false after child removal | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit) becomes false after child removal | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-ancestor: :has(.hit) becomes false after removeChild | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit) becomes false after removeChild | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit) becomes false after removeChild | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-ancestor: :has(.hit) becomes false after child moves out | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit) becomes false after child moves out | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit) becomes false after child moves out | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-ancestor: :empty becomes true after replaceChildren | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :empty becomes true after replaceChildren | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: detached child mutation: part-shadow-ancestor: :empty becomes true after textContent clear | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
@ -456,187 +456,187 @@ PASS: detached pseudo-element child mutation: part-shadow-ancestor: :empty becom
PASS: detached child mutation: part-shadow-ancestor: :dir(rtl) after dir=auto text mutation | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :dir(rtl) after dir=auto text mutation | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: detached child mutation: part-shadow-ancestor: :has(*) after child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(*) after child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(*) after child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :has(> *) after child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(> *) after child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(> *) after child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :has(:checked) after checked checkbox append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(:checked) after checked checkbox append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(:checked) after checked checkbox append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :has(:checked) becomes false after checked checkbox removal | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(:checked) becomes false after checked checkbox removal | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(:checked) becomes false after checked checkbox removal | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-ancestor: :has(:not(:checked)) after unchecked checkbox append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(:not(:checked)) after unchecked checkbox append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(:not(:checked)) after unchecked checkbox append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :has(:enabled) after enabled input append | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(:enabled) after enabled input append | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(:enabled) after enabled input append | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :has(:disabled) after disabled input append | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(:disabled) after disabled input append | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(:disabled) after disabled input append | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :has(:required) after required input append | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(:required) after required input append | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(:required) after required input append | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :has(:optional) after optional input append | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(:optional) after optional input append | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(:optional) after optional input append | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :has(:empty) becomes false after text inserted into only child | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(:empty) becomes false after text inserted into only child | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(:empty) becomes false after text inserted into only child | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-ancestor: :has(:not(:empty)) after non-empty child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(:not(:empty)) after non-empty child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(:not(:empty)) after non-empty child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :has(:dir(rtl)) after dir=auto child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(:dir(rtl)) after dir=auto child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(:dir(rtl)) after dir=auto child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-ancestor: :has(:lang(he)) after Hebrew language child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(:lang(he)) after Hebrew language child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(:lang(he)) after Hebrew language child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-ancestor: :has(:link) after linked anchor append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(:link) after linked anchor append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(:link) after linked anchor append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :has(:any-link) after linked anchor append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(:any-link) after linked anchor append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(:any-link) after linked anchor append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :has(:only-child) after only child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(:only-child) after only child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(:only-child) after only child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :has(:only-child) becomes false after sibling append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(:only-child) becomes false after sibling append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(:only-child) becomes false after sibling append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-ancestor: :has(:nth-child(2)) after second child append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(:nth-child(2)) after second child append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(:nth-child(2)) after second child append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :has(:nth-last-child(2)) after trailing child append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(:nth-last-child(2)) after trailing child append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(:nth-last-child(2)) after trailing child append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :has(:first-of-type) after typed child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(:first-of-type) after typed child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(:first-of-type) after typed child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :has(:is(:checked, :disabled)) after disabled input append | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(:is(:checked, :disabled)) after disabled input append | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(:is(:checked, :disabled)) after disabled input append | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :has(:where(:empty, :checked)) after empty child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(:where(:empty, :checked)) after empty child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(:where(:empty, :checked)) after empty child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :has(rect.hit) after SVG child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(rect.hit) after SVG child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(rect.hit) after SVG child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :has(> rect.hit) after direct SVG child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(> rect.hit) after direct SVG child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(> rect.hit) after direct SVG child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :has(.outer .middle .hit) after deep descendant append | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.outer .middle .hit) after deep descendant append | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.outer .middle .hit) after deep descendant append | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :has(> .outer .hit) after child subtree append | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(> .outer .hit) after child subtree append | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(> .outer .hit) after child subtree append | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :has(> .outer > .middle > .hit) after exact deep append | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(> .outer > .middle > .hit) after exact deep append | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(> .outer > .middle > .hit) after exact deep append | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :has(.miss .hit) ignores hit without required ancestor | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.miss .hit) ignores hit without required ancestor | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.miss .hit) ignores hit without required ancestor | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-ancestor: :has(.before + .hit) after adjacent pair append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.before + .hit) after adjacent pair append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.before + .hit) after adjacent pair append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :has(.before ~ .hit) after separated sibling append | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.before ~ .hit) after separated sibling append | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.before ~ .hit) after separated sibling append | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :has(.hit + .after + .tail) after sibling chain append | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit + .after + .tail) after sibling chain append | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit + .after + .tail) after sibling chain append | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :has(.hit ~ .after ~ .tail) after indirect chain append | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit ~ .after ~ .tail) after indirect chain append | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit ~ .after ~ .tail) after indirect chain append | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :has(.hit:only-child) after only child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit:only-child) after only child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit:only-child) after only child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :has(.hit:only-child) becomes false after sibling append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit:only-child) becomes false after sibling append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit:only-child) becomes false after sibling append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-ancestor: :has(.hit:nth-last-child(1)) after last child append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit:nth-last-child(1)) after last child append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit:nth-last-child(1)) after last child append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :has(.hit:nth-last-child(2)) after trailing child append | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit:nth-last-child(2)) after trailing child append | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit:nth-last-child(2)) after trailing child append | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :has(.hit:nth-of-type(2)) after second typed child append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit:nth-of-type(2)) after second typed child append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit:nth-of-type(2)) after second typed child append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :has(.hit:only-of-type) after only typed child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit:only-of-type) after only typed child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit:only-of-type) after only typed child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :has(.hit:only-of-type) becomes false after same type sibling append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit:only-of-type) becomes false after same type sibling append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit:only-of-type) becomes false after same type sibling append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-ancestor: :has(:is(.hit, .fallback)) after second-list child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(:is(.hit, .fallback)) after second-list child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(:is(.hit, .fallback)) after second-list child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :has(:where(.hit, .fallback)) after second-list child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(:where(.hit, .fallback)) after second-list child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(:where(.hit, .fallback)) after second-list child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :has(.hit):has(.also) after independent children append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit):has(.also) after independent children append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=3
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit):has(.also) after independent children append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-ancestor: :is(:has(.hit)) after direct child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :is(:has(.hit)) after direct child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :is(:has(.hit)) after direct child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :where(:has(.hit)) after direct child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :where(:has(.hit)) after direct child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :where(:has(.hit)) after direct child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :not(:has(.miss)):has(.hit) after direct child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :not(:has(.miss)):has(.hit) after direct child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=2, hasResultCacheMisses=4
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :not(:has(.miss)):has(.hit) after direct child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-ancestor: :has(.hit:not(:empty)) after non-empty child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit:not(:empty)) after non-empty child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit:not(:empty)) after non-empty child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :has(.hit:empty) becomes false after nested text append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit:empty) becomes false after nested text append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit:empty) becomes false after nested text append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-ancestor: :has(.hit) after append with multiple arguments | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit) after append with multiple arguments | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit) after append with multiple arguments | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :has(.hit:first-child + .after) after prepend before existing child | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit:first-child + .after) after prepend before existing child | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit:first-child + .after) after prepend before existing child | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-ancestor: :has(.hit + .after) becomes false after middle child removal | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit + .after) becomes false after middle child removal | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit + .after) becomes false after middle child removal | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-ancestor: :has(.hit ~ .after) becomes false after following child removal | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit ~ .after) becomes false after following child removal | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit ~ .after) becomes false after following child removal | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-ancestor: :has(> .wrapper > .hit) becomes false after nested child removal | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(> .wrapper > .hit) becomes false after nested child removal | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(> .wrapper > .hit) becomes false after nested child removal | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-ancestor: :has(.hit) after replaceWith matching child | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit) after replaceWith matching child | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit) after replaceWith matching child | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :has(.hit) becomes false after replaceWith nonmatching child | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit) becomes false after replaceWith nonmatching child | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit) becomes false after replaceWith nonmatching child | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-ancestor: :has(.hit) after cloned child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit) after cloned child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit) after cloned child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :has(.hit) after fragment replaceChildren | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit) after fragment replaceChildren | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(.hit) after fragment replaceChildren | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :has(:not(.miss)) after non-miss child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(:not(.miss)) after non-miss child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(:not(.miss)) after non-miss child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :has(:not(:empty)) after text child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(:not(:empty)) after text child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(:not(:empty)) after text child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :has(:nth-child(even).hit) after even child append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(:nth-child(even).hit) after even child append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(:nth-child(even).hit) after even child append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-ancestor: :has(:nth-child(odd).hit) after prepend shifts child index | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(:nth-child(odd).hit) after prepend shifts child index | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-ancestor: :has(:nth-child(odd).hit) after prepend shifts child index | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :empty becomes false after element append | styleInvalidations=8, fullStyleInvalidations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :empty becomes false after element append | styleInvalidations=8, fullStyleInvalidations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: detached child mutation: part-shadow-host-ancestor: :empty becomes false after textContent | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :empty becomes false after textContent | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: detached child mutation: part-shadow-host-ancestor: :has(.hit) after direct child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit) after direct child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit) after direct child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(.hit) after DocumentFragment append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit) after DocumentFragment append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit) after DocumentFragment append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(.hit) after existing child move into parent | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit) after existing child move into parent | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit) after existing child move into parent | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(.hit) after nested child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit) after nested child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit) after nested child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(> .hit) after direct child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(> .hit) after direct child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(> .hit) after direct child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(> .hit:first-child) after prepend | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(> .hit:first-child) after prepend | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(> .hit:first-child) after prepend | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(> .hit:first-child) after insertBefore | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(> .hit:first-child) after insertBefore | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(> .hit:first-child) after insertBefore | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(> .hit) ignores nested child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(> .hit) ignores nested child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(> .hit) ignores nested child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-host-ancestor: :has(span.hit) after typed child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(span.hit) after typed child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(span.hit) after typed child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has([data-hit]) after attribute-bearing child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has([data-hit]) after attribute-bearing child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has([data-hit]) after attribute-bearing child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(#hit-id) after identified child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(#hit-id) after identified child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(#hit-id) after identified child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(:is(.hit)) after direct child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(:is(.hit)) after direct child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(:is(.hit)) after direct child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(:where(.hit)) after direct child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(:where(.hit)) after direct child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(:where(.hit)) after direct child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(.hit:not(.miss)) after direct child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit:not(.miss)) after direct child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit:not(.miss)) after direct child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(.hit:first-child) after first child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit:first-child) after first child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit:first-child) after first child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(.hit:last-child) after last child append | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit:last-child) after last child append | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit:last-child) after last child append | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(.hit:nth-child(2)) after second child append | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit:nth-child(2)) after second child append | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit:nth-child(2)) after second child append | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(.hit + .after) after adjacent sibling append | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit + .after) after adjacent sibling append | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit + .after) after adjacent sibling append | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(.hit ~ .after) after indirect sibling append | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit ~ .after) after indirect sibling append | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit ~ .after) after indirect sibling append | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(> .wrapper > .hit) after nested structure append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(> .wrapper > .hit) after nested structure append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(> .wrapper > .hit) after nested structure append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :not(:has(.hit)) becomes false after child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :not(:has(.hit)) becomes false after child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :not(:has(.hit)) becomes false after child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-host-ancestor: :has(.hit, .fallback) after first-list child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit, .fallback) after first-list child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=7, hasResultCacheHits=2, hasResultCacheMisses=3
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit, .fallback) after first-list child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(:empty) after empty child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(:empty) after empty child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(:empty) after empty child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(.hit) after replaceChild | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit) after replaceChild | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit) after replaceChild | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(.hit) after replaceChildren | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit) after replaceChildren | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit) after replaceChildren | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(.hit) becomes false after child removal | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit) becomes false after child removal | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit) becomes false after child removal | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-host-ancestor: :has(.hit) becomes false after removeChild | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit) becomes false after removeChild | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit) becomes false after removeChild | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-host-ancestor: :has(.hit) becomes false after child moves out | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit) becomes false after child moves out | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit) becomes false after child moves out | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-host-ancestor: :empty becomes true after replaceChildren | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :empty becomes true after replaceChildren | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: detached child mutation: part-shadow-host-ancestor: :empty becomes true after textContent clear | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
@ -648,124 +648,124 @@ PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :empty
PASS: detached child mutation: part-shadow-host-ancestor: :dir(rtl) after dir=auto text mutation | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :dir(rtl) after dir=auto text mutation | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: detached child mutation: part-shadow-host-ancestor: :has(*) after child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(*) after child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(*) after child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(> *) after child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(> *) after child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(> *) after child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(:checked) after checked checkbox append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(:checked) after checked checkbox append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(:checked) after checked checkbox append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(:checked) becomes false after checked checkbox removal | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(:checked) becomes false after checked checkbox removal | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(:checked) becomes false after checked checkbox removal | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-host-ancestor: :has(:not(:checked)) after unchecked checkbox append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(:not(:checked)) after unchecked checkbox append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(:not(:checked)) after unchecked checkbox append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(:enabled) after enabled input append | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(:enabled) after enabled input append | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(:enabled) after enabled input append | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(:disabled) after disabled input append | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(:disabled) after disabled input append | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(:disabled) after disabled input append | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(:required) after required input append | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(:required) after required input append | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(:required) after required input append | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(:optional) after optional input append | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(:optional) after optional input append | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(:optional) after optional input append | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(:empty) becomes false after text inserted into only child | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(:empty) becomes false after text inserted into only child | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(:empty) becomes false after text inserted into only child | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-host-ancestor: :has(:not(:empty)) after non-empty child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(:not(:empty)) after non-empty child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(:not(:empty)) after non-empty child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(:dir(rtl)) after dir=auto child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(:dir(rtl)) after dir=auto child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=7, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(:dir(rtl)) after dir=auto child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-host-ancestor: :has(:lang(he)) after Hebrew language child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(:lang(he)) after Hebrew language child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=7, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(:lang(he)) after Hebrew language child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-host-ancestor: :has(:link) after linked anchor append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(:link) after linked anchor append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(:link) after linked anchor append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(:any-link) after linked anchor append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(:any-link) after linked anchor append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(:any-link) after linked anchor append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(:only-child) after only child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(:only-child) after only child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(:only-child) after only child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(:only-child) becomes false after sibling append | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(:only-child) becomes false after sibling append | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(:only-child) becomes false after sibling append | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-host-ancestor: :has(:nth-child(2)) after second child append | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(:nth-child(2)) after second child append | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(:nth-child(2)) after second child append | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(:nth-last-child(2)) after trailing child append | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(:nth-last-child(2)) after trailing child append | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(:nth-last-child(2)) after trailing child append | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(:first-of-type) after typed child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(:first-of-type) after typed child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(:first-of-type) after typed child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(:is(:checked, :disabled)) after disabled input append | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(:is(:checked, :disabled)) after disabled input append | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(:is(:checked, :disabled)) after disabled input append | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(:where(:empty, :checked)) after empty child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(:where(:empty, :checked)) after empty child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(:where(:empty, :checked)) after empty child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(rect.hit) after SVG child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(rect.hit) after SVG child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(rect.hit) after SVG child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(> rect.hit) after direct SVG child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(> rect.hit) after direct SVG child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(> rect.hit) after direct SVG child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(.outer .middle .hit) after deep descendant append | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.outer .middle .hit) after deep descendant append | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.outer .middle .hit) after deep descendant append | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(> .outer .hit) after child subtree append | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(> .outer .hit) after child subtree append | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(> .outer .hit) after child subtree append | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(> .outer > .middle > .hit) after exact deep append | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(> .outer > .middle > .hit) after exact deep append | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(> .outer > .middle > .hit) after exact deep append | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(.miss .hit) ignores hit without required ancestor | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.miss .hit) ignores hit without required ancestor | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.miss .hit) ignores hit without required ancestor | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-host-ancestor: :has(.before + .hit) after adjacent pair append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.before + .hit) after adjacent pair append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.before + .hit) after adjacent pair append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(.before ~ .hit) after separated sibling append | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.before ~ .hit) after separated sibling append | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.before ~ .hit) after separated sibling append | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(.hit + .after + .tail) after sibling chain append | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit + .after + .tail) after sibling chain append | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit + .after + .tail) after sibling chain append | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(.hit ~ .after ~ .tail) after indirect chain append | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit ~ .after ~ .tail) after indirect chain append | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit ~ .after ~ .tail) after indirect chain append | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(.hit:only-child) after only child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit:only-child) after only child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit:only-child) after only child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(.hit:only-child) becomes false after sibling append | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit:only-child) becomes false after sibling append | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit:only-child) becomes false after sibling append | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-host-ancestor: :has(.hit:nth-last-child(1)) after last child append | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit:nth-last-child(1)) after last child append | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit:nth-last-child(1)) after last child append | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(.hit:nth-last-child(2)) after trailing child append | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit:nth-last-child(2)) after trailing child append | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit:nth-last-child(2)) after trailing child append | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(.hit:nth-of-type(2)) after second typed child append | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit:nth-of-type(2)) after second typed child append | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit:nth-of-type(2)) after second typed child append | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(.hit:only-of-type) after only typed child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit:only-of-type) after only typed child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit:only-of-type) after only typed child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(.hit:only-of-type) becomes false after same type sibling append | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit:only-of-type) becomes false after same type sibling append | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit:only-of-type) becomes false after same type sibling append | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-host-ancestor: :has(:is(.hit, .fallback)) after second-list child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(:is(.hit, .fallback)) after second-list child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(:is(.hit, .fallback)) after second-list child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(:where(.hit, .fallback)) after second-list child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(:where(.hit, .fallback)) after second-list child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(:where(.hit, .fallback)) after second-list child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(.hit):has(.also) after independent children append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit):has(.also) after independent children append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=3
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit):has(.also) after independent children append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-host-ancestor: :is(:has(.hit)) after direct child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :is(:has(.hit)) after direct child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :is(:has(.hit)) after direct child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :where(:has(.hit)) after direct child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :where(:has(.hit)) after direct child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :where(:has(.hit)) after direct child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :not(:has(.miss)):has(.hit) after direct child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :not(:has(.miss)):has(.hit) after direct child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=2, hasResultCacheMisses=4
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :not(:has(.miss)):has(.hit) after direct child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-host-ancestor: :has(.hit:not(:empty)) after non-empty child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit:not(:empty)) after non-empty child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit:not(:empty)) after non-empty child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(.hit:empty) becomes false after nested text append | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit:empty) becomes false after nested text append | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit:empty) becomes false after nested text append | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-host-ancestor: :has(.hit) after append with multiple arguments | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit) after append with multiple arguments | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit) after append with multiple arguments | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(.hit:first-child + .after) after prepend before existing child | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit:first-child + .after) after prepend before existing child | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit:first-child + .after) after prepend before existing child | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-host-ancestor: :has(.hit + .after) becomes false after middle child removal | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit + .after) becomes false after middle child removal | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit + .after) becomes false after middle child removal | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-host-ancestor: :has(.hit ~ .after) becomes false after following child removal | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit ~ .after) becomes false after following child removal | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit ~ .after) becomes false after following child removal | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-host-ancestor: :has(> .wrapper > .hit) becomes false after nested child removal | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(> .wrapper > .hit) becomes false after nested child removal | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(> .wrapper > .hit) becomes false after nested child removal | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-host-ancestor: :has(.hit) after replaceWith matching child | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit) after replaceWith matching child | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit) after replaceWith matching child | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(.hit) becomes false after replaceWith nonmatching child | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit) becomes false after replaceWith nonmatching child | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit) becomes false after replaceWith nonmatching child | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-host-ancestor: :has(.hit) after cloned child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit) after cloned child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit) after cloned child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(.hit) after fragment replaceChildren | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit) after fragment replaceChildren | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit) after fragment replaceChildren | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(:not(.miss)) after non-miss child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(:not(.miss)) after non-miss child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(:not(.miss)) after non-miss child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(:not(:empty)) after text child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(:not(:empty)) after text child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(:not(:empty)) after text child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(:nth-child(even).hit) after even child append | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(:nth-child(even).hit) after even child append | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(:nth-child(even).hit) after even child append | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(:nth-child(odd).hit) after prepend shifts child index | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(:nth-child(odd).hit) after prepend shifts child index | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(:nth-child(odd).hit) after prepend shifts child index | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1

View file

@ -63,10 +63,10 @@ PASS: detached child mutation: document: :has(> .hit:first-child) after insertBe
PASS: detached pseudo-element child mutation: document: :has(> .hit:first-child) after insertBefore | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm child mutation: document: :has(> .hit) ignores nested child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: document: :has(> .hit) ignores nested child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document: :has(> .hit) ignores nested child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: document: :has(> .hit) ignores nested child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document: :has(> .hit) ignores nested child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: document: :has(> .hit) ignores nested child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: document: :has(> .hit) ignores nested child append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: document: :has(> .hit) ignores nested child append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: document: :has(> .hit) ignores nested child append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress warm child mutation: document: :has(span.hit) after typed child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: document: :has(span.hit) after typed child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document: :has(span.hit) after typed child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -141,10 +141,10 @@ PASS: detached child mutation: document: :has(> .wrapper > .hit) after nested st
PASS: detached pseudo-element child mutation: document: :has(> .wrapper > .hit) after nested structure append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm child mutation: document: :not(:has(.hit)) becomes false after child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: document: :not(:has(.hit)) becomes false after child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document: :not(:has(.hit)) becomes false after child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: document: :not(:has(.hit)) becomes false after child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document: :not(:has(.hit)) becomes false after child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: document: :not(:has(.hit)) becomes false after child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: document: :not(:has(.hit)) becomes false after child append | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: document: :not(:has(.hit)) becomes false after child append | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: document: :not(:has(.hit)) becomes false after child append | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress warm child mutation: document: :has(.hit, .fallback) after first-list child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: document: :has(.hit, .fallback) after first-list child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document: :has(.hit, .fallback) after first-list child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -171,31 +171,31 @@ PASS: detached child mutation: document: :has(.hit) after replaceChildren | styl
PASS: detached pseudo-element child mutation: document: :has(.hit) after replaceChildren | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm child mutation: document: :has(.hit) becomes false after child removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: document: :has(.hit) becomes false after child removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document: :has(.hit) becomes false after child removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: document: :has(.hit) becomes false after child removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document: :has(.hit) becomes false after child removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: document: :has(.hit) becomes false after child removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: document: :has(.hit) becomes false after child removal | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: document: :has(.hit) becomes false after child removal | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: document: :has(.hit) becomes false after child removal | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress warm child mutation: document: :has(.hit) becomes false after removeChild | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: document: :has(.hit) becomes false after removeChild | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document: :has(.hit) becomes false after removeChild | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: document: :has(.hit) becomes false after removeChild | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document: :has(.hit) becomes false after removeChild | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: document: :has(.hit) becomes false after removeChild | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: document: :has(.hit) becomes false after removeChild | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: document: :has(.hit) becomes false after removeChild | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: document: :has(.hit) becomes false after removeChild | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress warm child mutation: document: :has(.hit) becomes false after child moves out | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: document: :has(.hit) becomes false after child moves out | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document: :has(.hit) becomes false after child moves out | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: document: :has(.hit) becomes false after child moves out | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document: :has(.hit) becomes false after child moves out | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: document: :has(.hit) becomes false after child moves out | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: document: :has(.hit) becomes false after child moves out | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: document: :has(.hit) becomes false after child moves out | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: document: :has(.hit) becomes false after child moves out | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress warm child mutation: document: :empty becomes true after replaceChildren | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: stress cold child mutation: document: :empty becomes true after replaceChildren | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: stress warm pseudo-element child mutation: document: :empty becomes true after replaceChildren | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: stress warm pseudo-element child mutation: document: :empty becomes true after replaceChildren | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: stress cold pseudo-element child mutation: document: :empty becomes true after replaceChildren | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: detached child mutation: document: :empty becomes true after replaceChildren | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: detached pseudo-element child mutation: document: :empty becomes true after replaceChildren | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: stress warm child mutation: document: :empty becomes true after textContent clear | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: stress cold child mutation: document: :empty becomes true after textContent clear | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: stress warm pseudo-element child mutation: document: :empty becomes true after textContent clear | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: stress warm pseudo-element child mutation: document: :empty becomes true after textContent clear | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: stress cold pseudo-element child mutation: document: :empty becomes true after textContent clear | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: detached child mutation: document: :empty becomes true after textContent clear | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: detached pseudo-element child mutation: document: :empty becomes true after textContent clear | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
@ -237,10 +237,10 @@ PASS: detached child mutation: document: :has(:checked) after checked checkbox a
PASS: detached pseudo-element child mutation: document: :has(:checked) after checked checkbox append | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm child mutation: document: :has(:checked) becomes false after checked checkbox removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: document: :has(:checked) becomes false after checked checkbox removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document: :has(:checked) becomes false after checked checkbox removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: document: :has(:checked) becomes false after checked checkbox removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document: :has(:checked) becomes false after checked checkbox removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: document: :has(:checked) becomes false after checked checkbox removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: document: :has(:checked) becomes false after checked checkbox removal | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: document: :has(:checked) becomes false after checked checkbox removal | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: document: :has(:checked) becomes false after checked checkbox removal | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress warm child mutation: document: :has(:not(:checked)) after unchecked checkbox append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: document: :has(:not(:checked)) after unchecked checkbox append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document: :has(:not(:checked)) after unchecked checkbox append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -273,10 +273,10 @@ PASS: detached child mutation: document: :has(:optional) after optional input ap
PASS: detached pseudo-element child mutation: document: :has(:optional) after optional input append | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm child mutation: document: :has(:empty) becomes false after text inserted into only child | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: document: :has(:empty) becomes false after text inserted into only child | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document: :has(:empty) becomes false after text inserted into only child | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: document: :has(:empty) becomes false after text inserted into only child | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document: :has(:empty) becomes false after text inserted into only child | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: document: :has(:empty) becomes false after text inserted into only child | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: document: :has(:empty) becomes false after text inserted into only child | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: document: :has(:empty) becomes false after text inserted into only child | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: document: :has(:empty) becomes false after text inserted into only child | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress warm child mutation: document: :has(:not(:empty)) after non-empty child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: document: :has(:not(:empty)) after non-empty child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document: :has(:not(:empty)) after non-empty child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -315,10 +315,10 @@ PASS: detached child mutation: document: :has(:only-child) after only child appe
PASS: detached pseudo-element child mutation: document: :has(:only-child) after only child append | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm child mutation: document: :has(:only-child) becomes false after sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: document: :has(:only-child) becomes false after sibling append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document: :has(:only-child) becomes false after sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: document: :has(:only-child) becomes false after sibling append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document: :has(:only-child) becomes false after sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: document: :has(:only-child) becomes false after sibling append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: document: :has(:only-child) becomes false after sibling append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: document: :has(:only-child) becomes false after sibling append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: document: :has(:only-child) becomes false after sibling append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress warm child mutation: document: :has(:nth-child(2)) after second child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: document: :has(:nth-child(2)) after second child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document: :has(:nth-child(2)) after second child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -381,10 +381,10 @@ PASS: detached child mutation: document: :has(> .outer > .middle > .hit) after e
PASS: detached pseudo-element child mutation: document: :has(> .outer > .middle > .hit) after exact deep append | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=3, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm child mutation: document: :has(.miss .hit) ignores hit without required ancestor | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: document: :has(.miss .hit) ignores hit without required ancestor | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document: :has(.miss .hit) ignores hit without required ancestor | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: document: :has(.miss .hit) ignores hit without required ancestor | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document: :has(.miss .hit) ignores hit without required ancestor | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: document: :has(.miss .hit) ignores hit without required ancestor | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: document: :has(.miss .hit) ignores hit without required ancestor | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: document: :has(.miss .hit) ignores hit without required ancestor | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: document: :has(.miss .hit) ignores hit without required ancestor | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress warm child mutation: document: :has(.before + .hit) after adjacent pair append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: document: :has(.before + .hit) after adjacent pair append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document: :has(.before + .hit) after adjacent pair append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -417,10 +417,10 @@ PASS: detached child mutation: document: :has(.hit:only-child) after only child
PASS: detached pseudo-element child mutation: document: :has(.hit:only-child) after only child append | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm child mutation: document: :has(.hit:only-child) becomes false after sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: document: :has(.hit:only-child) becomes false after sibling append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document: :has(.hit:only-child) becomes false after sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: document: :has(.hit:only-child) becomes false after sibling append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document: :has(.hit:only-child) becomes false after sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: document: :has(.hit:only-child) becomes false after sibling append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: document: :has(.hit:only-child) becomes false after sibling append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: document: :has(.hit:only-child) becomes false after sibling append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: document: :has(.hit:only-child) becomes false after sibling append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress warm child mutation: document: :has(.hit:nth-last-child(1)) after last child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: document: :has(.hit:nth-last-child(1)) after last child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document: :has(.hit:nth-last-child(1)) after last child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -447,10 +447,10 @@ PASS: detached child mutation: document: :has(.hit:only-of-type) after only type
PASS: detached pseudo-element child mutation: document: :has(.hit:only-of-type) after only typed child append | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm child mutation: document: :has(.hit:only-of-type) becomes false after same type sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: document: :has(.hit:only-of-type) becomes false after same type sibling append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document: :has(.hit:only-of-type) becomes false after same type sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: document: :has(.hit:only-of-type) becomes false after same type sibling append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document: :has(.hit:only-of-type) becomes false after same type sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: document: :has(.hit:only-of-type) becomes false after same type sibling append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: document: :has(.hit:only-of-type) becomes false after same type sibling append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: document: :has(.hit:only-of-type) becomes false after same type sibling append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: document: :has(.hit:only-of-type) becomes false after same type sibling append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress warm child mutation: document: :has(:is(.hit, .fallback)) after second-list child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: document: :has(:is(.hit, .fallback)) after second-list child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document: :has(:is(.hit, .fallback)) after second-list child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -495,10 +495,10 @@ PASS: detached child mutation: document: :has(.hit:not(:empty)) after non-empty
PASS: detached pseudo-element child mutation: document: :has(.hit:not(:empty)) after non-empty child append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm child mutation: document: :has(.hit:empty) becomes false after nested text append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: document: :has(.hit:empty) becomes false after nested text append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document: :has(.hit:empty) becomes false after nested text append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: document: :has(.hit:empty) becomes false after nested text append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document: :has(.hit:empty) becomes false after nested text append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: document: :has(.hit:empty) becomes false after nested text append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: document: :has(.hit:empty) becomes false after nested text append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: document: :has(.hit:empty) becomes false after nested text append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: document: :has(.hit:empty) becomes false after nested text append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress warm child mutation: document: :has(.hit) after append with multiple arguments | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: document: :has(.hit) after append with multiple arguments | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document: :has(.hit) after append with multiple arguments | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -513,28 +513,28 @@ PASS: detached child mutation: document: :has(.hit:first-child + .after) after p
PASS: detached pseudo-element child mutation: document: :has(.hit:first-child + .after) after prepend before existing child | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm child mutation: document: :has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: document: :has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document: :has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: document: :has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document: :has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: document: :has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: document: :has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: document: :has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: document: :has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress warm child mutation: document: :has(.hit + .after) becomes false after middle child removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: document: :has(.hit + .after) becomes false after middle child removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document: :has(.hit + .after) becomes false after middle child removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: document: :has(.hit + .after) becomes false after middle child removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document: :has(.hit + .after) becomes false after middle child removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: document: :has(.hit + .after) becomes false after middle child removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: document: :has(.hit + .after) becomes false after middle child removal | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: document: :has(.hit + .after) becomes false after middle child removal | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: document: :has(.hit + .after) becomes false after middle child removal | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress warm child mutation: document: :has(.hit ~ .after) becomes false after following child removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: document: :has(.hit ~ .after) becomes false after following child removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document: :has(.hit ~ .after) becomes false after following child removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: document: :has(.hit ~ .after) becomes false after following child removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document: :has(.hit ~ .after) becomes false after following child removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: document: :has(.hit ~ .after) becomes false after following child removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: document: :has(.hit ~ .after) becomes false after following child removal | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: document: :has(.hit ~ .after) becomes false after following child removal | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: document: :has(.hit ~ .after) becomes false after following child removal | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress warm child mutation: document: :has(> .wrapper > .hit) becomes false after nested child removal | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: document: :has(> .wrapper > .hit) becomes false after nested child removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document: :has(> .wrapper > .hit) becomes false after nested child removal | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: document: :has(> .wrapper > .hit) becomes false after nested child removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document: :has(> .wrapper > .hit) becomes false after nested child removal | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: document: :has(> .wrapper > .hit) becomes false after nested child removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: document: :has(> .wrapper > .hit) becomes false after nested child removal | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: document: :has(> .wrapper > .hit) becomes false after nested child removal | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: document: :has(> .wrapper > .hit) becomes false after nested child removal | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress warm child mutation: document: :has(.hit) after replaceWith matching child | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: document: :has(.hit) after replaceWith matching child | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document: :has(.hit) after replaceWith matching child | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -543,10 +543,10 @@ PASS: detached child mutation: document: :has(.hit) after replaceWith matching c
PASS: detached pseudo-element child mutation: document: :has(.hit) after replaceWith matching child | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm child mutation: document: :has(.hit) becomes false after replaceWith nonmatching child | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: document: :has(.hit) becomes false after replaceWith nonmatching child | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document: :has(.hit) becomes false after replaceWith nonmatching child | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: document: :has(.hit) becomes false after replaceWith nonmatching child | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document: :has(.hit) becomes false after replaceWith nonmatching child | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: document: :has(.hit) becomes false after replaceWith nonmatching child | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: document: :has(.hit) becomes false after replaceWith nonmatching child | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: document: :has(.hit) becomes false after replaceWith nonmatching child | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: document: :has(.hit) becomes false after replaceWith nonmatching child | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress warm child mutation: document: :has(.hit) after cloned child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: document: :has(.hit) after cloned child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document: :has(.hit) after cloned child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -648,8 +648,8 @@ PASS: detached child mutation: shadow-internal: :has(> .hit:first-child) after i
PASS: detached pseudo-element child mutation: shadow-internal: :has(> .hit:first-child) after insertBefore | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: stress warm child mutation: shadow-internal: :has(> .hit) ignores nested child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: shadow-internal: :has(> .hit) ignores nested child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-internal: :has(> .hit) ignores nested child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: shadow-internal: :has(> .hit) ignores nested child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-internal: :has(> .hit) ignores nested child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: shadow-internal: :has(> .hit) ignores nested child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: shadow-internal: :has(> .hit) ignores nested child append | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: shadow-internal: :has(> .hit) ignores nested child append | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: stress warm child mutation: shadow-internal: :has(span.hit) after typed child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -726,8 +726,8 @@ PASS: detached child mutation: shadow-internal: :has(> .wrapper > .hit) after ne
PASS: detached pseudo-element child mutation: shadow-internal: :has(> .wrapper > .hit) after nested structure append | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: stress warm child mutation: shadow-internal: :not(:has(.hit)) becomes false after child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: shadow-internal: :not(:has(.hit)) becomes false after child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-internal: :not(:has(.hit)) becomes false after child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: shadow-internal: :not(:has(.hit)) becomes false after child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-internal: :not(:has(.hit)) becomes false after child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: shadow-internal: :not(:has(.hit)) becomes false after child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: shadow-internal: :not(:has(.hit)) becomes false after child append | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: shadow-internal: :not(:has(.hit)) becomes false after child append | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: stress warm child mutation: shadow-internal: :has(.hit, .fallback) after first-list child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -756,31 +756,31 @@ PASS: detached child mutation: shadow-internal: :has(.hit) after replaceChildren
PASS: detached pseudo-element child mutation: shadow-internal: :has(.hit) after replaceChildren | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: stress warm child mutation: shadow-internal: :has(.hit) becomes false after child removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: shadow-internal: :has(.hit) becomes false after child removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-internal: :has(.hit) becomes false after child removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: shadow-internal: :has(.hit) becomes false after child removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-internal: :has(.hit) becomes false after child removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: shadow-internal: :has(.hit) becomes false after child removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: shadow-internal: :has(.hit) becomes false after child removal | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: shadow-internal: :has(.hit) becomes false after child removal | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: stress warm child mutation: shadow-internal: :has(.hit) becomes false after removeChild | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: shadow-internal: :has(.hit) becomes false after removeChild | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-internal: :has(.hit) becomes false after removeChild | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: shadow-internal: :has(.hit) becomes false after removeChild | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-internal: :has(.hit) becomes false after removeChild | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: shadow-internal: :has(.hit) becomes false after removeChild | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: shadow-internal: :has(.hit) becomes false after removeChild | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: shadow-internal: :has(.hit) becomes false after removeChild | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: stress warm child mutation: shadow-internal: :has(.hit) becomes false after child moves out | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: shadow-internal: :has(.hit) becomes false after child moves out | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-internal: :has(.hit) becomes false after child moves out | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: shadow-internal: :has(.hit) becomes false after child moves out | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-internal: :has(.hit) becomes false after child moves out | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: shadow-internal: :has(.hit) becomes false after child moves out | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: shadow-internal: :has(.hit) becomes false after child moves out | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: shadow-internal: :has(.hit) becomes false after child moves out | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: stress warm child mutation: shadow-internal: :empty becomes true after replaceChildren | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: stress cold child mutation: shadow-internal: :empty becomes true after replaceChildren | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: stress warm pseudo-element child mutation: shadow-internal: :empty becomes true after replaceChildren | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: stress warm pseudo-element child mutation: shadow-internal: :empty becomes true after replaceChildren | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: stress cold pseudo-element child mutation: shadow-internal: :empty becomes true after replaceChildren | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: detached child mutation: shadow-internal: :empty becomes true after replaceChildren | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: detached pseudo-element child mutation: shadow-internal: :empty becomes true after replaceChildren | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: stress warm child mutation: shadow-internal: :empty becomes true after textContent clear | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: stress cold child mutation: shadow-internal: :empty becomes true after textContent clear | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: stress warm pseudo-element child mutation: shadow-internal: :empty becomes true after textContent clear | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: stress warm pseudo-element child mutation: shadow-internal: :empty becomes true after textContent clear | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: stress cold pseudo-element child mutation: shadow-internal: :empty becomes true after textContent clear | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: detached child mutation: shadow-internal: :empty becomes true after textContent clear | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: detached pseudo-element child mutation: shadow-internal: :empty becomes true after textContent clear | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
@ -822,8 +822,8 @@ PASS: detached child mutation: shadow-internal: :has(:checked) after checked che
PASS: detached pseudo-element child mutation: shadow-internal: :has(:checked) after checked checkbox append | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: stress warm child mutation: shadow-internal: :has(:checked) becomes false after checked checkbox removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: shadow-internal: :has(:checked) becomes false after checked checkbox removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-internal: :has(:checked) becomes false after checked checkbox removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: shadow-internal: :has(:checked) becomes false after checked checkbox removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-internal: :has(:checked) becomes false after checked checkbox removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: shadow-internal: :has(:checked) becomes false after checked checkbox removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: shadow-internal: :has(:checked) becomes false after checked checkbox removal | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: shadow-internal: :has(:checked) becomes false after checked checkbox removal | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: stress warm child mutation: shadow-internal: :has(:not(:checked)) after unchecked checkbox append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -858,8 +858,8 @@ PASS: detached child mutation: shadow-internal: :has(:optional) after optional i
PASS: detached pseudo-element child mutation: shadow-internal: :has(:optional) after optional input append | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: stress warm child mutation: shadow-internal: :has(:empty) becomes false after text inserted into only child | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: shadow-internal: :has(:empty) becomes false after text inserted into only child | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-internal: :has(:empty) becomes false after text inserted into only child | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: shadow-internal: :has(:empty) becomes false after text inserted into only child | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-internal: :has(:empty) becomes false after text inserted into only child | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: shadow-internal: :has(:empty) becomes false after text inserted into only child | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: shadow-internal: :has(:empty) becomes false after text inserted into only child | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: shadow-internal: :has(:empty) becomes false after text inserted into only child | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: stress warm child mutation: shadow-internal: :has(:not(:empty)) after non-empty child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -900,8 +900,8 @@ PASS: detached child mutation: shadow-internal: :has(:only-child) after only chi
PASS: detached pseudo-element child mutation: shadow-internal: :has(:only-child) after only child append | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: stress warm child mutation: shadow-internal: :has(:only-child) becomes false after sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: shadow-internal: :has(:only-child) becomes false after sibling append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-internal: :has(:only-child) becomes false after sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: shadow-internal: :has(:only-child) becomes false after sibling append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-internal: :has(:only-child) becomes false after sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: shadow-internal: :has(:only-child) becomes false after sibling append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: shadow-internal: :has(:only-child) becomes false after sibling append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: shadow-internal: :has(:only-child) becomes false after sibling append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: stress warm child mutation: shadow-internal: :has(:nth-child(2)) after second child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -966,8 +966,8 @@ PASS: detached child mutation: shadow-internal: :has(> .outer > .middle > .hit)
PASS: detached pseudo-element child mutation: shadow-internal: :has(> .outer > .middle > .hit) after exact deep append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: stress warm child mutation: shadow-internal: :has(.miss .hit) ignores hit without required ancestor | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: shadow-internal: :has(.miss .hit) ignores hit without required ancestor | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-internal: :has(.miss .hit) ignores hit without required ancestor | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: shadow-internal: :has(.miss .hit) ignores hit without required ancestor | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-internal: :has(.miss .hit) ignores hit without required ancestor | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: shadow-internal: :has(.miss .hit) ignores hit without required ancestor | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: shadow-internal: :has(.miss .hit) ignores hit without required ancestor | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: shadow-internal: :has(.miss .hit) ignores hit without required ancestor | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: stress warm child mutation: shadow-internal: :has(.before + .hit) after adjacent pair append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -1002,8 +1002,8 @@ PASS: detached child mutation: shadow-internal: :has(.hit:only-child) after only
PASS: detached pseudo-element child mutation: shadow-internal: :has(.hit:only-child) after only child append | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: stress warm child mutation: shadow-internal: :has(.hit:only-child) becomes false after sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: shadow-internal: :has(.hit:only-child) becomes false after sibling append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-internal: :has(.hit:only-child) becomes false after sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: shadow-internal: :has(.hit:only-child) becomes false after sibling append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-internal: :has(.hit:only-child) becomes false after sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: shadow-internal: :has(.hit:only-child) becomes false after sibling append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: shadow-internal: :has(.hit:only-child) becomes false after sibling append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: shadow-internal: :has(.hit:only-child) becomes false after sibling append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: stress warm child mutation: shadow-internal: :has(.hit:nth-last-child(1)) after last child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -1032,8 +1032,8 @@ PASS: detached child mutation: shadow-internal: :has(.hit:only-of-type) after on
PASS: detached pseudo-element child mutation: shadow-internal: :has(.hit:only-of-type) after only typed child append | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: stress warm child mutation: shadow-internal: :has(.hit:only-of-type) becomes false after same type sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: shadow-internal: :has(.hit:only-of-type) becomes false after same type sibling append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-internal: :has(.hit:only-of-type) becomes false after same type sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: shadow-internal: :has(.hit:only-of-type) becomes false after same type sibling append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-internal: :has(.hit:only-of-type) becomes false after same type sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: shadow-internal: :has(.hit:only-of-type) becomes false after same type sibling append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: shadow-internal: :has(.hit:only-of-type) becomes false after same type sibling append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: shadow-internal: :has(.hit:only-of-type) becomes false after same type sibling append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: stress warm child mutation: shadow-internal: :has(:is(.hit, .fallback)) after second-list child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -1080,8 +1080,8 @@ PASS: detached child mutation: shadow-internal: :has(.hit:not(:empty)) after non
PASS: detached pseudo-element child mutation: shadow-internal: :has(.hit:not(:empty)) after non-empty child append | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: stress warm child mutation: shadow-internal: :has(.hit:empty) becomes false after nested text append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: shadow-internal: :has(.hit:empty) becomes false after nested text append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-internal: :has(.hit:empty) becomes false after nested text append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: shadow-internal: :has(.hit:empty) becomes false after nested text append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-internal: :has(.hit:empty) becomes false after nested text append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: shadow-internal: :has(.hit:empty) becomes false after nested text append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: shadow-internal: :has(.hit:empty) becomes false after nested text append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: shadow-internal: :has(.hit:empty) becomes false after nested text append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: stress warm child mutation: shadow-internal: :has(.hit) after append with multiple arguments | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -1098,26 +1098,26 @@ PASS: detached child mutation: shadow-internal: :has(.hit:first-child + .after)
PASS: detached pseudo-element child mutation: shadow-internal: :has(.hit:first-child + .after) after prepend before existing child | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: stress warm child mutation: shadow-internal: :has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: shadow-internal: :has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-internal: :has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: shadow-internal: :has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-internal: :has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: shadow-internal: :has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: shadow-internal: :has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: shadow-internal: :has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: stress warm child mutation: shadow-internal: :has(.hit + .after) becomes false after middle child removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: shadow-internal: :has(.hit + .after) becomes false after middle child removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-internal: :has(.hit + .after) becomes false after middle child removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: shadow-internal: :has(.hit + .after) becomes false after middle child removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-internal: :has(.hit + .after) becomes false after middle child removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: shadow-internal: :has(.hit + .after) becomes false after middle child removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: shadow-internal: :has(.hit + .after) becomes false after middle child removal | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: shadow-internal: :has(.hit + .after) becomes false after middle child removal | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: stress warm child mutation: shadow-internal: :has(.hit ~ .after) becomes false after following child removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: shadow-internal: :has(.hit ~ .after) becomes false after following child removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-internal: :has(.hit ~ .after) becomes false after following child removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: shadow-internal: :has(.hit ~ .after) becomes false after following child removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-internal: :has(.hit ~ .after) becomes false after following child removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: shadow-internal: :has(.hit ~ .after) becomes false after following child removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: shadow-internal: :has(.hit ~ .after) becomes false after following child removal | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: shadow-internal: :has(.hit ~ .after) becomes false after following child removal | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: stress warm child mutation: shadow-internal: :has(> .wrapper > .hit) becomes false after nested child removal | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: shadow-internal: :has(> .wrapper > .hit) becomes false after nested child removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-internal: :has(> .wrapper > .hit) becomes false after nested child removal | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: shadow-internal: :has(> .wrapper > .hit) becomes false after nested child removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-internal: :has(> .wrapper > .hit) becomes false after nested child removal | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: shadow-internal: :has(> .wrapper > .hit) becomes false after nested child removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: shadow-internal: :has(> .wrapper > .hit) becomes false after nested child removal | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: shadow-internal: :has(> .wrapper > .hit) becomes false after nested child removal | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: stress warm child mutation: shadow-internal: :has(.hit) after replaceWith matching child | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -1128,8 +1128,8 @@ PASS: detached child mutation: shadow-internal: :has(.hit) after replaceWith mat
PASS: detached pseudo-element child mutation: shadow-internal: :has(.hit) after replaceWith matching child | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: stress warm child mutation: shadow-internal: :has(.hit) becomes false after replaceWith nonmatching child | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: shadow-internal: :has(.hit) becomes false after replaceWith nonmatching child | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-internal: :has(.hit) becomes false after replaceWith nonmatching child | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: shadow-internal: :has(.hit) becomes false after replaceWith nonmatching child | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-internal: :has(.hit) becomes false after replaceWith nonmatching child | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: shadow-internal: :has(.hit) becomes false after replaceWith nonmatching child | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: shadow-internal: :has(.hit) becomes false after replaceWith nonmatching child | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: shadow-internal: :has(.hit) becomes false after replaceWith nonmatching child | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: stress warm child mutation: shadow-internal: :has(.hit) after cloned child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -1224,10 +1224,10 @@ PASS: detached child mutation: shadow-host: :has(> .hit:first-child) after inser
PASS: detached pseudo-element child mutation: shadow-host: :has(> .hit:first-child) after insertBefore | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: stress warm child mutation: shadow-host: :has(> .hit) ignores nested child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: shadow-host: :has(> .hit) ignores nested child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-host: :has(> .hit) ignores nested child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: shadow-host: :has(> .hit) ignores nested child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-host: :has(> .hit) ignores nested child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: shadow-host: :has(> .hit) ignores nested child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: shadow-host: :has(> .hit) ignores nested child append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: shadow-host: :has(> .hit) ignores nested child append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: shadow-host: :has(> .hit) ignores nested child append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm child mutation: shadow-host: :has(span.hit) after typed child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: shadow-host: :has(span.hit) after typed child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-host: :has(span.hit) after typed child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -1302,10 +1302,10 @@ PASS: detached child mutation: shadow-host: :has(> .wrapper > .hit) after nested
PASS: detached pseudo-element child mutation: shadow-host: :has(> .wrapper > .hit) after nested structure append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: stress warm child mutation: shadow-host: :not(:has(.hit)) becomes false after child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: shadow-host: :not(:has(.hit)) becomes false after child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-host: :not(:has(.hit)) becomes false after child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: shadow-host: :not(:has(.hit)) becomes false after child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-host: :not(:has(.hit)) becomes false after child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: shadow-host: :not(:has(.hit)) becomes false after child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: shadow-host: :not(:has(.hit)) becomes false after child append | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: shadow-host: :not(:has(.hit)) becomes false after child append | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: shadow-host: :not(:has(.hit)) becomes false after child append | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm child mutation: shadow-host: :has(.hit, .fallback) after first-list child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: shadow-host: :has(.hit, .fallback) after first-list child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-host: :has(.hit, .fallback) after first-list child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -1332,22 +1332,22 @@ PASS: detached child mutation: shadow-host: :has(.hit) after replaceChildren | s
PASS: detached pseudo-element child mutation: shadow-host: :has(.hit) after replaceChildren | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: stress warm child mutation: shadow-host: :has(.hit) becomes false after child removal | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: shadow-host: :has(.hit) becomes false after child removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-host: :has(.hit) becomes false after child removal | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: shadow-host: :has(.hit) becomes false after child removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-host: :has(.hit) becomes false after child removal | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: shadow-host: :has(.hit) becomes false after child removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: shadow-host: :has(.hit) becomes false after child removal | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: shadow-host: :has(.hit) becomes false after child removal | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: shadow-host: :has(.hit) becomes false after child removal | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm child mutation: shadow-host: :has(.hit) becomes false after removeChild | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: shadow-host: :has(.hit) becomes false after removeChild | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-host: :has(.hit) becomes false after removeChild | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: shadow-host: :has(.hit) becomes false after removeChild | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-host: :has(.hit) becomes false after removeChild | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: shadow-host: :has(.hit) becomes false after removeChild | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: shadow-host: :has(.hit) becomes false after removeChild | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: shadow-host: :has(.hit) becomes false after removeChild | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: shadow-host: :has(.hit) becomes false after removeChild | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm child mutation: shadow-host: :has(.hit) becomes false after child moves out | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: shadow-host: :has(.hit) becomes false after child moves out | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-host: :has(.hit) becomes false after child moves out | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: shadow-host: :has(.hit) becomes false after child moves out | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-host: :has(.hit) becomes false after child moves out | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: shadow-host: :has(.hit) becomes false after child moves out | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: shadow-host: :has(.hit) becomes false after child moves out | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: shadow-host: :has(.hit) becomes false after child moves out | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: shadow-host: :has(.hit) becomes false after child moves out | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm child mutation: shadow-host: :empty becomes true after replaceChildren | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: stress cold child mutation: shadow-host: :empty becomes true after replaceChildren | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: stress warm pseudo-element child mutation: shadow-host: :empty becomes true after replaceChildren | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
@ -1398,10 +1398,10 @@ PASS: detached child mutation: shadow-host: :has(:checked) after checked checkbo
PASS: detached pseudo-element child mutation: shadow-host: :has(:checked) after checked checkbox append | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: stress warm child mutation: shadow-host: :has(:checked) becomes false after checked checkbox removal | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: shadow-host: :has(:checked) becomes false after checked checkbox removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-host: :has(:checked) becomes false after checked checkbox removal | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: shadow-host: :has(:checked) becomes false after checked checkbox removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-host: :has(:checked) becomes false after checked checkbox removal | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: shadow-host: :has(:checked) becomes false after checked checkbox removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: shadow-host: :has(:checked) becomes false after checked checkbox removal | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: shadow-host: :has(:checked) becomes false after checked checkbox removal | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: shadow-host: :has(:checked) becomes false after checked checkbox removal | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm child mutation: shadow-host: :has(:not(:checked)) after unchecked checkbox append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: shadow-host: :has(:not(:checked)) after unchecked checkbox append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-host: :has(:not(:checked)) after unchecked checkbox append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -1434,10 +1434,10 @@ PASS: detached child mutation: shadow-host: :has(:optional) after optional input
PASS: detached pseudo-element child mutation: shadow-host: :has(:optional) after optional input append | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: stress warm child mutation: shadow-host: :has(:empty) becomes false after text inserted into only child | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: shadow-host: :has(:empty) becomes false after text inserted into only child | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-host: :has(:empty) becomes false after text inserted into only child | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: shadow-host: :has(:empty) becomes false after text inserted into only child | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-host: :has(:empty) becomes false after text inserted into only child | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: shadow-host: :has(:empty) becomes false after text inserted into only child | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: shadow-host: :has(:empty) becomes false after text inserted into only child | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: shadow-host: :has(:empty) becomes false after text inserted into only child | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: shadow-host: :has(:empty) becomes false after text inserted into only child | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm child mutation: shadow-host: :has(:not(:empty)) after non-empty child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: shadow-host: :has(:not(:empty)) after non-empty child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-host: :has(:not(:empty)) after non-empty child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -1476,10 +1476,10 @@ PASS: detached child mutation: shadow-host: :has(:only-child) after only child a
PASS: detached pseudo-element child mutation: shadow-host: :has(:only-child) after only child append | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: stress warm child mutation: shadow-host: :has(:only-child) becomes false after sibling append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: shadow-host: :has(:only-child) becomes false after sibling append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-host: :has(:only-child) becomes false after sibling append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: shadow-host: :has(:only-child) becomes false after sibling append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-host: :has(:only-child) becomes false after sibling append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: shadow-host: :has(:only-child) becomes false after sibling append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: shadow-host: :has(:only-child) becomes false after sibling append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: shadow-host: :has(:only-child) becomes false after sibling append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: shadow-host: :has(:only-child) becomes false after sibling append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm child mutation: shadow-host: :has(:nth-child(2)) after second child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: shadow-host: :has(:nth-child(2)) after second child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-host: :has(:nth-child(2)) after second child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -1542,10 +1542,10 @@ PASS: detached child mutation: shadow-host: :has(> .outer > .middle > .hit) afte
PASS: detached pseudo-element child mutation: shadow-host: :has(> .outer > .middle > .hit) after exact deep append | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: stress warm child mutation: shadow-host: :has(.miss .hit) ignores hit without required ancestor | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: shadow-host: :has(.miss .hit) ignores hit without required ancestor | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-host: :has(.miss .hit) ignores hit without required ancestor | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: shadow-host: :has(.miss .hit) ignores hit without required ancestor | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-host: :has(.miss .hit) ignores hit without required ancestor | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: shadow-host: :has(.miss .hit) ignores hit without required ancestor | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: shadow-host: :has(.miss .hit) ignores hit without required ancestor | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: shadow-host: :has(.miss .hit) ignores hit without required ancestor | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: shadow-host: :has(.miss .hit) ignores hit without required ancestor | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm child mutation: shadow-host: :has(.before + .hit) after adjacent pair append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: shadow-host: :has(.before + .hit) after adjacent pair append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-host: :has(.before + .hit) after adjacent pair append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -1578,10 +1578,10 @@ PASS: detached child mutation: shadow-host: :has(.hit:only-child) after only chi
PASS: detached pseudo-element child mutation: shadow-host: :has(.hit:only-child) after only child append | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: stress warm child mutation: shadow-host: :has(.hit:only-child) becomes false after sibling append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: shadow-host: :has(.hit:only-child) becomes false after sibling append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-host: :has(.hit:only-child) becomes false after sibling append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: shadow-host: :has(.hit:only-child) becomes false after sibling append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-host: :has(.hit:only-child) becomes false after sibling append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: shadow-host: :has(.hit:only-child) becomes false after sibling append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: shadow-host: :has(.hit:only-child) becomes false after sibling append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: shadow-host: :has(.hit:only-child) becomes false after sibling append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: shadow-host: :has(.hit:only-child) becomes false after sibling append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm child mutation: shadow-host: :has(.hit:nth-last-child(1)) after last child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: shadow-host: :has(.hit:nth-last-child(1)) after last child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-host: :has(.hit:nth-last-child(1)) after last child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -1608,10 +1608,10 @@ PASS: detached child mutation: shadow-host: :has(.hit:only-of-type) after only t
PASS: detached pseudo-element child mutation: shadow-host: :has(.hit:only-of-type) after only typed child append | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: stress warm child mutation: shadow-host: :has(.hit:only-of-type) becomes false after same type sibling append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: shadow-host: :has(.hit:only-of-type) becomes false after same type sibling append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-host: :has(.hit:only-of-type) becomes false after same type sibling append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: shadow-host: :has(.hit:only-of-type) becomes false after same type sibling append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-host: :has(.hit:only-of-type) becomes false after same type sibling append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: shadow-host: :has(.hit:only-of-type) becomes false after same type sibling append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: shadow-host: :has(.hit:only-of-type) becomes false after same type sibling append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: shadow-host: :has(.hit:only-of-type) becomes false after same type sibling append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: shadow-host: :has(.hit:only-of-type) becomes false after same type sibling append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm child mutation: shadow-host: :has(:is(.hit, .fallback)) after second-list child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: shadow-host: :has(:is(.hit, .fallback)) after second-list child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-host: :has(:is(.hit, .fallback)) after second-list child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -1656,10 +1656,10 @@ PASS: detached child mutation: shadow-host: :has(.hit:not(:empty)) after non-emp
PASS: detached pseudo-element child mutation: shadow-host: :has(.hit:not(:empty)) after non-empty child append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: stress warm child mutation: shadow-host: :has(.hit:empty) becomes false after nested text append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: shadow-host: :has(.hit:empty) becomes false after nested text append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-host: :has(.hit:empty) becomes false after nested text append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: shadow-host: :has(.hit:empty) becomes false after nested text append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-host: :has(.hit:empty) becomes false after nested text append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: shadow-host: :has(.hit:empty) becomes false after nested text append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: shadow-host: :has(.hit:empty) becomes false after nested text append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: shadow-host: :has(.hit:empty) becomes false after nested text append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: shadow-host: :has(.hit:empty) becomes false after nested text append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm child mutation: shadow-host: :has(.hit) after append with multiple arguments | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: shadow-host: :has(.hit) after append with multiple arguments | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-host: :has(.hit) after append with multiple arguments | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -1674,28 +1674,28 @@ PASS: detached child mutation: shadow-host: :has(.hit:first-child + .after) afte
PASS: detached pseudo-element child mutation: shadow-host: :has(.hit:first-child + .after) after prepend before existing child | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: stress warm child mutation: shadow-host: :has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: shadow-host: :has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-host: :has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: shadow-host: :has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-host: :has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: shadow-host: :has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: shadow-host: :has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: shadow-host: :has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: shadow-host: :has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm child mutation: shadow-host: :has(.hit + .after) becomes false after middle child removal | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: shadow-host: :has(.hit + .after) becomes false after middle child removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-host: :has(.hit + .after) becomes false after middle child removal | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: shadow-host: :has(.hit + .after) becomes false after middle child removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-host: :has(.hit + .after) becomes false after middle child removal | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: shadow-host: :has(.hit + .after) becomes false after middle child removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: shadow-host: :has(.hit + .after) becomes false after middle child removal | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: shadow-host: :has(.hit + .after) becomes false after middle child removal | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: shadow-host: :has(.hit + .after) becomes false after middle child removal | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm child mutation: shadow-host: :has(.hit ~ .after) becomes false after following child removal | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: shadow-host: :has(.hit ~ .after) becomes false after following child removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-host: :has(.hit ~ .after) becomes false after following child removal | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: shadow-host: :has(.hit ~ .after) becomes false after following child removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-host: :has(.hit ~ .after) becomes false after following child removal | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: shadow-host: :has(.hit ~ .after) becomes false after following child removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: shadow-host: :has(.hit ~ .after) becomes false after following child removal | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: shadow-host: :has(.hit ~ .after) becomes false after following child removal | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: shadow-host: :has(.hit ~ .after) becomes false after following child removal | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm child mutation: shadow-host: :has(> .wrapper > .hit) becomes false after nested child removal | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: shadow-host: :has(> .wrapper > .hit) becomes false after nested child removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-host: :has(> .wrapper > .hit) becomes false after nested child removal | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: shadow-host: :has(> .wrapper > .hit) becomes false after nested child removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-host: :has(> .wrapper > .hit) becomes false after nested child removal | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: shadow-host: :has(> .wrapper > .hit) becomes false after nested child removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: shadow-host: :has(> .wrapper > .hit) becomes false after nested child removal | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: shadow-host: :has(> .wrapper > .hit) becomes false after nested child removal | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: shadow-host: :has(> .wrapper > .hit) becomes false after nested child removal | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm child mutation: shadow-host: :has(.hit) after replaceWith matching child | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: shadow-host: :has(.hit) after replaceWith matching child | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-host: :has(.hit) after replaceWith matching child | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -1704,10 +1704,10 @@ PASS: detached child mutation: shadow-host: :has(.hit) after replaceWith matchin
PASS: detached pseudo-element child mutation: shadow-host: :has(.hit) after replaceWith matching child | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: stress warm child mutation: shadow-host: :has(.hit) becomes false after replaceWith nonmatching child | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: shadow-host: :has(.hit) becomes false after replaceWith nonmatching child | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-host: :has(.hit) becomes false after replaceWith nonmatching child | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: shadow-host: :has(.hit) becomes false after replaceWith nonmatching child | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-host: :has(.hit) becomes false after replaceWith nonmatching child | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: shadow-host: :has(.hit) becomes false after replaceWith nonmatching child | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: shadow-host: :has(.hit) becomes false after replaceWith nonmatching child | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: shadow-host: :has(.hit) becomes false after replaceWith nonmatching child | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: shadow-host: :has(.hit) becomes false after replaceWith nonmatching child | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm child mutation: shadow-host: :has(.hit) after cloned child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: shadow-host: :has(.hit) after cloned child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: shadow-host: :has(.hit) after cloned child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2

View file

@ -54,10 +54,10 @@ PASS: detached child mutation: document-styled-use-shadow: :has(> .hit:first-chi
PASS: detached pseudo-element child mutation: document-styled-use-shadow: :has(> .hit:first-child) after insertBefore | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress warm child mutation: document-styled-use-shadow: :has(> .hit) ignores nested child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: document-styled-use-shadow: :has(> .hit) ignores nested child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document-styled-use-shadow: :has(> .hit) ignores nested child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: document-styled-use-shadow: :has(> .hit) ignores nested child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document-styled-use-shadow: :has(> .hit) ignores nested child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: document-styled-use-shadow: :has(> .hit) ignores nested child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: document-styled-use-shadow: :has(> .hit) ignores nested child append | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached pseudo-element child mutation: document-styled-use-shadow: :has(> .hit) ignores nested child append | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached pseudo-element child mutation: document-styled-use-shadow: :has(> .hit) ignores nested child append | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: stress warm child mutation: document-styled-use-shadow: :has(span.hit) after typed child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: document-styled-use-shadow: :has(span.hit) after typed child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document-styled-use-shadow: :has(span.hit) after typed child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -132,10 +132,10 @@ PASS: detached child mutation: document-styled-use-shadow: :has(> .wrapper > .hi
PASS: detached pseudo-element child mutation: document-styled-use-shadow: :has(> .wrapper > .hit) after nested structure append | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress warm child mutation: document-styled-use-shadow: :not(:has(.hit)) becomes false after child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: document-styled-use-shadow: :not(:has(.hit)) becomes false after child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document-styled-use-shadow: :not(:has(.hit)) becomes false after child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: document-styled-use-shadow: :not(:has(.hit)) becomes false after child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document-styled-use-shadow: :not(:has(.hit)) becomes false after child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: document-styled-use-shadow: :not(:has(.hit)) becomes false after child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: document-styled-use-shadow: :not(:has(.hit)) becomes false after child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached pseudo-element child mutation: document-styled-use-shadow: :not(:has(.hit)) becomes false after child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached pseudo-element child mutation: document-styled-use-shadow: :not(:has(.hit)) becomes false after child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: stress warm child mutation: document-styled-use-shadow: :has(.hit, .fallback) after first-list child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: document-styled-use-shadow: :has(.hit, .fallback) after first-list child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document-styled-use-shadow: :has(.hit, .fallback) after first-list child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -162,31 +162,31 @@ PASS: detached child mutation: document-styled-use-shadow: :has(.hit) after repl
PASS: detached pseudo-element child mutation: document-styled-use-shadow: :has(.hit) after replaceChildren | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress warm child mutation: document-styled-use-shadow: :has(.hit) becomes false after child removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: document-styled-use-shadow: :has(.hit) becomes false after child removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document-styled-use-shadow: :has(.hit) becomes false after child removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: document-styled-use-shadow: :has(.hit) becomes false after child removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document-styled-use-shadow: :has(.hit) becomes false after child removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: document-styled-use-shadow: :has(.hit) becomes false after child removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: document-styled-use-shadow: :has(.hit) becomes false after child removal | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: document-styled-use-shadow: :has(.hit) becomes false after child removal | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: stress warm child mutation: document-styled-use-shadow: :has(.hit) becomes false after removeChild | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: document-styled-use-shadow: :has(.hit) becomes false after removeChild | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document-styled-use-shadow: :has(.hit) becomes false after removeChild | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: document-styled-use-shadow: :has(.hit) becomes false after removeChild | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document-styled-use-shadow: :has(.hit) becomes false after removeChild | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: document-styled-use-shadow: :has(.hit) becomes false after removeChild | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: document-styled-use-shadow: :has(.hit) becomes false after removeChild | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: document-styled-use-shadow: :has(.hit) becomes false after removeChild | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: stress warm child mutation: document-styled-use-shadow: :has(.hit) becomes false after child moves out | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: document-styled-use-shadow: :has(.hit) becomes false after child moves out | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document-styled-use-shadow: :has(.hit) becomes false after child moves out | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: document-styled-use-shadow: :has(.hit) becomes false after child moves out | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document-styled-use-shadow: :has(.hit) becomes false after child moves out | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: document-styled-use-shadow: :has(.hit) becomes false after child moves out | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: document-styled-use-shadow: :has(.hit) becomes false after child moves out | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached pseudo-element child mutation: document-styled-use-shadow: :has(.hit) becomes false after child moves out | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached pseudo-element child mutation: document-styled-use-shadow: :has(.hit) becomes false after child moves out | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: stress warm child mutation: document-styled-use-shadow: :empty becomes true after replaceChildren | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=1, elementStyleNoopRecomputations=0, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: stress cold child mutation: document-styled-use-shadow: :empty becomes true after replaceChildren | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=1, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: stress warm pseudo-element child mutation: document-styled-use-shadow: :empty becomes true after replaceChildren | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=1, elementStyleNoopRecomputations=0, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: stress warm pseudo-element child mutation: document-styled-use-shadow: :empty becomes true after replaceChildren | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=1, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: stress cold pseudo-element child mutation: document-styled-use-shadow: :empty becomes true after replaceChildren | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=1, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: detached child mutation: document-styled-use-shadow: :empty becomes true after replaceChildren | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: detached pseudo-element child mutation: document-styled-use-shadow: :empty becomes true after replaceChildren | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: stress warm child mutation: document-styled-use-shadow: :empty becomes true after textContent clear | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=1, elementStyleNoopRecomputations=0, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: stress cold child mutation: document-styled-use-shadow: :empty becomes true after textContent clear | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=1, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: stress warm pseudo-element child mutation: document-styled-use-shadow: :empty becomes true after textContent clear | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=1, elementStyleNoopRecomputations=0, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: stress warm pseudo-element child mutation: document-styled-use-shadow: :empty becomes true after textContent clear | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=1, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: stress cold pseudo-element child mutation: document-styled-use-shadow: :empty becomes true after textContent clear | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=1, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: detached child mutation: document-styled-use-shadow: :empty becomes true after textContent clear | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: detached pseudo-element child mutation: document-styled-use-shadow: :empty becomes true after textContent clear | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
@ -222,8 +222,8 @@ PASS: detached child mutation: document-styled-use-shadow: :has(:checked) after
PASS: detached pseudo-element child mutation: document-styled-use-shadow: :has(:checked) after checked checkbox append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress warm child mutation: document-styled-use-shadow: :has(:checked) becomes false after checked checkbox removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: document-styled-use-shadow: :has(:checked) becomes false after checked checkbox removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document-styled-use-shadow: :has(:checked) becomes false after checked checkbox removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: document-styled-use-shadow: :has(:checked) becomes false after checked checkbox removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document-styled-use-shadow: :has(:checked) becomes false after checked checkbox removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: document-styled-use-shadow: :has(:checked) becomes false after checked checkbox removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: document-styled-use-shadow: :has(:checked) becomes false after checked checkbox removal | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: document-styled-use-shadow: :has(:checked) becomes false after checked checkbox removal | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: stress warm child mutation: document-styled-use-shadow: :has(:not(:checked)) after unchecked checkbox append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -258,10 +258,10 @@ PASS: detached child mutation: document-styled-use-shadow: :has(:optional) after
PASS: detached pseudo-element child mutation: document-styled-use-shadow: :has(:optional) after optional input append | styleInvalidations=15, fullStyleInvalidations=0, elementStyleRecomputations=12, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress warm child mutation: document-styled-use-shadow: :has(:empty) becomes false after text inserted into only child | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: document-styled-use-shadow: :has(:empty) becomes false after text inserted into only child | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document-styled-use-shadow: :has(:empty) becomes false after text inserted into only child | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: document-styled-use-shadow: :has(:empty) becomes false after text inserted into only child | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document-styled-use-shadow: :has(:empty) becomes false after text inserted into only child | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: document-styled-use-shadow: :has(:empty) becomes false after text inserted into only child | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: document-styled-use-shadow: :has(:empty) becomes false after text inserted into only child | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached pseudo-element child mutation: document-styled-use-shadow: :has(:empty) becomes false after text inserted into only child | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached pseudo-element child mutation: document-styled-use-shadow: :has(:empty) becomes false after text inserted into only child | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: stress warm child mutation: document-styled-use-shadow: :has(:not(:empty)) after non-empty child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: document-styled-use-shadow: :has(:not(:empty)) after non-empty child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document-styled-use-shadow: :has(:not(:empty)) after non-empty child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -300,10 +300,10 @@ PASS: detached child mutation: document-styled-use-shadow: :has(:only-child) aft
PASS: detached pseudo-element child mutation: document-styled-use-shadow: :has(:only-child) after only child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress warm child mutation: document-styled-use-shadow: :has(:only-child) becomes false after sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: document-styled-use-shadow: :has(:only-child) becomes false after sibling append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document-styled-use-shadow: :has(:only-child) becomes false after sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: document-styled-use-shadow: :has(:only-child) becomes false after sibling append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document-styled-use-shadow: :has(:only-child) becomes false after sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: document-styled-use-shadow: :has(:only-child) becomes false after sibling append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: document-styled-use-shadow: :has(:only-child) becomes false after sibling append | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached pseudo-element child mutation: document-styled-use-shadow: :has(:only-child) becomes false after sibling append | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached pseudo-element child mutation: document-styled-use-shadow: :has(:only-child) becomes false after sibling append | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: stress warm child mutation: document-styled-use-shadow: :has(:nth-child(2)) after second child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: document-styled-use-shadow: :has(:nth-child(2)) after second child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document-styled-use-shadow: :has(:nth-child(2)) after second child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -366,10 +366,10 @@ PASS: detached child mutation: document-styled-use-shadow: :has(> .outer > .midd
PASS: detached pseudo-element child mutation: document-styled-use-shadow: :has(> .outer > .middle > .hit) after exact deep append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=3, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress warm child mutation: document-styled-use-shadow: :has(.miss .hit) ignores hit without required ancestor | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: document-styled-use-shadow: :has(.miss .hit) ignores hit without required ancestor | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document-styled-use-shadow: :has(.miss .hit) ignores hit without required ancestor | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: document-styled-use-shadow: :has(.miss .hit) ignores hit without required ancestor | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document-styled-use-shadow: :has(.miss .hit) ignores hit without required ancestor | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: document-styled-use-shadow: :has(.miss .hit) ignores hit without required ancestor | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: document-styled-use-shadow: :has(.miss .hit) ignores hit without required ancestor | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached pseudo-element child mutation: document-styled-use-shadow: :has(.miss .hit) ignores hit without required ancestor | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached pseudo-element child mutation: document-styled-use-shadow: :has(.miss .hit) ignores hit without required ancestor | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: stress warm child mutation: document-styled-use-shadow: :has(.before + .hit) after adjacent pair append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: document-styled-use-shadow: :has(.before + .hit) after adjacent pair append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document-styled-use-shadow: :has(.before + .hit) after adjacent pair append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -402,10 +402,10 @@ PASS: detached child mutation: document-styled-use-shadow: :has(.hit:only-child)
PASS: detached pseudo-element child mutation: document-styled-use-shadow: :has(.hit:only-child) after only child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress warm child mutation: document-styled-use-shadow: :has(.hit:only-child) becomes false after sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: document-styled-use-shadow: :has(.hit:only-child) becomes false after sibling append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document-styled-use-shadow: :has(.hit:only-child) becomes false after sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: document-styled-use-shadow: :has(.hit:only-child) becomes false after sibling append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document-styled-use-shadow: :has(.hit:only-child) becomes false after sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: document-styled-use-shadow: :has(.hit:only-child) becomes false after sibling append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: document-styled-use-shadow: :has(.hit:only-child) becomes false after sibling append | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached pseudo-element child mutation: document-styled-use-shadow: :has(.hit:only-child) becomes false after sibling append | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached pseudo-element child mutation: document-styled-use-shadow: :has(.hit:only-child) becomes false after sibling append | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: stress warm child mutation: document-styled-use-shadow: :has(.hit:nth-last-child(1)) after last child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: document-styled-use-shadow: :has(.hit:nth-last-child(1)) after last child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document-styled-use-shadow: :has(.hit:nth-last-child(1)) after last child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -432,10 +432,10 @@ PASS: detached child mutation: document-styled-use-shadow: :has(.hit:only-of-typ
PASS: detached pseudo-element child mutation: document-styled-use-shadow: :has(.hit:only-of-type) after only typed child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress warm child mutation: document-styled-use-shadow: :has(.hit:only-of-type) becomes false after same type sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: document-styled-use-shadow: :has(.hit:only-of-type) becomes false after same type sibling append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document-styled-use-shadow: :has(.hit:only-of-type) becomes false after same type sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: document-styled-use-shadow: :has(.hit:only-of-type) becomes false after same type sibling append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document-styled-use-shadow: :has(.hit:only-of-type) becomes false after same type sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: document-styled-use-shadow: :has(.hit:only-of-type) becomes false after same type sibling append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: document-styled-use-shadow: :has(.hit:only-of-type) becomes false after same type sibling append | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached pseudo-element child mutation: document-styled-use-shadow: :has(.hit:only-of-type) becomes false after same type sibling append | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached pseudo-element child mutation: document-styled-use-shadow: :has(.hit:only-of-type) becomes false after same type sibling append | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: stress warm child mutation: document-styled-use-shadow: :has(:is(.hit, .fallback)) after second-list child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: document-styled-use-shadow: :has(:is(.hit, .fallback)) after second-list child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document-styled-use-shadow: :has(:is(.hit, .fallback)) after second-list child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -480,10 +480,10 @@ PASS: detached child mutation: document-styled-use-shadow: :has(.hit:not(:empty)
PASS: detached pseudo-element child mutation: document-styled-use-shadow: :has(.hit:not(:empty)) after non-empty child append | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress warm child mutation: document-styled-use-shadow: :has(.hit:empty) becomes false after nested text append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: document-styled-use-shadow: :has(.hit:empty) becomes false after nested text append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document-styled-use-shadow: :has(.hit:empty) becomes false after nested text append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: document-styled-use-shadow: :has(.hit:empty) becomes false after nested text append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document-styled-use-shadow: :has(.hit:empty) becomes false after nested text append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: document-styled-use-shadow: :has(.hit:empty) becomes false after nested text append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: document-styled-use-shadow: :has(.hit:empty) becomes false after nested text append | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached pseudo-element child mutation: document-styled-use-shadow: :has(.hit:empty) becomes false after nested text append | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached pseudo-element child mutation: document-styled-use-shadow: :has(.hit:empty) becomes false after nested text append | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: stress warm child mutation: document-styled-use-shadow: :has(.hit) after append with multiple arguments | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: document-styled-use-shadow: :has(.hit) after append with multiple arguments | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document-styled-use-shadow: :has(.hit) after append with multiple arguments | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -498,26 +498,26 @@ PASS: detached child mutation: document-styled-use-shadow: :has(.hit:first-child
PASS: detached pseudo-element child mutation: document-styled-use-shadow: :has(.hit:first-child + .after) after prepend before existing child | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress warm child mutation: document-styled-use-shadow: :has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: document-styled-use-shadow: :has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document-styled-use-shadow: :has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: document-styled-use-shadow: :has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document-styled-use-shadow: :has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: document-styled-use-shadow: :has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: document-styled-use-shadow: :has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached pseudo-element child mutation: document-styled-use-shadow: :has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached pseudo-element child mutation: document-styled-use-shadow: :has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: stress warm child mutation: document-styled-use-shadow: :has(.hit + .after) becomes false after middle child removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: document-styled-use-shadow: :has(.hit + .after) becomes false after middle child removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document-styled-use-shadow: :has(.hit + .after) becomes false after middle child removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: document-styled-use-shadow: :has(.hit + .after) becomes false after middle child removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document-styled-use-shadow: :has(.hit + .after) becomes false after middle child removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: document-styled-use-shadow: :has(.hit + .after) becomes false after middle child removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: document-styled-use-shadow: :has(.hit + .after) becomes false after middle child removal | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached pseudo-element child mutation: document-styled-use-shadow: :has(.hit + .after) becomes false after middle child removal | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached pseudo-element child mutation: document-styled-use-shadow: :has(.hit + .after) becomes false after middle child removal | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: stress warm child mutation: document-styled-use-shadow: :has(.hit ~ .after) becomes false after following child removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: document-styled-use-shadow: :has(.hit ~ .after) becomes false after following child removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document-styled-use-shadow: :has(.hit ~ .after) becomes false after following child removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: document-styled-use-shadow: :has(.hit ~ .after) becomes false after following child removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document-styled-use-shadow: :has(.hit ~ .after) becomes false after following child removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: document-styled-use-shadow: :has(.hit ~ .after) becomes false after following child removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: document-styled-use-shadow: :has(.hit ~ .after) becomes false after following child removal | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached pseudo-element child mutation: document-styled-use-shadow: :has(.hit ~ .after) becomes false after following child removal | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached pseudo-element child mutation: document-styled-use-shadow: :has(.hit ~ .after) becomes false after following child removal | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: stress warm child mutation: document-styled-use-shadow: :has(> .wrapper > .hit) becomes false after nested child removal | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: document-styled-use-shadow: :has(> .wrapper > .hit) becomes false after nested child removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document-styled-use-shadow: :has(> .wrapper > .hit) becomes false after nested child removal | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: document-styled-use-shadow: :has(> .wrapper > .hit) becomes false after nested child removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document-styled-use-shadow: :has(> .wrapper > .hit) becomes false after nested child removal | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: document-styled-use-shadow: :has(> .wrapper > .hit) becomes false after nested child removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: document-styled-use-shadow: :has(> .wrapper > .hit) becomes false after nested child removal | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: document-styled-use-shadow: :has(> .wrapper > .hit) becomes false after nested child removal | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: stress warm child mutation: document-styled-use-shadow: :has(.hit) after replaceWith matching child | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -528,8 +528,8 @@ PASS: detached child mutation: document-styled-use-shadow: :has(.hit) after repl
PASS: detached pseudo-element child mutation: document-styled-use-shadow: :has(.hit) after replaceWith matching child | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress warm child mutation: document-styled-use-shadow: :has(.hit) becomes false after replaceWith nonmatching child | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold child mutation: document-styled-use-shadow: :has(.hit) becomes false after replaceWith nonmatching child | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document-styled-use-shadow: :has(.hit) becomes false after replaceWith nonmatching child | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress cold pseudo-element child mutation: document-styled-use-shadow: :has(.hit) becomes false after replaceWith nonmatching child | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: stress warm pseudo-element child mutation: document-styled-use-shadow: :has(.hit) becomes false after replaceWith nonmatching child | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: stress cold pseudo-element child mutation: document-styled-use-shadow: :has(.hit) becomes false after replaceWith nonmatching child | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached child mutation: document-styled-use-shadow: :has(.hit) becomes false after replaceWith nonmatching child | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: document-styled-use-shadow: :has(.hit) becomes false after replaceWith nonmatching child | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: stress warm child mutation: document-styled-use-shadow: :has(.hit) after cloned child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2

View file

@ -28,20 +28,20 @@ PASS: descendant attribute stress detached-pseudo: document: :has(span.hit:not(.
PASS: descendant attribute stress detached-pseudo-cold: document: :has(span.hit:not(.miss)) after descendant compound change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached: document: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-cold: document: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: document: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: document: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: document: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo-cold: document: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached: document: :has(:is(.hit)) after descendant class change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-cold: document: :has(:is(.hit)) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: document: :has(:is(.hit)) after descendant class change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: document: :has(:is(.hit)) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached: document: :has(.hit) becomes false after descendant class removal | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-cold: document: :has(.hit) becomes false after descendant class removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: document: :has(.hit) becomes false after descendant class removal | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: document: :has(.hit) becomes false after descendant class removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: document: :has(.hit) becomes false after descendant class removal | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo-cold: document: :has(.hit) becomes false after descendant class removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached: document: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-cold: document: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: document: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: document: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: document: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo-cold: document: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached: document: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-cold: document: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: document: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -52,8 +52,8 @@ PASS: descendant attribute stress detached-pseudo: document: :has(.hit.extra) af
PASS: descendant attribute stress detached-pseudo-cold: document: :has(.hit.extra) after descendant second class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached: document: :has(.hit) becomes false after descendant className clear | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-cold: document: :has(.hit) becomes false after descendant className clear | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: document: :has(.hit) becomes false after descendant className clear | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: document: :has(.hit) becomes false after descendant className clear | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: document: :has(.hit) becomes false after descendant className clear | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo-cold: document: :has(.hit) becomes false after descendant className clear | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached: document: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-cold: document: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: document: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -80,8 +80,8 @@ PASS: descendant attribute stress detached-pseudo: document: :has([data-hit|='ye
PASS: descendant attribute stress detached-pseudo-cold: document: :has([data-hit|='yes']) after descendant dash attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached: document: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-cold: document: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: document: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: document: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: document: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo-cold: document: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached: document: :has([hidden]) after descendant hidden property change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-cold: document: :has([hidden]) after descendant hidden property change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: document: :has([hidden]) after descendant hidden property change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -100,8 +100,8 @@ PASS: descendant attribute stress detached-pseudo: document: :has(.hit:not([data
PASS: descendant attribute stress detached-pseudo-cold: document: :has(.hit:not([data-miss])) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached: document: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-cold: document: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: document: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: document: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: document: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo-cold: document: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached: document: :has(.hit + .after) after descendant sibling class change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-cold: document: :has(.hit + .after) after descendant sibling class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: document: :has(.hit + .after) after descendant sibling class change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -128,16 +128,16 @@ PASS: descendant attribute stress detached-pseudo: document: :has(.hit:nth-child
PASS: descendant attribute stress detached-pseudo-cold: document: :has(.hit:nth-child(2)) after second descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached: document: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-cold: document: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: document: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: document: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: document: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo-cold: document: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached: document: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-cold: document: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: document: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: document: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached: document: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-cold: document: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: document: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: document: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: document: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo-cold: document: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached: document: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-cold: document: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: document: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -172,20 +172,20 @@ PASS: descendant attribute stress detached-pseudo: document-styled-use-shadow: :
PASS: descendant attribute stress detached-pseudo-cold: document-styled-use-shadow: :has(span.hit:not(.miss)) after descendant compound change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached: document-styled-use-shadow: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-cold: document-styled-use-shadow: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: document-styled-use-shadow: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo-cold: document-styled-use-shadow: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: document-styled-use-shadow: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo-cold: document-styled-use-shadow: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached: document-styled-use-shadow: :has(:is(.hit)) after descendant class change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-cold: document-styled-use-shadow: :has(:is(.hit)) after descendant class change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: document-styled-use-shadow: :has(:is(.hit)) after descendant class change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo-cold: document-styled-use-shadow: :has(:is(.hit)) after descendant class change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached: document-styled-use-shadow: :has(.hit) becomes false after descendant class removal | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-cold: document-styled-use-shadow: :has(.hit) becomes false after descendant class removal | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: document-styled-use-shadow: :has(.hit) becomes false after descendant class removal | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo-cold: document-styled-use-shadow: :has(.hit) becomes false after descendant class removal | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: document-styled-use-shadow: :has(.hit) becomes false after descendant class removal | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo-cold: document-styled-use-shadow: :has(.hit) becomes false after descendant class removal | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached: document-styled-use-shadow: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-cold: document-styled-use-shadow: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: document-styled-use-shadow: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo-cold: document-styled-use-shadow: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: document-styled-use-shadow: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo-cold: document-styled-use-shadow: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached: document-styled-use-shadow: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-cold: document-styled-use-shadow: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: document-styled-use-shadow: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
@ -196,8 +196,8 @@ PASS: descendant attribute stress detached-pseudo: document-styled-use-shadow: :
PASS: descendant attribute stress detached-pseudo-cold: document-styled-use-shadow: :has(.hit.extra) after descendant second class change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached: document-styled-use-shadow: :has(.hit) becomes false after descendant className clear | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-cold: document-styled-use-shadow: :has(.hit) becomes false after descendant className clear | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: document-styled-use-shadow: :has(.hit) becomes false after descendant className clear | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo-cold: document-styled-use-shadow: :has(.hit) becomes false after descendant className clear | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: document-styled-use-shadow: :has(.hit) becomes false after descendant className clear | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo-cold: document-styled-use-shadow: :has(.hit) becomes false after descendant className clear | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached: document-styled-use-shadow: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-cold: document-styled-use-shadow: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: document-styled-use-shadow: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
@ -224,8 +224,8 @@ PASS: descendant attribute stress detached-pseudo: document-styled-use-shadow: :
PASS: descendant attribute stress detached-pseudo-cold: document-styled-use-shadow: :has([data-hit|='yes']) after descendant dash attribute change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached: document-styled-use-shadow: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-cold: document-styled-use-shadow: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: document-styled-use-shadow: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo-cold: document-styled-use-shadow: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: document-styled-use-shadow: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo-cold: document-styled-use-shadow: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached: document-styled-use-shadow: :has([hidden]) after descendant hidden property change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-cold: document-styled-use-shadow: :has([hidden]) after descendant hidden property change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: document-styled-use-shadow: :has([hidden]) after descendant hidden property change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
@ -244,8 +244,8 @@ PASS: descendant attribute stress detached-pseudo: document-styled-use-shadow: :
PASS: descendant attribute stress detached-pseudo-cold: document-styled-use-shadow: :has(.hit:not([data-miss])) after descendant class change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached: document-styled-use-shadow: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-cold: document-styled-use-shadow: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: document-styled-use-shadow: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo-cold: document-styled-use-shadow: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: document-styled-use-shadow: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo-cold: document-styled-use-shadow: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached: document-styled-use-shadow: :has(.hit + .after) after descendant sibling class change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-cold: document-styled-use-shadow: :has(.hit + .after) after descendant sibling class change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: document-styled-use-shadow: :has(.hit + .after) after descendant sibling class change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
@ -272,16 +272,16 @@ PASS: descendant attribute stress detached-pseudo: document-styled-use-shadow: :
PASS: descendant attribute stress detached-pseudo-cold: document-styled-use-shadow: :has(.hit:nth-child(2)) after second descendant class change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached: document-styled-use-shadow: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-cold: document-styled-use-shadow: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: document-styled-use-shadow: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo-cold: document-styled-use-shadow: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: document-styled-use-shadow: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo-cold: document-styled-use-shadow: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached: document-styled-use-shadow: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-cold: document-styled-use-shadow: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: document-styled-use-shadow: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo-cold: document-styled-use-shadow: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached: document-styled-use-shadow: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-cold: document-styled-use-shadow: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: document-styled-use-shadow: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo-cold: document-styled-use-shadow: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: document-styled-use-shadow: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo-cold: document-styled-use-shadow: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached: document-styled-use-shadow: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-cold: document-styled-use-shadow: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: document-styled-use-shadow: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
@ -325,11 +325,11 @@ PASS: descendant attribute stress detached-pseudo-cold: shadow-internal: :has(:i
PASS: descendant attribute stress detached: shadow-internal: :has(.hit) becomes false after descendant class removal | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-cold: shadow-internal: :has(.hit) becomes false after descendant class removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: shadow-internal: :has(.hit) becomes false after descendant class removal | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: shadow-internal: :has(.hit) becomes false after descendant class removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: shadow-internal: :has(.hit) becomes false after descendant class removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached: shadow-internal: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-cold: shadow-internal: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: shadow-internal: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: shadow-internal: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: shadow-internal: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached: shadow-internal: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-cold: shadow-internal: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: shadow-internal: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
@ -341,7 +341,7 @@ PASS: descendant attribute stress detached-pseudo-cold: shadow-internal: :has(.h
PASS: descendant attribute stress detached: shadow-internal: :has(.hit) becomes false after descendant className clear | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-cold: shadow-internal: :has(.hit) becomes false after descendant className clear | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: shadow-internal: :has(.hit) becomes false after descendant className clear | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: shadow-internal: :has(.hit) becomes false after descendant className clear | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: shadow-internal: :has(.hit) becomes false after descendant className clear | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached: shadow-internal: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-cold: shadow-internal: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: shadow-internal: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
@ -369,7 +369,7 @@ PASS: descendant attribute stress detached-pseudo-cold: shadow-internal: :has([d
PASS: descendant attribute stress detached: shadow-internal: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-cold: shadow-internal: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: shadow-internal: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: shadow-internal: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: shadow-internal: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached: shadow-internal: :has([hidden]) after descendant hidden property change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-cold: shadow-internal: :has([hidden]) after descendant hidden property change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: shadow-internal: :has([hidden]) after descendant hidden property change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
@ -389,7 +389,7 @@ PASS: descendant attribute stress detached-pseudo-cold: shadow-internal: :has(.h
PASS: descendant attribute stress detached: shadow-internal: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-cold: shadow-internal: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: shadow-internal: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: shadow-internal: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: shadow-internal: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached: shadow-internal: :has(.hit + .after) after descendant sibling class change | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-cold: shadow-internal: :has(.hit + .after) after descendant sibling class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: shadow-internal: :has(.hit + .after) after descendant sibling class change | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
@ -425,7 +425,7 @@ PASS: descendant attribute stress detached-pseudo-cold: shadow-internal: :has([d
PASS: descendant attribute stress detached: shadow-internal: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-cold: shadow-internal: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: shadow-internal: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: shadow-internal: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: shadow-internal: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached: shadow-internal: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-cold: shadow-internal: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: shadow-internal: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
@ -440,12 +440,12 @@ PASS: descendant attribute stress detached-pseudo: shadow-host: :has(.HIT) after
PASS: descendant attribute stress detached-pseudo-cold: shadow-host: :has(.HIT) after matching uppercase descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached: shadow-host: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-cold: shadow-host: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: shadow-host: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: shadow-host: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: shadow-host: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: shadow-host: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached: shadow-host: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-cold: shadow-host: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: shadow-host: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: shadow-host: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: shadow-host: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: shadow-host: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached: shadow-host: :has([data-hit]) after descendant attribute change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-cold: shadow-host: :has([data-hit]) after descendant attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: shadow-host: :has([data-hit]) after descendant attribute change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
@ -460,20 +460,20 @@ PASS: descendant attribute stress detached-pseudo: shadow-host: :has(span.hit:no
PASS: descendant attribute stress detached-pseudo-cold: shadow-host: :has(span.hit:not(.miss)) after descendant compound change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached: shadow-host: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-cold: shadow-host: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: shadow-host: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: shadow-host: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: shadow-host: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: shadow-host: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached: shadow-host: :has(:is(.hit)) after descendant class change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-cold: shadow-host: :has(:is(.hit)) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: shadow-host: :has(:is(.hit)) after descendant class change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: shadow-host: :has(:is(.hit)) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached: shadow-host: :has(.hit) becomes false after descendant class removal | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-cold: shadow-host: :has(.hit) becomes false after descendant class removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: shadow-host: :has(.hit) becomes false after descendant class removal | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: shadow-host: :has(.hit) becomes false after descendant class removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: shadow-host: :has(.hit) becomes false after descendant class removal | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: shadow-host: :has(.hit) becomes false after descendant class removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached: shadow-host: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-cold: shadow-host: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: shadow-host: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: shadow-host: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: shadow-host: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: shadow-host: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached: shadow-host: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-cold: shadow-host: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: shadow-host: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
@ -484,8 +484,8 @@ PASS: descendant attribute stress detached-pseudo: shadow-host: :has(.hit.extra)
PASS: descendant attribute stress detached-pseudo-cold: shadow-host: :has(.hit.extra) after descendant second class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached: shadow-host: :has(.hit) becomes false after descendant className clear | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-cold: shadow-host: :has(.hit) becomes false after descendant className clear | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: shadow-host: :has(.hit) becomes false after descendant className clear | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: shadow-host: :has(.hit) becomes false after descendant className clear | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: shadow-host: :has(.hit) becomes false after descendant className clear | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: shadow-host: :has(.hit) becomes false after descendant className clear | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached: shadow-host: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-cold: shadow-host: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: shadow-host: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
@ -512,8 +512,8 @@ PASS: descendant attribute stress detached-pseudo: shadow-host: :has([data-hit|=
PASS: descendant attribute stress detached-pseudo-cold: shadow-host: :has([data-hit|='yes']) after descendant dash attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached: shadow-host: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-cold: shadow-host: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: shadow-host: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: shadow-host: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: shadow-host: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: shadow-host: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached: shadow-host: :has([hidden]) after descendant hidden property change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-cold: shadow-host: :has([hidden]) after descendant hidden property change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: shadow-host: :has([hidden]) after descendant hidden property change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
@ -532,8 +532,8 @@ PASS: descendant attribute stress detached-pseudo: shadow-host: :has(.hit:not([d
PASS: descendant attribute stress detached-pseudo-cold: shadow-host: :has(.hit:not([data-miss])) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached: shadow-host: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-cold: shadow-host: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: shadow-host: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: shadow-host: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: shadow-host: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: shadow-host: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached: shadow-host: :has(.hit + .after) after descendant sibling class change | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-cold: shadow-host: :has(.hit + .after) after descendant sibling class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: shadow-host: :has(.hit + .after) after descendant sibling class change | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
@ -560,16 +560,16 @@ PASS: descendant attribute stress detached-pseudo: shadow-host: :has(.hit:nth-ch
PASS: descendant attribute stress detached-pseudo-cold: shadow-host: :has(.hit:nth-child(2)) after second descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached: shadow-host: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-cold: shadow-host: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: shadow-host: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: shadow-host: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: shadow-host: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: shadow-host: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached: shadow-host: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-cold: shadow-host: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: shadow-host: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: shadow-host: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached: shadow-host: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-cold: shadow-host: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: shadow-host: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: shadow-host: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: shadow-host: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: shadow-host: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached: shadow-host: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-cold: shadow-host: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: shadow-host: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1

View file

@ -1,25 +1,25 @@
PASS: descendant direction stress detached-pseudo: document: :has(:dir(rtl)) after descendant dir=auto text mutation | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress detached-pseudo-cold: document: :has(:dir(rtl)) after descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress detached-pseudo: document: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress detached-pseudo-cold: document: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress detached-pseudo: document: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant direction stress detached-pseudo-cold: document: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant direction stress detached-pseudo: document: :has(:dir(rtl):first-child) after first descendant dir=auto text mutation | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress detached-pseudo-cold: document: :has(:dir(rtl):first-child) after first descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress detached-pseudo: document: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress detached-pseudo-cold: document: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress detached-pseudo: document: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant direction stress detached-pseudo-cold: document: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress detached-pseudo: document: :has(:lang(he)) after descendant lang attribute change | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress detached-pseudo-cold: document: :has(:lang(he)) after descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress detached-pseudo: document: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress detached-pseudo-cold: document: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress detached-pseudo: document: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress detached-pseudo-cold: document: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress detached-pseudo: document: :has(:lang(he):first-child) after first descendant lang attribute change | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress detached-pseudo-cold: document: :has(:lang(he):first-child) after first descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress detached-pseudo: document: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress detached-pseudo-cold: document: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress detached-pseudo: document: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress detached-pseudo-cold: document: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress detached-pseudo: document: :has(:lang(he)) after ancestor lang change | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo-cold: document: :has(:lang(he)) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo: document: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo-cold: document: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo: document: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo-cold: document: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo: document: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress detached-pseudo-cold: document: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress detached-pseudo: document: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress detached-pseudo-cold: document: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress detached-pseudo: document: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo-cold: document: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo: document: :has(:is(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -28,26 +28,26 @@ PASS: inherited language stress detached-pseudo: document: :has(:where(:lang(he)
PASS: inherited language stress detached-pseudo-cold: document: :has(:where(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress detached-pseudo: shadow-internal: :has(:dir(rtl)) after descendant dir=auto text mutation | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress detached-pseudo-cold: shadow-internal: :has(:dir(rtl)) after descendant dir=auto text mutation | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress detached-pseudo: shadow-internal: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress detached-pseudo-cold: shadow-internal: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress detached-pseudo: shadow-internal: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant direction stress detached-pseudo-cold: shadow-internal: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant direction stress detached-pseudo: shadow-internal: :has(:dir(rtl):first-child) after first descendant dir=auto text mutation | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress detached-pseudo-cold: shadow-internal: :has(:dir(rtl):first-child) after first descendant dir=auto text mutation | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress detached-pseudo: shadow-internal: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress detached-pseudo-cold: shadow-internal: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress detached-pseudo: shadow-internal: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant direction stress detached-pseudo-cold: shadow-internal: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress detached-pseudo: shadow-internal: :has(:lang(he)) after descendant lang attribute change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress detached-pseudo-cold: shadow-internal: :has(:lang(he)) after descendant lang attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress detached-pseudo: shadow-internal: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress detached-pseudo-cold: shadow-internal: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress detached-pseudo: shadow-internal: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress detached-pseudo-cold: shadow-internal: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress detached-pseudo: shadow-internal: :has(:lang(he):first-child) after first descendant lang attribute change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress detached-pseudo-cold: shadow-internal: :has(:lang(he):first-child) after first descendant lang attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress detached-pseudo: shadow-internal: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress detached-pseudo-cold: shadow-internal: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress detached-pseudo: shadow-internal: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress detached-pseudo-cold: shadow-internal: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress detached-pseudo: shadow-internal: :has(:lang(he)) after ancestor lang change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo-cold: shadow-internal: :has(:lang(he)) after ancestor lang change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo: shadow-internal: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo-cold: shadow-internal: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo: shadow-internal: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo-cold: shadow-internal: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo: shadow-internal: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress detached-pseudo-cold: shadow-internal: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress detached-pseudo: shadow-internal: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress detached-pseudo-cold: shadow-internal: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress detached-pseudo: shadow-internal: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo-cold: shadow-internal: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo: shadow-internal: :has(:is(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -56,197 +56,197 @@ PASS: inherited language stress detached-pseudo: shadow-internal: :has(:where(:l
PASS: inherited language stress detached-pseudo-cold: shadow-internal: :has(:where(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress detached-pseudo: shadow-host: :has(:dir(rtl)) after descendant dir=auto text mutation | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress detached-pseudo-cold: shadow-host: :has(:dir(rtl)) after descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress detached-pseudo: shadow-host: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress detached-pseudo-cold: shadow-host: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress detached-pseudo: shadow-host: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant direction stress detached-pseudo-cold: shadow-host: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant direction stress detached-pseudo: shadow-host: :has(:dir(rtl):first-child) after first descendant dir=auto text mutation | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress detached-pseudo-cold: shadow-host: :has(:dir(rtl):first-child) after first descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress detached-pseudo: shadow-host: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress detached-pseudo-cold: shadow-host: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress detached-pseudo: shadow-host: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant direction stress detached-pseudo-cold: shadow-host: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress detached-pseudo: shadow-host: :has(:lang(he)) after descendant lang attribute change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress detached-pseudo-cold: shadow-host: :has(:lang(he)) after descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress detached-pseudo: shadow-host: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress detached-pseudo-cold: shadow-host: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress detached-pseudo: shadow-host: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress detached-pseudo-cold: shadow-host: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress detached-pseudo: shadow-host: :has(:lang(he):first-child) after first descendant lang attribute change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress detached-pseudo-cold: shadow-host: :has(:lang(he):first-child) after first descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress detached-pseudo: shadow-host: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress detached-pseudo-cold: shadow-host: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress detached-pseudo: shadow-host: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress detached-pseudo-cold: shadow-host: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress detached-pseudo: shadow-host: :has(:lang(he)) after ancestor lang change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo-cold: shadow-host: :has(:lang(he)) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo: shadow-host: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo-cold: shadow-host: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo: shadow-host: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo-cold: shadow-host: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo: shadow-host: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress detached-pseudo-cold: shadow-host: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress detached-pseudo: shadow-host: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress detached-pseudo-cold: shadow-host: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress detached-pseudo: shadow-host: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo-cold: shadow-host: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo: shadow-host: :has(:is(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo-cold: shadow-host: :has(:is(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo: shadow-host: :has(:where(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo-cold: shadow-host: :has(:where(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress detached-pseudo: part-document: :has(:dir(rtl)) after descendant dir=auto text mutation | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant direction stress detached-pseudo-cold: part-document: :has(:dir(rtl)) after descendant dir=auto text mutation | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant direction stress detached-pseudo: part-document: :has(:dir(rtl)) after descendant dir=auto text mutation | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress detached-pseudo-cold: part-document: :has(:dir(rtl)) after descendant dir=auto text mutation | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress detached-pseudo: part-document: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant direction stress detached-pseudo-cold: part-document: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant direction stress detached-pseudo: part-document: :has(:dir(rtl):first-child) after first descendant dir=auto text mutation | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant direction stress detached-pseudo-cold: part-document: :has(:dir(rtl):first-child) after first descendant dir=auto text mutation | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant direction stress detached-pseudo: part-document: :has(:dir(rtl):first-child) after first descendant dir=auto text mutation | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress detached-pseudo-cold: part-document: :has(:dir(rtl):first-child) after first descendant dir=auto text mutation | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress detached-pseudo: part-document: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant direction stress detached-pseudo-cold: part-document: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress detached-pseudo: part-document: :has(:lang(he)) after descendant lang attribute change | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress detached-pseudo-cold: part-document: :has(:lang(he)) after descendant lang attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress detached-pseudo: part-document: :has(:lang(he)) after descendant lang attribute change | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress detached-pseudo-cold: part-document: :has(:lang(he)) after descendant lang attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress detached-pseudo: part-document: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress detached-pseudo-cold: part-document: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress detached-pseudo: part-document: :has(:lang(he):first-child) after first descendant lang attribute change | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress detached-pseudo-cold: part-document: :has(:lang(he):first-child) after first descendant lang attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress detached-pseudo: part-document: :has(:lang(he):first-child) after first descendant lang attribute change | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress detached-pseudo-cold: part-document: :has(:lang(he):first-child) after first descendant lang attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress detached-pseudo: part-document: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress detached-pseudo-cold: part-document: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress detached-pseudo: part-document: :has(:lang(he)) after ancestor lang change | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress detached-pseudo-cold: part-document: :has(:lang(he)) after ancestor lang change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress detached-pseudo: part-document: :has(:lang(he)) after ancestor lang change | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo-cold: part-document: :has(:lang(he)) after ancestor lang change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo: part-document: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress detached-pseudo-cold: part-document: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress detached-pseudo: part-document: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress detached-pseudo-cold: part-document: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress detached-pseudo: part-document: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress detached-pseudo-cold: part-document: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress detached-pseudo: part-document: :has(:is(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress detached-pseudo-cold: part-document: :has(:is(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress detached-pseudo: part-document: :has(:where(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress detached-pseudo-cold: part-document: :has(:where(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant direction stress detached-pseudo: part-shadow-host-document: :has(:dir(rtl)) after descendant dir=auto text mutation | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant direction stress detached-pseudo-cold: part-shadow-host-document: :has(:dir(rtl)) after descendant dir=auto text mutation | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant direction stress detached-pseudo: part-shadow-host-document: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant direction stress detached-pseudo-cold: part-shadow-host-document: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant direction stress detached-pseudo: part-shadow-host-document: :has(:dir(rtl):first-child) after first descendant dir=auto text mutation | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant direction stress detached-pseudo-cold: part-shadow-host-document: :has(:dir(rtl):first-child) after first descendant dir=auto text mutation | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant direction stress detached-pseudo: part-shadow-host-document: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant direction stress detached-pseudo-cold: part-shadow-host-document: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant language stress detached-pseudo: part-shadow-host-document: :has(:lang(he)) after descendant lang attribute change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant language stress detached-pseudo-cold: part-shadow-host-document: :has(:lang(he)) after descendant lang attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant language stress detached-pseudo: part-shadow-host-document: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant language stress detached-pseudo-cold: part-shadow-host-document: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant language stress detached-pseudo: part-shadow-host-document: :has(:lang(he):first-child) after first descendant lang attribute change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant language stress detached-pseudo-cold: part-shadow-host-document: :has(:lang(he):first-child) after first descendant lang attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant language stress detached-pseudo: part-shadow-host-document: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant language stress detached-pseudo-cold: part-shadow-host-document: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: inherited language stress detached-pseudo: part-shadow-host-document: :has(:lang(he)) after ancestor lang change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: inherited language stress detached-pseudo-cold: part-shadow-host-document: :has(:lang(he)) after ancestor lang change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: inherited language stress detached-pseudo: part-shadow-host-document: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: inherited language stress detached-pseudo-cold: part-shadow-host-document: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: inherited language stress detached-pseudo: part-shadow-host-document: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: inherited language stress detached-pseudo-cold: part-shadow-host-document: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: inherited language stress detached-pseudo: part-shadow-host-document: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: inherited language stress detached-pseudo-cold: part-shadow-host-document: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: inherited language stress detached-pseudo: part-shadow-host-document: :has(:is(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: inherited language stress detached-pseudo-cold: part-shadow-host-document: :has(:is(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: inherited language stress detached-pseudo: part-shadow-host-document: :has(:where(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: inherited language stress detached-pseudo-cold: part-shadow-host-document: :has(:where(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant direction stress detached-pseudo: part-shadow-internal: :has(:dir(rtl)) after descendant dir=auto text mutation | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=11, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant direction stress detached-pseudo-cold: part-shadow-internal: :has(:dir(rtl)) after descendant dir=auto text mutation | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant direction stress detached-pseudo: part-shadow-internal: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=11, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant direction stress detached-pseudo-cold: part-shadow-internal: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant direction stress detached-pseudo: part-shadow-internal: :has(:dir(rtl):first-child) after first descendant dir=auto text mutation | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=11, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant direction stress detached-pseudo-cold: part-shadow-internal: :has(:dir(rtl):first-child) after first descendant dir=auto text mutation | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant direction stress detached-pseudo: part-shadow-internal: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=11, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant direction stress detached-pseudo-cold: part-shadow-internal: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant language stress detached-pseudo: part-shadow-internal: :has(:lang(he)) after descendant lang attribute change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=11, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant language stress detached-pseudo-cold: part-shadow-internal: :has(:lang(he)) after descendant lang attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant language stress detached-pseudo: part-shadow-internal: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=11, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant language stress detached-pseudo-cold: part-shadow-internal: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant language stress detached-pseudo: part-shadow-internal: :has(:lang(he):first-child) after first descendant lang attribute change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=11, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant language stress detached-pseudo-cold: part-shadow-internal: :has(:lang(he):first-child) after first descendant lang attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant language stress detached-pseudo: part-shadow-internal: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=11, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant language stress detached-pseudo-cold: part-shadow-internal: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: inherited language stress detached-pseudo: part-shadow-internal: :has(:lang(he)) after ancestor lang change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=11, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: inherited language stress detached-pseudo-cold: part-shadow-internal: :has(:lang(he)) after ancestor lang change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: inherited language stress detached-pseudo: part-shadow-internal: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=11, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: inherited language stress detached-pseudo-cold: part-shadow-internal: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: inherited language stress detached-pseudo: part-shadow-internal: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=11, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: inherited language stress detached-pseudo-cold: part-shadow-internal: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: inherited language stress detached-pseudo: part-shadow-internal: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=11, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: inherited language stress detached-pseudo-cold: part-shadow-internal: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: inherited language stress detached-pseudo: part-shadow-internal: :has(:is(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=11, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: inherited language stress detached-pseudo-cold: part-shadow-internal: :has(:is(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: inherited language stress detached-pseudo: part-shadow-internal: :has(:where(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=11, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: inherited language stress detached-pseudo-cold: part-shadow-internal: :has(:where(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant direction stress detached-pseudo: part-shadow-host-internal: :has(:dir(rtl)) after descendant dir=auto text mutation | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=12, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant direction stress detached-pseudo-cold: part-shadow-host-internal: :has(:dir(rtl)) after descendant dir=auto text mutation | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant direction stress detached-pseudo: part-shadow-host-internal: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=12, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant direction stress detached-pseudo-cold: part-shadow-host-internal: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant direction stress detached-pseudo: part-shadow-host-internal: :has(:dir(rtl):first-child) after first descendant dir=auto text mutation | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=12, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant direction stress detached-pseudo-cold: part-shadow-host-internal: :has(:dir(rtl):first-child) after first descendant dir=auto text mutation | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant direction stress detached-pseudo: part-shadow-host-internal: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=12, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant direction stress detached-pseudo-cold: part-shadow-host-internal: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant language stress detached-pseudo: part-shadow-host-internal: :has(:lang(he)) after descendant lang attribute change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=12, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant language stress detached-pseudo-cold: part-shadow-host-internal: :has(:lang(he)) after descendant lang attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant language stress detached-pseudo: part-shadow-host-internal: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=12, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant language stress detached-pseudo-cold: part-shadow-host-internal: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant language stress detached-pseudo: part-shadow-host-internal: :has(:lang(he):first-child) after first descendant lang attribute change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=12, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant language stress detached-pseudo-cold: part-shadow-host-internal: :has(:lang(he):first-child) after first descendant lang attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant language stress detached-pseudo: part-shadow-host-internal: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=12, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant language stress detached-pseudo-cold: part-shadow-host-internal: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: inherited language stress detached-pseudo: part-shadow-host-internal: :has(:lang(he)) after ancestor lang change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=12, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: inherited language stress detached-pseudo-cold: part-shadow-host-internal: :has(:lang(he)) after ancestor lang change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: inherited language stress detached-pseudo: part-shadow-host-internal: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=12, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: inherited language stress detached-pseudo-cold: part-shadow-host-internal: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: inherited language stress detached-pseudo: part-shadow-host-internal: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=12, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: inherited language stress detached-pseudo-cold: part-shadow-host-internal: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: inherited language stress detached-pseudo: part-shadow-host-internal: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=12, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: inherited language stress detached-pseudo-cold: part-shadow-host-internal: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: inherited language stress detached-pseudo: part-shadow-host-internal: :has(:is(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=12, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: inherited language stress detached-pseudo-cold: part-shadow-host-internal: :has(:is(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: inherited language stress detached-pseudo: part-shadow-host-internal: :has(:where(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=12, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: inherited language stress detached-pseudo-cold: part-shadow-host-internal: :has(:where(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant direction stress detached-pseudo: part-shadow-ancestor: :has(:dir(rtl)) after descendant dir=auto text mutation | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant direction stress detached-pseudo-cold: part-shadow-ancestor: :has(:dir(rtl)) after descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant direction stress detached-pseudo: part-shadow-ancestor: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant direction stress detached-pseudo-cold: part-shadow-ancestor: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant direction stress detached-pseudo: part-shadow-ancestor: :has(:dir(rtl):first-child) after first descendant dir=auto text mutation | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant direction stress detached-pseudo-cold: part-shadow-ancestor: :has(:dir(rtl):first-child) after first descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant direction stress detached-pseudo: part-shadow-ancestor: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant direction stress detached-pseudo-cold: part-shadow-ancestor: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant language stress detached-pseudo: part-shadow-ancestor: :has(:lang(he)) after descendant lang attribute change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant language stress detached-pseudo-cold: part-shadow-ancestor: :has(:lang(he)) after descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant language stress detached-pseudo: part-shadow-ancestor: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant language stress detached-pseudo-cold: part-shadow-ancestor: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant language stress detached-pseudo: part-shadow-ancestor: :has(:lang(he):first-child) after first descendant lang attribute change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant language stress detached-pseudo-cold: part-shadow-ancestor: :has(:lang(he):first-child) after first descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant language stress detached-pseudo: part-shadow-ancestor: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant language stress detached-pseudo-cold: part-shadow-ancestor: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: inherited language stress detached-pseudo: part-shadow-ancestor: :has(:lang(he)) after ancestor lang change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: inherited language stress detached-pseudo-cold: part-shadow-ancestor: :has(:lang(he)) after ancestor lang change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: inherited language stress detached-pseudo: part-shadow-ancestor: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: inherited language stress detached-pseudo-cold: part-shadow-ancestor: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: inherited language stress detached-pseudo: part-shadow-ancestor: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: inherited language stress detached-pseudo-cold: part-shadow-ancestor: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: inherited language stress detached-pseudo: part-shadow-ancestor: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: inherited language stress detached-pseudo-cold: part-shadow-ancestor: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: inherited language stress detached-pseudo: part-shadow-ancestor: :has(:is(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: inherited language stress detached-pseudo-cold: part-shadow-ancestor: :has(:is(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: inherited language stress detached-pseudo: part-shadow-ancestor: :has(:where(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: inherited language stress detached-pseudo-cold: part-shadow-ancestor: :has(:where(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant direction stress detached-pseudo: part-shadow-host-ancestor: :has(:dir(rtl)) after descendant dir=auto text mutation | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=7, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant direction stress detached-pseudo-cold: part-shadow-host-ancestor: :has(:dir(rtl)) after descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant direction stress detached-pseudo: part-shadow-host-ancestor: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=7, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant direction stress detached-pseudo-cold: part-shadow-host-ancestor: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant direction stress detached-pseudo: part-shadow-host-ancestor: :has(:dir(rtl):first-child) after first descendant dir=auto text mutation | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=7, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant direction stress detached-pseudo-cold: part-shadow-host-ancestor: :has(:dir(rtl):first-child) after first descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant direction stress detached-pseudo: part-shadow-host-ancestor: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=7, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant direction stress detached-pseudo-cold: part-shadow-host-ancestor: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant language stress detached-pseudo: part-shadow-host-ancestor: :has(:lang(he)) after descendant lang attribute change | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=7, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant language stress detached-pseudo-cold: part-shadow-host-ancestor: :has(:lang(he)) after descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant language stress detached-pseudo: part-shadow-host-ancestor: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=7, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant language stress detached-pseudo-cold: part-shadow-host-ancestor: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant language stress detached-pseudo: part-shadow-host-ancestor: :has(:lang(he):first-child) after first descendant lang attribute change | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=7, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant language stress detached-pseudo-cold: part-shadow-host-ancestor: :has(:lang(he):first-child) after first descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant language stress detached-pseudo: part-shadow-host-ancestor: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=7, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant language stress detached-pseudo-cold: part-shadow-host-ancestor: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: inherited language stress detached-pseudo: part-shadow-host-ancestor: :has(:lang(he)) after ancestor lang change | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=7, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: inherited language stress detached-pseudo-cold: part-shadow-host-ancestor: :has(:lang(he)) after ancestor lang change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: inherited language stress detached-pseudo: part-shadow-host-ancestor: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=7, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: inherited language stress detached-pseudo-cold: part-shadow-host-ancestor: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: inherited language stress detached-pseudo: part-shadow-host-ancestor: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=7, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: inherited language stress detached-pseudo-cold: part-shadow-host-ancestor: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: inherited language stress detached-pseudo: part-shadow-host-ancestor: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=7, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: inherited language stress detached-pseudo-cold: part-shadow-host-ancestor: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: inherited language stress detached-pseudo: part-shadow-host-ancestor: :has(:is(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=7, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: inherited language stress detached-pseudo-cold: part-shadow-host-ancestor: :has(:is(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: inherited language stress detached-pseudo: part-shadow-host-ancestor: :has(:where(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=7, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: inherited language stress detached-pseudo-cold: part-shadow-host-ancestor: :has(:where(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: inherited language stress detached-pseudo: part-document: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo-cold: part-document: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo: part-document: :has(:is(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo-cold: part-document: :has(:is(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo: part-document: :has(:where(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo-cold: part-document: :has(:where(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress detached-pseudo: part-shadow-host-document: :has(:dir(rtl)) after descendant dir=auto text mutation | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress detached-pseudo-cold: part-shadow-host-document: :has(:dir(rtl)) after descendant dir=auto text mutation | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress detached-pseudo: part-shadow-host-document: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant direction stress detached-pseudo-cold: part-shadow-host-document: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant direction stress detached-pseudo: part-shadow-host-document: :has(:dir(rtl):first-child) after first descendant dir=auto text mutation | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress detached-pseudo-cold: part-shadow-host-document: :has(:dir(rtl):first-child) after first descendant dir=auto text mutation | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress detached-pseudo: part-shadow-host-document: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant direction stress detached-pseudo-cold: part-shadow-host-document: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress detached-pseudo: part-shadow-host-document: :has(:lang(he)) after descendant lang attribute change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress detached-pseudo-cold: part-shadow-host-document: :has(:lang(he)) after descendant lang attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress detached-pseudo: part-shadow-host-document: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress detached-pseudo-cold: part-shadow-host-document: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress detached-pseudo: part-shadow-host-document: :has(:lang(he):first-child) after first descendant lang attribute change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress detached-pseudo-cold: part-shadow-host-document: :has(:lang(he):first-child) after first descendant lang attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress detached-pseudo: part-shadow-host-document: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress detached-pseudo-cold: part-shadow-host-document: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress detached-pseudo: part-shadow-host-document: :has(:lang(he)) after ancestor lang change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo-cold: part-shadow-host-document: :has(:lang(he)) after ancestor lang change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo: part-shadow-host-document: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress detached-pseudo-cold: part-shadow-host-document: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress detached-pseudo: part-shadow-host-document: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress detached-pseudo-cold: part-shadow-host-document: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress detached-pseudo: part-shadow-host-document: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo-cold: part-shadow-host-document: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo: part-shadow-host-document: :has(:is(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo-cold: part-shadow-host-document: :has(:is(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo: part-shadow-host-document: :has(:where(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo-cold: part-shadow-host-document: :has(:where(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress detached-pseudo: part-shadow-internal: :has(:dir(rtl)) after descendant dir=auto text mutation | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant direction stress detached-pseudo-cold: part-shadow-internal: :has(:dir(rtl)) after descendant dir=auto text mutation | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant direction stress detached-pseudo: part-shadow-internal: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=7, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant direction stress detached-pseudo-cold: part-shadow-internal: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant direction stress detached-pseudo: part-shadow-internal: :has(:dir(rtl):first-child) after first descendant dir=auto text mutation | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant direction stress detached-pseudo-cold: part-shadow-internal: :has(:dir(rtl):first-child) after first descendant dir=auto text mutation | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant direction stress detached-pseudo: part-shadow-internal: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=7, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant direction stress detached-pseudo-cold: part-shadow-internal: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant language stress detached-pseudo: part-shadow-internal: :has(:lang(he)) after descendant lang attribute change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant language stress detached-pseudo-cold: part-shadow-internal: :has(:lang(he)) after descendant lang attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant language stress detached-pseudo: part-shadow-internal: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=7, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant language stress detached-pseudo-cold: part-shadow-internal: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant language stress detached-pseudo: part-shadow-internal: :has(:lang(he):first-child) after first descendant lang attribute change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant language stress detached-pseudo-cold: part-shadow-internal: :has(:lang(he):first-child) after first descendant lang attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant language stress detached-pseudo: part-shadow-internal: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=7, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant language stress detached-pseudo-cold: part-shadow-internal: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: inherited language stress detached-pseudo: part-shadow-internal: :has(:lang(he)) after ancestor lang change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo-cold: part-shadow-internal: :has(:lang(he)) after ancestor lang change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo: part-shadow-internal: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=7, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: inherited language stress detached-pseudo-cold: part-shadow-internal: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: inherited language stress detached-pseudo: part-shadow-internal: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=7, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: inherited language stress detached-pseudo-cold: part-shadow-internal: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: inherited language stress detached-pseudo: part-shadow-internal: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo-cold: part-shadow-internal: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo: part-shadow-internal: :has(:is(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo-cold: part-shadow-internal: :has(:is(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo: part-shadow-internal: :has(:where(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo-cold: part-shadow-internal: :has(:where(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant direction stress detached-pseudo: part-shadow-host-internal: :has(:dir(rtl)) after descendant dir=auto text mutation | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant direction stress detached-pseudo-cold: part-shadow-host-internal: :has(:dir(rtl)) after descendant dir=auto text mutation | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant direction stress detached-pseudo: part-shadow-host-internal: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=7, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant direction stress detached-pseudo-cold: part-shadow-host-internal: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant direction stress detached-pseudo: part-shadow-host-internal: :has(:dir(rtl):first-child) after first descendant dir=auto text mutation | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant direction stress detached-pseudo-cold: part-shadow-host-internal: :has(:dir(rtl):first-child) after first descendant dir=auto text mutation | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant direction stress detached-pseudo: part-shadow-host-internal: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=7, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant direction stress detached-pseudo-cold: part-shadow-host-internal: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant language stress detached-pseudo: part-shadow-host-internal: :has(:lang(he)) after descendant lang attribute change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant language stress detached-pseudo-cold: part-shadow-host-internal: :has(:lang(he)) after descendant lang attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant language stress detached-pseudo: part-shadow-host-internal: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=7, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant language stress detached-pseudo-cold: part-shadow-host-internal: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant language stress detached-pseudo: part-shadow-host-internal: :has(:lang(he):first-child) after first descendant lang attribute change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant language stress detached-pseudo-cold: part-shadow-host-internal: :has(:lang(he):first-child) after first descendant lang attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant language stress detached-pseudo: part-shadow-host-internal: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=7, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant language stress detached-pseudo-cold: part-shadow-host-internal: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: inherited language stress detached-pseudo: part-shadow-host-internal: :has(:lang(he)) after ancestor lang change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo-cold: part-shadow-host-internal: :has(:lang(he)) after ancestor lang change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo: part-shadow-host-internal: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=7, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: inherited language stress detached-pseudo-cold: part-shadow-host-internal: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: inherited language stress detached-pseudo: part-shadow-host-internal: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=7, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: inherited language stress detached-pseudo-cold: part-shadow-host-internal: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: inherited language stress detached-pseudo: part-shadow-host-internal: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo-cold: part-shadow-host-internal: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo: part-shadow-host-internal: :has(:is(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo-cold: part-shadow-host-internal: :has(:is(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo: part-shadow-host-internal: :has(:where(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo-cold: part-shadow-host-internal: :has(:where(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant direction stress detached-pseudo: part-shadow-ancestor: :has(:dir(rtl)) after descendant dir=auto text mutation | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress detached-pseudo-cold: part-shadow-ancestor: :has(:dir(rtl)) after descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress detached-pseudo: part-shadow-ancestor: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant direction stress detached-pseudo-cold: part-shadow-ancestor: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant direction stress detached-pseudo: part-shadow-ancestor: :has(:dir(rtl):first-child) after first descendant dir=auto text mutation | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress detached-pseudo-cold: part-shadow-ancestor: :has(:dir(rtl):first-child) after first descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress detached-pseudo: part-shadow-ancestor: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant direction stress detached-pseudo-cold: part-shadow-ancestor: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress detached-pseudo: part-shadow-ancestor: :has(:lang(he)) after descendant lang attribute change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress detached-pseudo-cold: part-shadow-ancestor: :has(:lang(he)) after descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress detached-pseudo: part-shadow-ancestor: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress detached-pseudo-cold: part-shadow-ancestor: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress detached-pseudo: part-shadow-ancestor: :has(:lang(he):first-child) after first descendant lang attribute change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress detached-pseudo-cold: part-shadow-ancestor: :has(:lang(he):first-child) after first descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress detached-pseudo: part-shadow-ancestor: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress detached-pseudo-cold: part-shadow-ancestor: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress detached-pseudo: part-shadow-ancestor: :has(:lang(he)) after ancestor lang change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo-cold: part-shadow-ancestor: :has(:lang(he)) after ancestor lang change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo: part-shadow-ancestor: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress detached-pseudo-cold: part-shadow-ancestor: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress detached-pseudo: part-shadow-ancestor: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress detached-pseudo-cold: part-shadow-ancestor: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress detached-pseudo: part-shadow-ancestor: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo-cold: part-shadow-ancestor: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo: part-shadow-ancestor: :has(:is(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo-cold: part-shadow-ancestor: :has(:is(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo: part-shadow-ancestor: :has(:where(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo-cold: part-shadow-ancestor: :has(:where(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress detached-pseudo: part-shadow-host-ancestor: :has(:dir(rtl)) after descendant dir=auto text mutation | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress detached-pseudo-cold: part-shadow-host-ancestor: :has(:dir(rtl)) after descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress detached-pseudo: part-shadow-host-ancestor: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant direction stress detached-pseudo-cold: part-shadow-host-ancestor: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant direction stress detached-pseudo: part-shadow-host-ancestor: :has(:dir(rtl):first-child) after first descendant dir=auto text mutation | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress detached-pseudo-cold: part-shadow-host-ancestor: :has(:dir(rtl):first-child) after first descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress detached-pseudo: part-shadow-host-ancestor: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant direction stress detached-pseudo-cold: part-shadow-host-ancestor: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress detached-pseudo: part-shadow-host-ancestor: :has(:lang(he)) after descendant lang attribute change | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress detached-pseudo-cold: part-shadow-host-ancestor: :has(:lang(he)) after descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress detached-pseudo: part-shadow-host-ancestor: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress detached-pseudo-cold: part-shadow-host-ancestor: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress detached-pseudo: part-shadow-host-ancestor: :has(:lang(he):first-child) after first descendant lang attribute change | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress detached-pseudo-cold: part-shadow-host-ancestor: :has(:lang(he):first-child) after first descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress detached-pseudo: part-shadow-host-ancestor: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress detached-pseudo-cold: part-shadow-host-ancestor: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress detached-pseudo: part-shadow-host-ancestor: :has(:lang(he)) after ancestor lang change | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo-cold: part-shadow-host-ancestor: :has(:lang(he)) after ancestor lang change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo: part-shadow-host-ancestor: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress detached-pseudo-cold: part-shadow-host-ancestor: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress detached-pseudo: part-shadow-host-ancestor: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress detached-pseudo-cold: part-shadow-host-ancestor: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress detached-pseudo: part-shadow-host-ancestor: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo-cold: part-shadow-host-ancestor: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo: part-shadow-host-ancestor: :has(:is(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo-cold: part-shadow-host-ancestor: :has(:is(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo: part-shadow-host-ancestor: :has(:where(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress detached-pseudo-cold: part-shadow-host-ancestor: :has(:where(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2

View file

@ -1,25 +1,25 @@
PASS: descendant direction stress pseudo-warm: document: :has(:dir(rtl)) after descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress pseudo-cold: document: :has(:dir(rtl)) after descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress pseudo-warm: document: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress pseudo-cold: document: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress pseudo-warm: document: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant direction stress pseudo-cold: document: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant direction stress pseudo-warm: document: :has(:dir(rtl):first-child) after first descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress pseudo-cold: document: :has(:dir(rtl):first-child) after first descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress pseudo-warm: document: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress pseudo-cold: document: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress pseudo-warm: document: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant direction stress pseudo-cold: document: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress pseudo-warm: document: :has(:lang(he)) after descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress pseudo-cold: document: :has(:lang(he)) after descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress pseudo-warm: document: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress pseudo-cold: document: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress pseudo-warm: document: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress pseudo-cold: document: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress pseudo-warm: document: :has(:lang(he):first-child) after first descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress pseudo-cold: document: :has(:lang(he):first-child) after first descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress pseudo-warm: document: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress pseudo-cold: document: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress pseudo-warm: document: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress pseudo-cold: document: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress pseudo-warm: document: :has(:lang(he)) after ancestor lang change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress pseudo-cold: document: :has(:lang(he)) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress pseudo-warm: document: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress pseudo-cold: document: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress pseudo-warm: document: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress pseudo-cold: document: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress pseudo-warm: document: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress pseudo-cold: document: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress pseudo-warm: document: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress pseudo-cold: document: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress pseudo-warm: document: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress pseudo-cold: document: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress pseudo-warm: document: :has(:is(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -28,26 +28,26 @@ PASS: inherited language stress pseudo-warm: document: :has(:where(:lang(he), .f
PASS: inherited language stress pseudo-cold: document: :has(:where(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress pseudo-warm: shadow-internal: :has(:dir(rtl)) after descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress pseudo-cold: shadow-internal: :has(:dir(rtl)) after descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress pseudo-warm: shadow-internal: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress pseudo-cold: shadow-internal: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress pseudo-warm: shadow-internal: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant direction stress pseudo-cold: shadow-internal: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant direction stress pseudo-warm: shadow-internal: :has(:dir(rtl):first-child) after first descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress pseudo-cold: shadow-internal: :has(:dir(rtl):first-child) after first descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress pseudo-warm: shadow-internal: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress pseudo-cold: shadow-internal: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress pseudo-warm: shadow-internal: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant direction stress pseudo-cold: shadow-internal: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress pseudo-warm: shadow-internal: :has(:lang(he)) after descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress pseudo-cold: shadow-internal: :has(:lang(he)) after descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress pseudo-warm: shadow-internal: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress pseudo-cold: shadow-internal: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress pseudo-warm: shadow-internal: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress pseudo-cold: shadow-internal: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress pseudo-warm: shadow-internal: :has(:lang(he):first-child) after first descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress pseudo-cold: shadow-internal: :has(:lang(he):first-child) after first descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress pseudo-warm: shadow-internal: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress pseudo-cold: shadow-internal: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress pseudo-warm: shadow-internal: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress pseudo-cold: shadow-internal: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress pseudo-warm: shadow-internal: :has(:lang(he)) after ancestor lang change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress pseudo-cold: shadow-internal: :has(:lang(he)) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress pseudo-warm: shadow-internal: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress pseudo-cold: shadow-internal: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress pseudo-warm: shadow-internal: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress pseudo-cold: shadow-internal: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress pseudo-warm: shadow-internal: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress pseudo-cold: shadow-internal: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress pseudo-warm: shadow-internal: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress pseudo-cold: shadow-internal: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress pseudo-warm: shadow-internal: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress pseudo-cold: shadow-internal: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress pseudo-warm: shadow-internal: :has(:is(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -56,197 +56,197 @@ PASS: inherited language stress pseudo-warm: shadow-internal: :has(:where(:lang(
PASS: inherited language stress pseudo-cold: shadow-internal: :has(:where(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress pseudo-warm: shadow-host: :has(:dir(rtl)) after descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress pseudo-cold: shadow-host: :has(:dir(rtl)) after descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress pseudo-warm: shadow-host: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress pseudo-cold: shadow-host: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress pseudo-warm: shadow-host: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant direction stress pseudo-cold: shadow-host: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant direction stress pseudo-warm: shadow-host: :has(:dir(rtl):first-child) after first descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress pseudo-cold: shadow-host: :has(:dir(rtl):first-child) after first descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress pseudo-warm: shadow-host: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress pseudo-cold: shadow-host: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress pseudo-warm: shadow-host: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant direction stress pseudo-cold: shadow-host: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress pseudo-warm: shadow-host: :has(:lang(he)) after descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress pseudo-cold: shadow-host: :has(:lang(he)) after descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress pseudo-warm: shadow-host: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress pseudo-cold: shadow-host: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress pseudo-warm: shadow-host: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress pseudo-cold: shadow-host: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress pseudo-warm: shadow-host: :has(:lang(he):first-child) after first descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress pseudo-cold: shadow-host: :has(:lang(he):first-child) after first descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress pseudo-warm: shadow-host: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress pseudo-cold: shadow-host: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress pseudo-warm: shadow-host: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress pseudo-cold: shadow-host: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress pseudo-warm: shadow-host: :has(:lang(he)) after ancestor lang change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress pseudo-cold: shadow-host: :has(:lang(he)) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress pseudo-warm: shadow-host: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress pseudo-cold: shadow-host: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress pseudo-warm: shadow-host: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress pseudo-cold: shadow-host: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress pseudo-warm: shadow-host: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress pseudo-cold: shadow-host: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress pseudo-warm: shadow-host: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress pseudo-cold: shadow-host: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress pseudo-warm: shadow-host: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress pseudo-cold: shadow-host: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress pseudo-warm: shadow-host: :has(:is(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress pseudo-cold: shadow-host: :has(:is(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress pseudo-warm: shadow-host: :has(:where(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress pseudo-cold: shadow-host: :has(:where(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress pseudo-warm: part-document: :has(:dir(rtl)) after descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant direction stress pseudo-cold: part-document: :has(:dir(rtl)) after descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant direction stress pseudo-warm: part-document: :has(:dir(rtl)) after descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress pseudo-cold: part-document: :has(:dir(rtl)) after descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress pseudo-warm: part-document: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant direction stress pseudo-cold: part-document: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant direction stress pseudo-warm: part-document: :has(:dir(rtl):first-child) after first descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant direction stress pseudo-cold: part-document: :has(:dir(rtl):first-child) after first descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant direction stress pseudo-warm: part-document: :has(:dir(rtl):first-child) after first descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress pseudo-cold: part-document: :has(:dir(rtl):first-child) after first descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress pseudo-warm: part-document: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant direction stress pseudo-cold: part-document: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress pseudo-warm: part-document: :has(:lang(he)) after descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress pseudo-cold: part-document: :has(:lang(he)) after descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress pseudo-warm: part-document: :has(:lang(he)) after descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress pseudo-cold: part-document: :has(:lang(he)) after descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress pseudo-warm: part-document: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress pseudo-cold: part-document: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress pseudo-warm: part-document: :has(:lang(he):first-child) after first descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress pseudo-cold: part-document: :has(:lang(he):first-child) after first descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress pseudo-warm: part-document: :has(:lang(he):first-child) after first descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress pseudo-cold: part-document: :has(:lang(he):first-child) after first descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress pseudo-warm: part-document: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress pseudo-cold: part-document: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress pseudo-warm: part-document: :has(:lang(he)) after ancestor lang change | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress pseudo-cold: part-document: :has(:lang(he)) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress pseudo-warm: part-document: :has(:lang(he)) after ancestor lang change | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress pseudo-cold: part-document: :has(:lang(he)) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress pseudo-warm: part-document: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress pseudo-cold: part-document: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress pseudo-warm: part-document: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress pseudo-cold: part-document: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress pseudo-warm: part-document: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress pseudo-cold: part-document: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress pseudo-warm: part-document: :has(:is(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress pseudo-cold: part-document: :has(:is(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress pseudo-warm: part-document: :has(:where(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress pseudo-cold: part-document: :has(:where(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant direction stress pseudo-warm: part-shadow-host-document: :has(:dir(rtl)) after descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant direction stress pseudo-cold: part-shadow-host-document: :has(:dir(rtl)) after descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: inherited language stress pseudo-warm: part-document: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress pseudo-cold: part-document: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress pseudo-warm: part-document: :has(:is(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress pseudo-cold: part-document: :has(:is(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress pseudo-warm: part-document: :has(:where(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress pseudo-cold: part-document: :has(:where(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress pseudo-warm: part-shadow-host-document: :has(:dir(rtl)) after descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress pseudo-cold: part-shadow-host-document: :has(:dir(rtl)) after descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress pseudo-warm: part-shadow-host-document: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant direction stress pseudo-cold: part-shadow-host-document: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant direction stress pseudo-warm: part-shadow-host-document: :has(:dir(rtl):first-child) after first descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant direction stress pseudo-cold: part-shadow-host-document: :has(:dir(rtl):first-child) after first descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant direction stress pseudo-cold: part-shadow-host-document: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant direction stress pseudo-warm: part-shadow-host-document: :has(:dir(rtl):first-child) after first descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress pseudo-cold: part-shadow-host-document: :has(:dir(rtl):first-child) after first descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress pseudo-warm: part-shadow-host-document: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant direction stress pseudo-cold: part-shadow-host-document: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant language stress pseudo-warm: part-shadow-host-document: :has(:lang(he)) after descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress pseudo-cold: part-shadow-host-document: :has(:lang(he)) after descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant direction stress pseudo-cold: part-shadow-host-document: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress pseudo-warm: part-shadow-host-document: :has(:lang(he)) after descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress pseudo-cold: part-shadow-host-document: :has(:lang(he)) after descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress pseudo-warm: part-shadow-host-document: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress pseudo-cold: part-shadow-host-document: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant language stress pseudo-warm: part-shadow-host-document: :has(:lang(he):first-child) after first descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress pseudo-cold: part-shadow-host-document: :has(:lang(he):first-child) after first descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant language stress pseudo-cold: part-shadow-host-document: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress pseudo-warm: part-shadow-host-document: :has(:lang(he):first-child) after first descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress pseudo-cold: part-shadow-host-document: :has(:lang(he):first-child) after first descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress pseudo-warm: part-shadow-host-document: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress pseudo-cold: part-shadow-host-document: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: inherited language stress pseudo-warm: part-shadow-host-document: :has(:lang(he)) after ancestor lang change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: inherited language stress pseudo-cold: part-shadow-host-document: :has(:lang(he)) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: inherited language stress pseudo-warm: part-shadow-host-document: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: inherited language stress pseudo-cold: part-shadow-host-document: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: inherited language stress pseudo-warm: part-shadow-host-document: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: inherited language stress pseudo-cold: part-shadow-host-document: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: inherited language stress pseudo-warm: part-shadow-host-document: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: inherited language stress pseudo-cold: part-shadow-host-document: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: inherited language stress pseudo-warm: part-shadow-host-document: :has(:is(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: inherited language stress pseudo-cold: part-shadow-host-document: :has(:is(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: inherited language stress pseudo-warm: part-shadow-host-document: :has(:where(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: inherited language stress pseudo-cold: part-shadow-host-document: :has(:where(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant direction stress pseudo-warm: part-shadow-internal: :has(:dir(rtl)) after descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant direction stress pseudo-cold: part-shadow-internal: :has(:dir(rtl)) after descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant language stress pseudo-cold: part-shadow-host-document: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress pseudo-warm: part-shadow-host-document: :has(:lang(he)) after ancestor lang change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress pseudo-cold: part-shadow-host-document: :has(:lang(he)) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress pseudo-warm: part-shadow-host-document: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress pseudo-cold: part-shadow-host-document: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress pseudo-warm: part-shadow-host-document: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress pseudo-cold: part-shadow-host-document: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress pseudo-warm: part-shadow-host-document: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress pseudo-cold: part-shadow-host-document: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress pseudo-warm: part-shadow-host-document: :has(:is(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress pseudo-cold: part-shadow-host-document: :has(:is(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress pseudo-warm: part-shadow-host-document: :has(:where(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress pseudo-cold: part-shadow-host-document: :has(:where(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress pseudo-warm: part-shadow-internal: :has(:dir(rtl)) after descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant direction stress pseudo-cold: part-shadow-internal: :has(:dir(rtl)) after descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant direction stress pseudo-warm: part-shadow-internal: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant direction stress pseudo-cold: part-shadow-internal: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant direction stress pseudo-warm: part-shadow-internal: :has(:dir(rtl):first-child) after first descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant direction stress pseudo-cold: part-shadow-internal: :has(:dir(rtl):first-child) after first descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant direction stress pseudo-cold: part-shadow-internal: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant direction stress pseudo-warm: part-shadow-internal: :has(:dir(rtl):first-child) after first descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant direction stress pseudo-cold: part-shadow-internal: :has(:dir(rtl):first-child) after first descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant direction stress pseudo-warm: part-shadow-internal: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant direction stress pseudo-cold: part-shadow-internal: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant language stress pseudo-warm: part-shadow-internal: :has(:lang(he)) after descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant language stress pseudo-cold: part-shadow-internal: :has(:lang(he)) after descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant direction stress pseudo-cold: part-shadow-internal: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant language stress pseudo-warm: part-shadow-internal: :has(:lang(he)) after descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant language stress pseudo-cold: part-shadow-internal: :has(:lang(he)) after descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant language stress pseudo-warm: part-shadow-internal: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant language stress pseudo-cold: part-shadow-internal: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant language stress pseudo-warm: part-shadow-internal: :has(:lang(he):first-child) after first descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant language stress pseudo-cold: part-shadow-internal: :has(:lang(he):first-child) after first descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant language stress pseudo-cold: part-shadow-internal: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant language stress pseudo-warm: part-shadow-internal: :has(:lang(he):first-child) after first descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant language stress pseudo-cold: part-shadow-internal: :has(:lang(he):first-child) after first descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant language stress pseudo-warm: part-shadow-internal: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant language stress pseudo-cold: part-shadow-internal: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: inherited language stress pseudo-warm: part-shadow-internal: :has(:lang(he)) after ancestor lang change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: inherited language stress pseudo-cold: part-shadow-internal: :has(:lang(he)) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: inherited language stress pseudo-warm: part-shadow-internal: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: inherited language stress pseudo-cold: part-shadow-internal: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: inherited language stress pseudo-warm: part-shadow-internal: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: inherited language stress pseudo-cold: part-shadow-internal: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: inherited language stress pseudo-warm: part-shadow-internal: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: inherited language stress pseudo-cold: part-shadow-internal: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: inherited language stress pseudo-warm: part-shadow-internal: :has(:is(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: inherited language stress pseudo-cold: part-shadow-internal: :has(:is(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: inherited language stress pseudo-warm: part-shadow-internal: :has(:where(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: inherited language stress pseudo-cold: part-shadow-internal: :has(:where(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant direction stress pseudo-warm: part-shadow-host-internal: :has(:dir(rtl)) after descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant direction stress pseudo-cold: part-shadow-host-internal: :has(:dir(rtl)) after descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant language stress pseudo-cold: part-shadow-internal: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: inherited language stress pseudo-warm: part-shadow-internal: :has(:lang(he)) after ancestor lang change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: inherited language stress pseudo-cold: part-shadow-internal: :has(:lang(he)) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: inherited language stress pseudo-warm: part-shadow-internal: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: inherited language stress pseudo-cold: part-shadow-internal: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: inherited language stress pseudo-warm: part-shadow-internal: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: inherited language stress pseudo-cold: part-shadow-internal: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: inherited language stress pseudo-warm: part-shadow-internal: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: inherited language stress pseudo-cold: part-shadow-internal: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: inherited language stress pseudo-warm: part-shadow-internal: :has(:is(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: inherited language stress pseudo-cold: part-shadow-internal: :has(:is(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: inherited language stress pseudo-warm: part-shadow-internal: :has(:where(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: inherited language stress pseudo-cold: part-shadow-internal: :has(:where(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant direction stress pseudo-warm: part-shadow-host-internal: :has(:dir(rtl)) after descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant direction stress pseudo-cold: part-shadow-host-internal: :has(:dir(rtl)) after descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant direction stress pseudo-warm: part-shadow-host-internal: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant direction stress pseudo-cold: part-shadow-host-internal: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant direction stress pseudo-warm: part-shadow-host-internal: :has(:dir(rtl):first-child) after first descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant direction stress pseudo-cold: part-shadow-host-internal: :has(:dir(rtl):first-child) after first descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant direction stress pseudo-cold: part-shadow-host-internal: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant direction stress pseudo-warm: part-shadow-host-internal: :has(:dir(rtl):first-child) after first descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant direction stress pseudo-cold: part-shadow-host-internal: :has(:dir(rtl):first-child) after first descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant direction stress pseudo-warm: part-shadow-host-internal: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant direction stress pseudo-cold: part-shadow-host-internal: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant language stress pseudo-warm: part-shadow-host-internal: :has(:lang(he)) after descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant language stress pseudo-cold: part-shadow-host-internal: :has(:lang(he)) after descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant direction stress pseudo-cold: part-shadow-host-internal: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant language stress pseudo-warm: part-shadow-host-internal: :has(:lang(he)) after descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant language stress pseudo-cold: part-shadow-host-internal: :has(:lang(he)) after descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant language stress pseudo-warm: part-shadow-host-internal: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant language stress pseudo-cold: part-shadow-host-internal: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant language stress pseudo-warm: part-shadow-host-internal: :has(:lang(he):first-child) after first descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant language stress pseudo-cold: part-shadow-host-internal: :has(:lang(he):first-child) after first descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant language stress pseudo-cold: part-shadow-host-internal: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant language stress pseudo-warm: part-shadow-host-internal: :has(:lang(he):first-child) after first descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant language stress pseudo-cold: part-shadow-host-internal: :has(:lang(he):first-child) after first descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant language stress pseudo-warm: part-shadow-host-internal: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant language stress pseudo-cold: part-shadow-host-internal: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: inherited language stress pseudo-warm: part-shadow-host-internal: :has(:lang(he)) after ancestor lang change | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=6, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: inherited language stress pseudo-cold: part-shadow-host-internal: :has(:lang(he)) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: inherited language stress pseudo-warm: part-shadow-host-internal: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=6, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: inherited language stress pseudo-cold: part-shadow-host-internal: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: inherited language stress pseudo-warm: part-shadow-host-internal: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=6, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: inherited language stress pseudo-cold: part-shadow-host-internal: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: inherited language stress pseudo-warm: part-shadow-host-internal: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=6, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: inherited language stress pseudo-cold: part-shadow-host-internal: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: inherited language stress pseudo-warm: part-shadow-host-internal: :has(:is(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=6, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: inherited language stress pseudo-cold: part-shadow-host-internal: :has(:is(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: inherited language stress pseudo-warm: part-shadow-host-internal: :has(:where(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=6, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: inherited language stress pseudo-cold: part-shadow-host-internal: :has(:where(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant direction stress pseudo-warm: part-shadow-ancestor: :has(:dir(rtl)) after descendant dir=auto text mutation | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant direction stress pseudo-cold: part-shadow-ancestor: :has(:dir(rtl)) after descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant direction stress pseudo-warm: part-shadow-ancestor: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant direction stress pseudo-cold: part-shadow-ancestor: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant direction stress pseudo-warm: part-shadow-ancestor: :has(:dir(rtl):first-child) after first descendant dir=auto text mutation | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant direction stress pseudo-cold: part-shadow-ancestor: :has(:dir(rtl):first-child) after first descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant direction stress pseudo-warm: part-shadow-ancestor: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant direction stress pseudo-cold: part-shadow-ancestor: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant language stress pseudo-warm: part-shadow-ancestor: :has(:lang(he)) after descendant lang attribute change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant language stress pseudo-cold: part-shadow-ancestor: :has(:lang(he)) after descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant language stress pseudo-warm: part-shadow-ancestor: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant language stress pseudo-cold: part-shadow-ancestor: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant language stress pseudo-warm: part-shadow-ancestor: :has(:lang(he):first-child) after first descendant lang attribute change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant language stress pseudo-cold: part-shadow-ancestor: :has(:lang(he):first-child) after first descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant language stress pseudo-warm: part-shadow-ancestor: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant language stress pseudo-cold: part-shadow-ancestor: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: inherited language stress pseudo-warm: part-shadow-ancestor: :has(:lang(he)) after ancestor lang change | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=6, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: inherited language stress pseudo-cold: part-shadow-ancestor: :has(:lang(he)) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: inherited language stress pseudo-warm: part-shadow-ancestor: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=6, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: inherited language stress pseudo-cold: part-shadow-ancestor: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: inherited language stress pseudo-warm: part-shadow-ancestor: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=6, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: inherited language stress pseudo-cold: part-shadow-ancestor: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: inherited language stress pseudo-warm: part-shadow-ancestor: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=6, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: inherited language stress pseudo-cold: part-shadow-ancestor: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: inherited language stress pseudo-warm: part-shadow-ancestor: :has(:is(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=6, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: inherited language stress pseudo-cold: part-shadow-ancestor: :has(:is(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: inherited language stress pseudo-warm: part-shadow-ancestor: :has(:where(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=6, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: inherited language stress pseudo-cold: part-shadow-ancestor: :has(:where(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant direction stress pseudo-warm: part-shadow-host-ancestor: :has(:dir(rtl)) after descendant dir=auto text mutation | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant direction stress pseudo-cold: part-shadow-host-ancestor: :has(:dir(rtl)) after descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant direction stress pseudo-warm: part-shadow-host-ancestor: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant direction stress pseudo-cold: part-shadow-host-ancestor: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant direction stress pseudo-warm: part-shadow-host-ancestor: :has(:dir(rtl):first-child) after first descendant dir=auto text mutation | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant direction stress pseudo-cold: part-shadow-host-ancestor: :has(:dir(rtl):first-child) after first descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant direction stress pseudo-warm: part-shadow-host-ancestor: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant direction stress pseudo-cold: part-shadow-host-ancestor: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant language stress pseudo-warm: part-shadow-host-ancestor: :has(:lang(he)) after descendant lang attribute change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant language stress pseudo-cold: part-shadow-host-ancestor: :has(:lang(he)) after descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant language stress pseudo-warm: part-shadow-host-ancestor: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant language stress pseudo-cold: part-shadow-host-ancestor: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant language stress pseudo-warm: part-shadow-host-ancestor: :has(:lang(he):first-child) after first descendant lang attribute change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant language stress pseudo-cold: part-shadow-host-ancestor: :has(:lang(he):first-child) after first descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant language stress pseudo-warm: part-shadow-host-ancestor: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant language stress pseudo-cold: part-shadow-host-ancestor: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: inherited language stress pseudo-warm: part-shadow-host-ancestor: :has(:lang(he)) after ancestor lang change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=7, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: inherited language stress pseudo-cold: part-shadow-host-ancestor: :has(:lang(he)) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: inherited language stress pseudo-warm: part-shadow-host-ancestor: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=7, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: inherited language stress pseudo-cold: part-shadow-host-ancestor: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: inherited language stress pseudo-warm: part-shadow-host-ancestor: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=7, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: inherited language stress pseudo-cold: part-shadow-host-ancestor: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: inherited language stress pseudo-warm: part-shadow-host-ancestor: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=7, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: inherited language stress pseudo-cold: part-shadow-host-ancestor: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: inherited language stress pseudo-warm: part-shadow-host-ancestor: :has(:is(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=7, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: inherited language stress pseudo-cold: part-shadow-host-ancestor: :has(:is(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: inherited language stress pseudo-warm: part-shadow-host-ancestor: :has(:where(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=7, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: inherited language stress pseudo-cold: part-shadow-host-ancestor: :has(:where(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant language stress pseudo-cold: part-shadow-host-internal: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: inherited language stress pseudo-warm: part-shadow-host-internal: :has(:lang(he)) after ancestor lang change | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=6, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: inherited language stress pseudo-cold: part-shadow-host-internal: :has(:lang(he)) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: inherited language stress pseudo-warm: part-shadow-host-internal: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=6, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: inherited language stress pseudo-cold: part-shadow-host-internal: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: inherited language stress pseudo-warm: part-shadow-host-internal: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=6, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: inherited language stress pseudo-cold: part-shadow-host-internal: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: inherited language stress pseudo-warm: part-shadow-host-internal: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=6, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: inherited language stress pseudo-cold: part-shadow-host-internal: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: inherited language stress pseudo-warm: part-shadow-host-internal: :has(:is(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=6, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: inherited language stress pseudo-cold: part-shadow-host-internal: :has(:is(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: inherited language stress pseudo-warm: part-shadow-host-internal: :has(:where(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=6, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: inherited language stress pseudo-cold: part-shadow-host-internal: :has(:where(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant direction stress pseudo-warm: part-shadow-ancestor: :has(:dir(rtl)) after descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress pseudo-cold: part-shadow-ancestor: :has(:dir(rtl)) after descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress pseudo-warm: part-shadow-ancestor: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant direction stress pseudo-cold: part-shadow-ancestor: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant direction stress pseudo-warm: part-shadow-ancestor: :has(:dir(rtl):first-child) after first descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress pseudo-cold: part-shadow-ancestor: :has(:dir(rtl):first-child) after first descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress pseudo-warm: part-shadow-ancestor: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant direction stress pseudo-cold: part-shadow-ancestor: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress pseudo-warm: part-shadow-ancestor: :has(:lang(he)) after descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress pseudo-cold: part-shadow-ancestor: :has(:lang(he)) after descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress pseudo-warm: part-shadow-ancestor: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress pseudo-cold: part-shadow-ancestor: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress pseudo-warm: part-shadow-ancestor: :has(:lang(he):first-child) after first descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress pseudo-cold: part-shadow-ancestor: :has(:lang(he):first-child) after first descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress pseudo-warm: part-shadow-ancestor: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress pseudo-cold: part-shadow-ancestor: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress pseudo-warm: part-shadow-ancestor: :has(:lang(he)) after ancestor lang change | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=6, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress pseudo-cold: part-shadow-ancestor: :has(:lang(he)) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress pseudo-warm: part-shadow-ancestor: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=6, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress pseudo-cold: part-shadow-ancestor: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress pseudo-warm: part-shadow-ancestor: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=6, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress pseudo-cold: part-shadow-ancestor: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress pseudo-warm: part-shadow-ancestor: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=6, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress pseudo-cold: part-shadow-ancestor: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress pseudo-warm: part-shadow-ancestor: :has(:is(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=6, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress pseudo-cold: part-shadow-ancestor: :has(:is(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress pseudo-warm: part-shadow-ancestor: :has(:where(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=6, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress pseudo-cold: part-shadow-ancestor: :has(:where(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress pseudo-warm: part-shadow-host-ancestor: :has(:dir(rtl)) after descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress pseudo-cold: part-shadow-host-ancestor: :has(:dir(rtl)) after descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress pseudo-warm: part-shadow-host-ancestor: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant direction stress pseudo-cold: part-shadow-host-ancestor: :has(:dir(ltr)) becomes false after descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant direction stress pseudo-warm: part-shadow-host-ancestor: :has(:dir(rtl):first-child) after first descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress pseudo-cold: part-shadow-host-ancestor: :has(:dir(rtl):first-child) after first descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant direction stress pseudo-warm: part-shadow-host-ancestor: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant direction stress pseudo-cold: part-shadow-host-ancestor: :not(:has(:dir(rtl))) becomes false after descendant dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress pseudo-warm: part-shadow-host-ancestor: :has(:lang(he)) after descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress pseudo-cold: part-shadow-host-ancestor: :has(:lang(he)) after descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress pseudo-warm: part-shadow-host-ancestor: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress pseudo-cold: part-shadow-host-ancestor: :has(:lang(en)) becomes false after descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress pseudo-warm: part-shadow-host-ancestor: :has(:lang(he):first-child) after first descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress pseudo-cold: part-shadow-host-ancestor: :has(:lang(he):first-child) after first descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant language stress pseudo-warm: part-shadow-host-ancestor: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant language stress pseudo-cold: part-shadow-host-ancestor: :not(:has(:lang(he))) becomes false after descendant lang attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress pseudo-warm: part-shadow-host-ancestor: :has(:lang(he)) after ancestor lang change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=7, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress pseudo-cold: part-shadow-host-ancestor: :has(:lang(he)) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress pseudo-warm: part-shadow-host-ancestor: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=7, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress pseudo-cold: part-shadow-host-ancestor: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress pseudo-warm: part-shadow-host-ancestor: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=7, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress pseudo-cold: part-shadow-host-ancestor: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language stress pseudo-warm: part-shadow-host-ancestor: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=7, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress pseudo-cold: part-shadow-host-ancestor: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress pseudo-warm: part-shadow-host-ancestor: :has(:is(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=7, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress pseudo-cold: part-shadow-host-ancestor: :has(:is(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress pseudo-warm: part-shadow-host-ancestor: :has(:where(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=7, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language stress pseudo-cold: part-shadow-host-ancestor: :has(:where(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2

View file

@ -353,9 +353,9 @@ PASS: descendant language mutation: document: :not(:has(:lang(he))) becomes fals
PASS: inherited language mutation: document: :has(:lang(he)) after ancestor lang change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language pseudo-element mutation: document: :has(:lang(he)) after ancestor lang change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language mutation: document: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language pseudo-element mutation: document: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language pseudo-element mutation: document: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language mutation: document: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language pseudo-element mutation: document: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language pseudo-element mutation: document: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language mutation: document: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language pseudo-element mutation: document: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language mutation: document: :has(:is(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -373,9 +373,9 @@ PASS: descendant language mutation: shadow-internal: :not(:has(:lang(he))) becom
PASS: inherited language mutation: shadow-internal: :has(:lang(he)) after ancestor lang change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language pseudo-element mutation: shadow-internal: :has(:lang(he)) after ancestor lang change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language mutation: shadow-internal: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language pseudo-element mutation: shadow-internal: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language pseudo-element mutation: shadow-internal: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language mutation: shadow-internal: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language pseudo-element mutation: shadow-internal: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language pseudo-element mutation: shadow-internal: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language mutation: shadow-internal: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language pseudo-element mutation: shadow-internal: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language mutation: shadow-internal: :has(:is(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -393,9 +393,9 @@ PASS: descendant language mutation: shadow-host: :not(:has(:lang(he))) becomes f
PASS: inherited language mutation: shadow-host: :has(:lang(he)) after ancestor lang change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language pseudo-element mutation: shadow-host: :has(:lang(he)) after ancestor lang change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language mutation: shadow-host: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language pseudo-element mutation: shadow-host: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language pseudo-element mutation: shadow-host: :has(:lang(en)) becomes false after ancestor lang change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language mutation: shadow-host: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language pseudo-element mutation: shadow-host: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language pseudo-element mutation: shadow-host: :not(:has(:lang(he))) becomes false after ancestor lang change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: inherited language mutation: shadow-host: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language pseudo-element mutation: shadow-host: :has(:lang(he):first-child) after ancestor lang change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: inherited language mutation: shadow-host: :has(:is(:lang(he), .fallback)) after ancestor lang change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -461,19 +461,19 @@ PASS: inherited language mutation: slotted-shadow-host-named: :has(:where(:lang(
PASS: descendant state mutation: document: :has(:checked) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: document: :has(:checked) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state mutation: document: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: document: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: document: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state mutation: document: :has(:required) after input required | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: document: :has(:required) after input required | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state mutation: document: :has(:optional) becomes false after input required | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: document: :has(:optional) becomes false after input required | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: document: :has(:optional) becomes false after input required | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state mutation: document: :has(:disabled) after input disabled | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: document: :has(:disabled) after input disabled | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state mutation: document: :has(:enabled) becomes false after input disabled | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: document: :has(:enabled) becomes false after input disabled | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: document: :has(:enabled) becomes false after input disabled | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state mutation: document: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: document: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state mutation: document: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: document: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: document: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state mutation: document: :has(:checked:first-child) after first checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: document: :has(:checked:first-child) after first checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state mutation: document: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -483,7 +483,7 @@ PASS: descendant state pseudo-element mutation: document: :has(:checked + .after
PASS: descendant state mutation: document: :has(:checked ~ .after) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: document: :has(:checked ~ .after) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state mutation: document: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: document: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: document: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state mutation: document: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: document: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state mutation: document: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
@ -491,19 +491,19 @@ PASS: descendant state pseudo-element mutation: document: :has(:checked):has(:di
PASS: descendant state mutation: shadow-internal: :has(:checked) after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: shadow-internal: :has(:checked) after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state mutation: shadow-internal: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: shadow-internal: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: shadow-internal: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state mutation: shadow-internal: :has(:required) after input required | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: shadow-internal: :has(:required) after input required | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state mutation: shadow-internal: :has(:optional) becomes false after input required | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: shadow-internal: :has(:optional) becomes false after input required | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: shadow-internal: :has(:optional) becomes false after input required | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state mutation: shadow-internal: :has(:disabled) after input disabled | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: shadow-internal: :has(:disabled) after input disabled | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state mutation: shadow-internal: :has(:enabled) becomes false after input disabled | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: shadow-internal: :has(:enabled) becomes false after input disabled | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: shadow-internal: :has(:enabled) becomes false after input disabled | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state mutation: shadow-internal: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: shadow-internal: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state mutation: shadow-internal: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: shadow-internal: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: shadow-internal: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state mutation: shadow-internal: :has(:checked:first-child) after first checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: shadow-internal: :has(:checked:first-child) after first checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state mutation: shadow-internal: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -513,7 +513,7 @@ PASS: descendant state pseudo-element mutation: shadow-internal: :has(:checked +
PASS: descendant state mutation: shadow-internal: :has(:checked ~ .after) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: shadow-internal: :has(:checked ~ .after) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state mutation: shadow-internal: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: shadow-internal: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: shadow-internal: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state mutation: shadow-internal: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: shadow-internal: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state mutation: shadow-internal: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
@ -521,19 +521,19 @@ PASS: descendant state pseudo-element mutation: shadow-internal: :has(:checked):
PASS: descendant state mutation: shadow-host: :has(:checked) after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: shadow-host: :has(:checked) after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state mutation: shadow-host: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: shadow-host: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: shadow-host: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state mutation: shadow-host: :has(:required) after input required | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: shadow-host: :has(:required) after input required | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state mutation: shadow-host: :has(:optional) becomes false after input required | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: shadow-host: :has(:optional) becomes false after input required | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: shadow-host: :has(:optional) becomes false after input required | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state mutation: shadow-host: :has(:disabled) after input disabled | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: shadow-host: :has(:disabled) after input disabled | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state mutation: shadow-host: :has(:enabled) becomes false after input disabled | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: shadow-host: :has(:enabled) becomes false after input disabled | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: shadow-host: :has(:enabled) becomes false after input disabled | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state mutation: shadow-host: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: shadow-host: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state mutation: shadow-host: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: shadow-host: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: shadow-host: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state mutation: shadow-host: :has(:checked:first-child) after first checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: shadow-host: :has(:checked:first-child) after first checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state mutation: shadow-host: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -543,7 +543,7 @@ PASS: descendant state pseudo-element mutation: shadow-host: :has(:checked + .af
PASS: descendant state mutation: shadow-host: :has(:checked ~ .after) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: shadow-host: :has(:checked ~ .after) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state mutation: shadow-host: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: shadow-host: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: shadow-host: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state mutation: shadow-host: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: shadow-host: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state mutation: shadow-host: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
@ -579,128 +579,128 @@ PASS: descendant state mutation: slotted-shadow-host-default: :not(:has(:checked
PASS: descendant state mutation: slotted-shadow-host-default: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state mutation: slotted-shadow-host-default: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state mutation: part-document: :has(:checked) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: part-document: :has(:checked) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state pseudo-element mutation: part-document: :has(:checked) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state mutation: part-document: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: part-document: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state mutation: part-document: :has(:required) after input required | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: part-document: :has(:required) after input required | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state pseudo-element mutation: part-document: :has(:required) after input required | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state mutation: part-document: :has(:optional) becomes false after input required | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: part-document: :has(:optional) becomes false after input required | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state pseudo-element mutation: part-document: :has(:optional) becomes false after input required | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state mutation: part-document: :has(:disabled) after input disabled | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: part-document: :has(:disabled) after input disabled | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state pseudo-element mutation: part-document: :has(:disabled) after input disabled | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state mutation: part-document: :has(:enabled) becomes false after input disabled | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: part-document: :has(:enabled) becomes false after input disabled | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state pseudo-element mutation: part-document: :has(:enabled) becomes false after input disabled | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state mutation: part-document: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: part-document: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state pseudo-element mutation: part-document: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state mutation: part-document: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: part-document: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state pseudo-element mutation: part-document: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state mutation: part-document: :has(:checked:first-child) after first checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: part-document: :has(:checked:first-child) after first checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state pseudo-element mutation: part-document: :has(:checked:first-child) after first checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state mutation: part-document: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: part-document: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state pseudo-element mutation: part-document: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state mutation: part-document: :has(:checked + .after) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: part-document: :has(:checked + .after) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state pseudo-element mutation: part-document: :has(:checked + .after) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state mutation: part-document: :has(:checked ~ .after) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: part-document: :has(:checked ~ .after) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=0, hasResultCacheMisses=5
PASS: descendant state pseudo-element mutation: part-document: :has(:checked ~ .after) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state mutation: part-document: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: part-document: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state mutation: part-document: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: part-document: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state pseudo-element mutation: part-document: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state mutation: part-document: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state pseudo-element mutation: part-document: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=7, hasResultCacheHits=0, hasResultCacheMisses=7
PASS: descendant state pseudo-element mutation: part-document: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state mutation: part-shadow-host-document: :has(:checked) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: part-shadow-host-document: :has(:checked) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state pseudo-element mutation: part-shadow-host-document: :has(:checked) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state mutation: part-shadow-host-document: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: part-shadow-host-document: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state mutation: part-shadow-host-document: :has(:required) after input required | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: part-shadow-host-document: :has(:required) after input required | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state pseudo-element mutation: part-shadow-host-document: :has(:required) after input required | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state mutation: part-shadow-host-document: :has(:optional) becomes false after input required | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: part-shadow-host-document: :has(:optional) becomes false after input required | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state pseudo-element mutation: part-shadow-host-document: :has(:optional) becomes false after input required | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state mutation: part-shadow-host-document: :has(:disabled) after input disabled | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: part-shadow-host-document: :has(:disabled) after input disabled | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state pseudo-element mutation: part-shadow-host-document: :has(:disabled) after input disabled | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state mutation: part-shadow-host-document: :has(:enabled) becomes false after input disabled | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: part-shadow-host-document: :has(:enabled) becomes false after input disabled | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state pseudo-element mutation: part-shadow-host-document: :has(:enabled) becomes false after input disabled | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state mutation: part-shadow-host-document: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: part-shadow-host-document: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state pseudo-element mutation: part-shadow-host-document: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state mutation: part-shadow-host-document: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: part-shadow-host-document: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state pseudo-element mutation: part-shadow-host-document: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state mutation: part-shadow-host-document: :has(:checked:first-child) after first checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: part-shadow-host-document: :has(:checked:first-child) after first checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state pseudo-element mutation: part-shadow-host-document: :has(:checked:first-child) after first checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state mutation: part-shadow-host-document: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: part-shadow-host-document: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state pseudo-element mutation: part-shadow-host-document: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state mutation: part-shadow-host-document: :has(:checked + .after) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: part-shadow-host-document: :has(:checked + .after) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state pseudo-element mutation: part-shadow-host-document: :has(:checked + .after) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state mutation: part-shadow-host-document: :has(:checked ~ .after) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: part-shadow-host-document: :has(:checked ~ .after) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=0, hasResultCacheMisses=5
PASS: descendant state pseudo-element mutation: part-shadow-host-document: :has(:checked ~ .after) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state mutation: part-shadow-host-document: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: part-shadow-host-document: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state mutation: part-shadow-host-document: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: part-shadow-host-document: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state pseudo-element mutation: part-shadow-host-document: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state mutation: part-shadow-host-document: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state pseudo-element mutation: part-shadow-host-document: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=7, hasResultCacheHits=0, hasResultCacheMisses=7
PASS: descendant state pseudo-element mutation: part-shadow-host-document: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state mutation: part-shadow-host-ancestor: :has(:checked) after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: part-shadow-host-ancestor: :has(:checked) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant state pseudo-element mutation: part-shadow-host-ancestor: :has(:checked) after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state mutation: part-shadow-host-ancestor: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: part-shadow-host-ancestor: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant state pseudo-element mutation: part-shadow-host-ancestor: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state mutation: part-shadow-host-ancestor: :has(:required) after input required | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: part-shadow-host-ancestor: :has(:required) after input required | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant state pseudo-element mutation: part-shadow-host-ancestor: :has(:required) after input required | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state mutation: part-shadow-host-ancestor: :has(:optional) becomes false after input required | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: part-shadow-host-ancestor: :has(:optional) becomes false after input required | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant state pseudo-element mutation: part-shadow-host-ancestor: :has(:optional) becomes false after input required | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state mutation: part-shadow-host-ancestor: :has(:disabled) after input disabled | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: part-shadow-host-ancestor: :has(:disabled) after input disabled | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant state pseudo-element mutation: part-shadow-host-ancestor: :has(:disabled) after input disabled | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state mutation: part-shadow-host-ancestor: :has(:enabled) becomes false after input disabled | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: part-shadow-host-ancestor: :has(:enabled) becomes false after input disabled | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant state pseudo-element mutation: part-shadow-host-ancestor: :has(:enabled) becomes false after input disabled | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state mutation: part-shadow-host-ancestor: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: part-shadow-host-ancestor: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant state pseudo-element mutation: part-shadow-host-ancestor: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state mutation: part-shadow-host-ancestor: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: part-shadow-host-ancestor: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant state pseudo-element mutation: part-shadow-host-ancestor: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state mutation: part-shadow-host-ancestor: :has(:checked:first-child) after first checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: part-shadow-host-ancestor: :has(:checked:first-child) after first checkbox checked | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant state pseudo-element mutation: part-shadow-host-ancestor: :has(:checked:first-child) after first checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state mutation: part-shadow-host-ancestor: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: part-shadow-host-ancestor: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant state pseudo-element mutation: part-shadow-host-ancestor: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state mutation: part-shadow-host-ancestor: :has(:checked + .after) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: part-shadow-host-ancestor: :has(:checked + .after) after checkbox checked | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant state pseudo-element mutation: part-shadow-host-ancestor: :has(:checked + .after) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state mutation: part-shadow-host-ancestor: :has(:checked ~ .after) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: part-shadow-host-ancestor: :has(:checked ~ .after) after checkbox checked | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=7, hasResultCacheHits=1, hasResultCacheMisses=6
PASS: descendant state pseudo-element mutation: part-shadow-host-ancestor: :has(:checked ~ .after) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state mutation: part-shadow-host-ancestor: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: part-shadow-host-ancestor: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant state pseudo-element mutation: part-shadow-host-ancestor: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state mutation: part-shadow-host-ancestor: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state pseudo-element mutation: part-shadow-host-ancestor: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant state pseudo-element mutation: part-shadow-host-ancestor: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state mutation: part-shadow-host-ancestor: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state pseudo-element mutation: part-shadow-host-ancestor: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=6, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=9, hasResultCacheHits=1, hasResultCacheMisses=8
PASS: form child mutation: document: :invalid after required input append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: form child mutation: document: :valid after required input removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: form child mutation: document: :invalid after required fieldset input append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: descendant state pseudo-element mutation: part-shadow-host-ancestor: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: form child mutation: document: :invalid after required input append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: form child mutation: document: :valid after required input removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: form child mutation: document: :invalid after required fieldset input append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: form child mutation: document: :has(:invalid) after required input append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: form child mutation: document: :has(:valid) after optional input append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: form child mutation: document: :has(:invalid) becomes false after required input removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: form child mutation: document: :has(:invalid) becomes false after required input removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: placeholder child mutation: document: :placeholder-shown becomes false after text insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: placeholder child mutation: document: :not(:placeholder-shown) becomes true after text insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: placeholder child mutation: document: :placeholder-shown becomes true after text removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: placeholder child mutation: document: :not(:placeholder-shown) becomes true after text insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: placeholder child mutation: document: :placeholder-shown becomes true after text removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: placeholder child mutation: document: :has(:placeholder-shown) after textarea child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: placeholder child mutation: document: :has(:not(:placeholder-shown)) after filled textarea child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: form child mutation: shadow-internal: :invalid after required input append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: form child mutation: shadow-internal: :valid after required input removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: form child mutation: shadow-internal: :invalid after required fieldset input append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: form child mutation: shadow-internal: :invalid after required input append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: form child mutation: shadow-internal: :valid after required input removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: form child mutation: shadow-internal: :invalid after required fieldset input append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: form child mutation: shadow-internal: :has(:invalid) after required input append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: form child mutation: shadow-internal: :has(:valid) after optional input append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: form child mutation: shadow-internal: :has(:invalid) becomes false after required input removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: form child mutation: shadow-internal: :has(:invalid) becomes false after required input removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: placeholder child mutation: shadow-internal: :placeholder-shown becomes false after text insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: placeholder child mutation: shadow-internal: :not(:placeholder-shown) becomes true after text insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: placeholder child mutation: shadow-internal: :placeholder-shown becomes true after text removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: placeholder child mutation: shadow-internal: :not(:placeholder-shown) becomes true after text insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: placeholder child mutation: shadow-internal: :placeholder-shown becomes true after text removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: placeholder child mutation: shadow-internal: :has(:placeholder-shown) after textarea child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: placeholder child mutation: shadow-internal: :has(:not(:placeholder-shown)) after filled textarea child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: form child mutation: part-document: :invalid after required input append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: form child mutation: part-document: :valid after required input removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: form child mutation: part-document: :invalid after required fieldset input append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: form child mutation: part-document: :has(:invalid) after required input append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=0, hasResultCacheMisses=5
PASS: form child mutation: part-document: :has(:valid) after optional input append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=0, hasResultCacheMisses=5
PASS: form child mutation: part-document: :has(:invalid) becomes false after required input removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: form child mutation: part-document: :has(:invalid) after required input append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: form child mutation: part-document: :has(:valid) after optional input append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: form child mutation: part-document: :has(:invalid) becomes false after required input removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: placeholder child mutation: part-document: :placeholder-shown becomes false after text insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: placeholder child mutation: part-document: :not(:placeholder-shown) becomes true after text insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: placeholder child mutation: part-document: :placeholder-shown becomes true after text removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: placeholder child mutation: part-document: :has(:placeholder-shown) after textarea child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=0, hasResultCacheMisses=5
PASS: placeholder child mutation: part-document: :has(:not(:placeholder-shown)) after filled textarea child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=0, hasResultCacheMisses=5
PASS: placeholder child mutation: part-document: :has(:placeholder-shown) after textarea child append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: placeholder child mutation: part-document: :has(:not(:placeholder-shown)) after filled textarea child append | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: duplicate descendant invalidation rules merge: document | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: duplicate sibling invalidation rules merge: document | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: duplicate descendant invalidation rules merge: shadow-internal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0

View file

@ -1,175 +1,175 @@
PASS: descendant attribute stress detached-pseudo: part-document: :has(.hit) after descendant class change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo-cold: part-document: :has(.hit) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: part-document: :has(.HIT) after matching uppercase descendant class change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo-cold: part-document: :has(.HIT) after matching uppercase descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: part-document: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-document: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-document: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-document: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-document: :has([data-hit]) after descendant attribute change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo-cold: part-document: :has([data-hit]) after descendant attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: part-document: :has(#hit-id) after descendant id change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo-cold: part-document: :has(#hit-id) after descendant id change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: part-document: :has(span.hit:not(.miss)) after descendant compound change | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo-cold: part-document: :has(span.hit:not(.miss)) after descendant compound change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: part-document: :has(.hit) after descendant class change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-document: :has(.hit) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-document: :has(.HIT) after matching uppercase descendant class change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-document: :has(.HIT) after matching uppercase descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-document: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-document: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-document: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-document: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-document: :has([data-hit]) after descendant attribute change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-document: :has([data-hit]) after descendant attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-document: :has(#hit-id) after descendant id change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-document: :has(#hit-id) after descendant id change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-document: :has(span.hit:not(.miss)) after descendant compound change | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-document: :has(span.hit:not(.miss)) after descendant compound change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-document: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo-cold: part-document: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: part-document: :has(:is(.hit)) after descendant class change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo-cold: part-document: :has(:is(.hit)) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: part-document: :has(:is(.hit)) after descendant class change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-document: :has(:is(.hit)) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-document: :has(.hit) becomes false after descendant class removal | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo-cold: part-document: :has(.hit) becomes false after descendant class removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: part-document: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo-cold: part-document: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: part-document: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo-cold: part-document: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: part-document: :has(.hit.extra) after descendant second class change | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo-cold: part-document: :has(.hit.extra) after descendant second class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: part-document: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-document: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-document: :has(.hit.extra) after descendant second class change | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-document: :has(.hit.extra) after descendant second class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-document: :has(.hit) becomes false after descendant className clear | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo-cold: part-document: :has(.hit) becomes false after descendant className clear | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: part-document: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo-cold: part-document: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: part-document: :has([data-hit^='ye']) after descendant prefix attribute change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo-cold: part-document: :has([data-hit^='ye']) after descendant prefix attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: part-document: :has([data-hit$='es']) after descendant suffix attribute change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo-cold: part-document: :has([data-hit$='es']) after descendant suffix attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: part-document: :has([data-hit*='e']) after descendant substring attribute change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo-cold: part-document: :has([data-hit*='e']) after descendant substring attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: part-document: :has([data-hit~='yes']) after descendant word attribute change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo-cold: part-document: :has([data-hit~='yes']) after descendant word attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: part-document: :has([data-hit|='yes']) after descendant dash attribute change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo-cold: part-document: :has([data-hit|='yes']) after descendant dash attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: part-document: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-document: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-document: :has([data-hit^='ye']) after descendant prefix attribute change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-document: :has([data-hit^='ye']) after descendant prefix attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-document: :has([data-hit$='es']) after descendant suffix attribute change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-document: :has([data-hit$='es']) after descendant suffix attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-document: :has([data-hit*='e']) after descendant substring attribute change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-document: :has([data-hit*='e']) after descendant substring attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-document: :has([data-hit~='yes']) after descendant word attribute change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-document: :has([data-hit~='yes']) after descendant word attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-document: :has([data-hit|='yes']) after descendant dash attribute change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-document: :has([data-hit|='yes']) after descendant dash attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-document: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo-cold: part-document: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: part-document: :has([hidden]) after descendant hidden property change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo-cold: part-document: :has([hidden]) after descendant hidden property change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: part-document: :has(:is(.hit, [data-hit])) after descendant attribute change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo-cold: part-document: :has(:is(.hit, [data-hit])) after descendant attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: part-document: :has(:where(.hit, [data-hit])) after descendant class change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo-cold: part-document: :has(:where(.hit, [data-hit])) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: part-document: :has(.hit:not([data-miss])) after descendant class change | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo-cold: part-document: :has(.hit:not([data-miss])) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: part-document: :has([hidden]) after descendant hidden property change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-document: :has([hidden]) after descendant hidden property change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-document: :has(:is(.hit, [data-hit])) after descendant attribute change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-document: :has(:is(.hit, [data-hit])) after descendant attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-document: :has(:where(.hit, [data-hit])) after descendant class change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-document: :has(:where(.hit, [data-hit])) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-document: :has(.hit:not([data-miss])) after descendant class change | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-document: :has(.hit:not([data-miss])) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-document: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo-cold: part-document: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: part-document: :has(.hit + .after) after descendant sibling class change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo-cold: part-document: :has(.hit + .after) after descendant sibling class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo: part-document: :has(.hit ~ .after) after indirect sibling class change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=0, hasResultCacheMisses=5
PASS: descendant attribute stress detached-pseudo-cold: part-document: :has(.hit ~ .after) after indirect sibling class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=0, hasResultCacheMisses=5
PASS: descendant attribute stress detached-pseudo: part-document: :has(.hit:first-child) after first descendant class change | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo-cold: part-document: :has(.hit:first-child) after first descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: part-document: :has(.hit:last-child) after last descendant class change | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo-cold: part-document: :has(.hit:last-child) after last descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: part-document: :has(.hit:only-child) after only descendant class change | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo-cold: part-document: :has(.hit:only-child) after only descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: part-document: :has(.hit:nth-child(2)) after second descendant class change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo-cold: part-document: :has(.hit:nth-child(2)) after second descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo: part-document: :has(.hit + .after) after descendant sibling class change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-document: :has(.hit + .after) after descendant sibling class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-document: :has(.hit ~ .after) after indirect sibling class change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-document: :has(.hit ~ .after) after indirect sibling class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-document: :has(.hit:first-child) after first descendant class change | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-document: :has(.hit:first-child) after first descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-document: :has(.hit:last-child) after last descendant class change | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-document: :has(.hit:last-child) after last descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-document: :has(.hit:only-child) after only descendant class change | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-document: :has(.hit:only-child) after only descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-document: :has(.hit:nth-child(2)) after second descendant class change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-document: :has(.hit:nth-child(2)) after second descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-document: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo-cold: part-document: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: part-document: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo-cold: part-document: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: part-document: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-document: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-document: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo-cold: part-document: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: part-document: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo-cold: part-document: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has(.hit) after descendant class change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has(.hit) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has(.HIT) after matching uppercase descendant class change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has(.HIT) after matching uppercase descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has([data-hit]) after descendant attribute change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has([data-hit]) after descendant attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has(#hit-id) after descendant id change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has(#hit-id) after descendant id change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has(span.hit:not(.miss)) after descendant compound change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has(span.hit:not(.miss)) after descendant compound change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has(:is(.hit)) after descendant class change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has(:is(.hit)) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has(.hit) becomes false after descendant class removal | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has(.hit) becomes false after descendant class removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has(.hit.extra) after descendant second class change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has(.hit.extra) after descendant second class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has(.hit) becomes false after descendant className clear | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has(.hit) becomes false after descendant className clear | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has([data-hit^='ye']) after descendant prefix attribute change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has([data-hit^='ye']) after descendant prefix attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has([data-hit$='es']) after descendant suffix attribute change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has([data-hit$='es']) after descendant suffix attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has([data-hit*='e']) after descendant substring attribute change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has([data-hit*='e']) after descendant substring attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has([data-hit~='yes']) after descendant word attribute change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has([data-hit~='yes']) after descendant word attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has([data-hit|='yes']) after descendant dash attribute change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has([data-hit|='yes']) after descendant dash attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has([hidden]) after descendant hidden property change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has([hidden]) after descendant hidden property change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has(:is(.hit, [data-hit])) after descendant attribute change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has(:is(.hit, [data-hit])) after descendant attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has(:where(.hit, [data-hit])) after descendant class change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has(:where(.hit, [data-hit])) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has(.hit:not([data-miss])) after descendant class change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has(.hit:not([data-miss])) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has(.hit + .after) after descendant sibling class change | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=0, hasResultCacheMisses=5
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has(.hit + .after) after descendant sibling class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=0, hasResultCacheMisses=5
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has(.hit ~ .after) after indirect sibling class change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=0, hasResultCacheMisses=6
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has(.hit ~ .after) after indirect sibling class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=0, hasResultCacheMisses=6
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has(.hit:first-child) after first descendant class change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has(.hit:first-child) after first descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has(.hit:last-child) after last descendant class change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has(.hit:last-child) after last descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has(.hit:only-child) after only descendant class change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has(.hit:only-child) after only descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has(.hit:nth-child(2)) after second descendant class change | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=0, hasResultCacheMisses=5
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has(.hit:nth-child(2)) after second descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=0, hasResultCacheMisses=5
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo: part-document: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-document: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has(.hit) after descendant class change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has(.hit) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has(.HIT) after matching uppercase descendant class change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has(.HIT) after matching uppercase descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has([data-hit]) after descendant attribute change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has([data-hit]) after descendant attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has(#hit-id) after descendant id change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has(#hit-id) after descendant id change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has(span.hit:not(.miss)) after descendant compound change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has(span.hit:not(.miss)) after descendant compound change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has(:is(.hit)) after descendant class change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has(:is(.hit)) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has(.hit) becomes false after descendant class removal | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has(.hit) becomes false after descendant class removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has(.hit.extra) after descendant second class change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has(.hit.extra) after descendant second class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has(.hit) becomes false after descendant className clear | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has(.hit) becomes false after descendant className clear | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has([data-hit^='ye']) after descendant prefix attribute change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has([data-hit^='ye']) after descendant prefix attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has([data-hit$='es']) after descendant suffix attribute change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has([data-hit$='es']) after descendant suffix attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has([data-hit*='e']) after descendant substring attribute change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has([data-hit*='e']) after descendant substring attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has([data-hit~='yes']) after descendant word attribute change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has([data-hit~='yes']) after descendant word attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has([data-hit|='yes']) after descendant dash attribute change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has([data-hit|='yes']) after descendant dash attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has([hidden]) after descendant hidden property change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has([hidden]) after descendant hidden property change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has(:is(.hit, [data-hit])) after descendant attribute change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has(:is(.hit, [data-hit])) after descendant attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has(:where(.hit, [data-hit])) after descendant class change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has(:where(.hit, [data-hit])) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has(.hit:not([data-miss])) after descendant class change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has(.hit:not([data-miss])) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has(.hit + .after) after descendant sibling class change | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has(.hit + .after) after descendant sibling class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has(.hit ~ .after) after indirect sibling class change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has(.hit ~ .after) after indirect sibling class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has(.hit:first-child) after first descendant class change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has(.hit:first-child) after first descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has(.hit:last-child) after last descendant class change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has(.hit:last-child) after last descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has(.hit:only-child) after only descendant class change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has(.hit:only-child) after only descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has(.hit:nth-child(2)) after second descendant class change | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has(.hit:nth-child(2)) after second descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: part-shadow-host-document: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-document: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-internal: :has(.hit) after descendant class change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-internal: :has(.hit) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-internal: :has(.HIT) after matching uppercase descendant class change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-internal: :has(.HIT) after matching uppercase descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-internal: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-internal: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-internal: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-internal: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-internal: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-internal: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-internal: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-internal: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-internal: :has([data-hit]) after descendant attribute change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-internal: :has([data-hit]) after descendant attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-internal: :has(#hit-id) after descendant id change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-internal: :has(#hit-id) after descendant id change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-internal: :has(span.hit:not(.miss)) after descendant compound change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-internal: :has(span.hit:not(.miss)) after descendant compound change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo: part-shadow-internal: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-internal: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-internal: :has(span.hit:not(.miss)) after descendant compound change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-internal: :has(span.hit:not(.miss)) after descendant compound change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-internal: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-internal: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-internal: :has(:is(.hit)) after descendant class change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-internal: :has(:is(.hit)) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-internal: :has(.hit) becomes false after descendant class removal | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-internal: :has(.hit) becomes false after descendant class removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo: part-shadow-internal: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-internal: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo: part-shadow-internal: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-internal: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo: part-shadow-internal: :has(.hit.extra) after descendant second class change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-internal: :has(.hit.extra) after descendant second class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo: part-shadow-internal: :has(.hit) becomes false after descendant className clear | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-internal: :has(.hit) becomes false after descendant className clear | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo: part-shadow-internal: :has(.hit) becomes false after descendant class removal | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-internal: :has(.hit) becomes false after descendant class removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: part-shadow-internal: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-internal: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: part-shadow-internal: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-internal: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-internal: :has(.hit.extra) after descendant second class change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-internal: :has(.hit.extra) after descendant second class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-internal: :has(.hit) becomes false after descendant className clear | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-internal: :has(.hit) becomes false after descendant className clear | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: part-shadow-internal: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-internal: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-internal: :has([data-hit^='ye']) after descendant prefix attribute change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
@ -182,66 +182,66 @@ PASS: descendant attribute stress detached-pseudo: part-shadow-internal: :has([d
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-internal: :has([data-hit~='yes']) after descendant word attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-internal: :has([data-hit|='yes']) after descendant dash attribute change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-internal: :has([data-hit|='yes']) after descendant dash attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-internal: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-internal: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo: part-shadow-internal: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-internal: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: part-shadow-internal: :has([hidden]) after descendant hidden property change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-internal: :has([hidden]) after descendant hidden property change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-internal: :has(:is(.hit, [data-hit])) after descendant attribute change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-internal: :has(:is(.hit, [data-hit])) after descendant attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-internal: :has(:where(.hit, [data-hit])) after descendant class change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-internal: :has(:where(.hit, [data-hit])) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-internal: :has(.hit:not([data-miss])) after descendant class change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-internal: :has(.hit:not([data-miss])) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo: part-shadow-internal: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-internal: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo: part-shadow-internal: :has(.hit + .after) after descendant sibling class change | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-internal: :has(.hit + .after) after descendant sibling class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=10, hasResultCacheHits=5, hasResultCacheMisses=5
PASS: descendant attribute stress detached-pseudo: part-shadow-internal: :has(.hit ~ .after) after indirect sibling class change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=7, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-internal: :has(.hit ~ .after) after indirect sibling class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=12, hasResultCacheHits=6, hasResultCacheMisses=6
PASS: descendant attribute stress detached-pseudo: part-shadow-internal: :has(.hit:first-child) after first descendant class change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-internal: :has(.hit:first-child) after first descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo: part-shadow-internal: :has(.hit:last-child) after last descendant class change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-internal: :has(.hit:last-child) after last descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo: part-shadow-internal: :has(.hit:only-child) after only descendant class change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-internal: :has(.hit:only-child) after only descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo: part-shadow-internal: :has(.hit:nth-child(2)) after second descendant class change | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-internal: :has(.hit:nth-child(2)) after second descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=10, hasResultCacheHits=5, hasResultCacheMisses=5
PASS: descendant attribute stress detached-pseudo: part-shadow-internal: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-internal: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-internal: :has(.hit:not([data-miss])) after descendant class change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-internal: :has(.hit:not([data-miss])) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-internal: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-internal: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: part-shadow-internal: :has(.hit + .after) after descendant sibling class change | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-internal: :has(.hit + .after) after descendant sibling class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-internal: :has(.hit ~ .after) after indirect sibling class change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-internal: :has(.hit ~ .after) after indirect sibling class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-internal: :has(.hit:first-child) after first descendant class change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-internal: :has(.hit:first-child) after first descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-internal: :has(.hit:last-child) after last descendant class change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-internal: :has(.hit:last-child) after last descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-internal: :has(.hit:only-child) after only descendant class change | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-internal: :has(.hit:only-child) after only descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-internal: :has(.hit:nth-child(2)) after second descendant class change | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-internal: :has(.hit:nth-child(2)) after second descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-internal: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-internal: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-internal: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-internal: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-internal: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-internal: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo: part-shadow-internal: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-internal: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: part-shadow-internal: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-internal: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-host-internal: :has(.hit) after descendant class change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-internal: :has(.hit) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-host-internal: :has(.HIT) after matching uppercase descendant class change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-internal: :has(.HIT) after matching uppercase descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-host-internal: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-internal: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-host-internal: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-internal: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-host-internal: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-internal: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-internal: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-internal: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-internal: :has([data-hit]) after descendant attribute change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-internal: :has([data-hit]) after descendant attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-host-internal: :has(#hit-id) after descendant id change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-internal: :has(#hit-id) after descendant id change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-host-internal: :has(span.hit:not(.miss)) after descendant compound change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-internal: :has(span.hit:not(.miss)) after descendant compound change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant attribute stress detached-pseudo: part-shadow-host-internal: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-internal: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-host-internal: :has(span.hit:not(.miss)) after descendant compound change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-internal: :has(span.hit:not(.miss)) after descendant compound change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-internal: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-internal: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-internal: :has(:is(.hit)) after descendant class change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-internal: :has(:is(.hit)) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-host-internal: :has(.hit) becomes false after descendant class removal | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-internal: :has(.hit) becomes false after descendant class removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant attribute stress detached-pseudo: part-shadow-host-internal: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-internal: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant attribute stress detached-pseudo: part-shadow-host-internal: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-internal: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant attribute stress detached-pseudo: part-shadow-host-internal: :has(.hit.extra) after descendant second class change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-internal: :has(.hit.extra) after descendant second class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant attribute stress detached-pseudo: part-shadow-host-internal: :has(.hit) becomes false after descendant className clear | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-internal: :has(.hit) becomes false after descendant className clear | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant attribute stress detached-pseudo: part-shadow-host-internal: :has(.hit) becomes false after descendant class removal | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-internal: :has(.hit) becomes false after descendant class removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: part-shadow-host-internal: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-internal: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: part-shadow-host-internal: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-internal: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-internal: :has(.hit.extra) after descendant second class change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-internal: :has(.hit.extra) after descendant second class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-internal: :has(.hit) becomes false after descendant className clear | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-internal: :has(.hit) becomes false after descendant className clear | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: part-shadow-host-internal: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-internal: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-host-internal: :has([data-hit^='ye']) after descendant prefix attribute change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
@ -254,179 +254,179 @@ PASS: descendant attribute stress detached-pseudo: part-shadow-host-internal: :h
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-internal: :has([data-hit~='yes']) after descendant word attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-host-internal: :has([data-hit|='yes']) after descendant dash attribute change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-internal: :has([data-hit|='yes']) after descendant dash attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-host-internal: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-internal: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant attribute stress detached-pseudo: part-shadow-host-internal: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-internal: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: part-shadow-host-internal: :has([hidden]) after descendant hidden property change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-internal: :has([hidden]) after descendant hidden property change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-host-internal: :has(:is(.hit, [data-hit])) after descendant attribute change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-internal: :has(:is(.hit, [data-hit])) after descendant attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-host-internal: :has(:where(.hit, [data-hit])) after descendant class change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-internal: :has(:where(.hit, [data-hit])) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-host-internal: :has(.hit:not([data-miss])) after descendant class change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-internal: :has(.hit:not([data-miss])) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant attribute stress detached-pseudo: part-shadow-host-internal: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-internal: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant attribute stress detached-pseudo: part-shadow-host-internal: :has(.hit + .after) after descendant sibling class change | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-internal: :has(.hit + .after) after descendant sibling class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=11, hasResultCacheHits=5, hasResultCacheMisses=6
PASS: descendant attribute stress detached-pseudo: part-shadow-host-internal: :has(.hit ~ .after) after indirect sibling class change | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=7, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-internal: :has(.hit ~ .after) after indirect sibling class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=13, hasResultCacheHits=6, hasResultCacheMisses=7
PASS: descendant attribute stress detached-pseudo: part-shadow-host-internal: :has(.hit:first-child) after first descendant class change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-internal: :has(.hit:first-child) after first descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant attribute stress detached-pseudo: part-shadow-host-internal: :has(.hit:last-child) after last descendant class change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-internal: :has(.hit:last-child) after last descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant attribute stress detached-pseudo: part-shadow-host-internal: :has(.hit:only-child) after only descendant class change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-internal: :has(.hit:only-child) after only descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant attribute stress detached-pseudo: part-shadow-host-internal: :has(.hit:nth-child(2)) after second descendant class change | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-internal: :has(.hit:nth-child(2)) after second descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=11, hasResultCacheHits=5, hasResultCacheMisses=6
PASS: descendant attribute stress detached-pseudo: part-shadow-host-internal: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-internal: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-host-internal: :has(.hit:not([data-miss])) after descendant class change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-internal: :has(.hit:not([data-miss])) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-internal: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-internal: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: part-shadow-host-internal: :has(.hit + .after) after descendant sibling class change | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-internal: :has(.hit + .after) after descendant sibling class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-internal: :has(.hit ~ .after) after indirect sibling class change | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-internal: :has(.hit ~ .after) after indirect sibling class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-internal: :has(.hit:first-child) after first descendant class change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-internal: :has(.hit:first-child) after first descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-internal: :has(.hit:last-child) after last descendant class change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-internal: :has(.hit:last-child) after last descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-internal: :has(.hit:only-child) after only descendant class change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-internal: :has(.hit:only-child) after only descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-internal: :has(.hit:nth-child(2)) after second descendant class change | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-internal: :has(.hit:nth-child(2)) after second descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-internal: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-internal: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-internal: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-internal: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-host-internal: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-internal: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant attribute stress detached-pseudo: part-shadow-host-internal: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-internal: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: part-shadow-host-internal: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-internal: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has(.hit) after descendant class change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has(.hit) after descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has(.HIT) after matching uppercase descendant class change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has(.HIT) after matching uppercase descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has([data-hit]) after descendant attribute change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has([data-hit]) after descendant attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has(#hit-id) after descendant id change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has(#hit-id) after descendant id change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has(span.hit:not(.miss)) after descendant compound change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has(span.hit:not(.miss)) after descendant compound change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has(:is(.hit)) after descendant class change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has(:is(.hit)) after descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has(.hit) becomes false after descendant class removal | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has(.hit) becomes false after descendant class removal | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has(.hit.extra) after descendant second class change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has(.hit.extra) after descendant second class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has(.hit) becomes false after descendant className clear | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has(.hit) becomes false after descendant className clear | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has([data-hit^='ye']) after descendant prefix attribute change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has([data-hit^='ye']) after descendant prefix attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has([data-hit$='es']) after descendant suffix attribute change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has([data-hit$='es']) after descendant suffix attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has([data-hit*='e']) after descendant substring attribute change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has([data-hit*='e']) after descendant substring attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has([data-hit~='yes']) after descendant word attribute change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has([data-hit~='yes']) after descendant word attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has([data-hit|='yes']) after descendant dash attribute change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has([data-hit|='yes']) after descendant dash attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has([hidden]) after descendant hidden property change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has([hidden]) after descendant hidden property change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has(:is(.hit, [data-hit])) after descendant attribute change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has(:is(.hit, [data-hit])) after descendant attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has(:where(.hit, [data-hit])) after descendant class change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has(:where(.hit, [data-hit])) after descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has(.hit:not([data-miss])) after descendant class change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has(.hit:not([data-miss])) after descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has(.hit + .after) after descendant sibling class change | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has(.hit + .after) after descendant sibling class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has(.hit ~ .after) after indirect sibling class change | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has(.hit ~ .after) after indirect sibling class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=7, hasResultCacheHits=1, hasResultCacheMisses=6
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has(.hit:first-child) after first descendant class change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has(.hit:first-child) after first descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has(.hit:last-child) after last descendant class change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has(.hit:last-child) after last descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has(.hit:only-child) after only descendant class change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has(.hit:only-child) after only descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has(.hit:nth-child(2)) after second descendant class change | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has(.hit:nth-child(2)) after second descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has(.hit) after descendant class change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has(.hit) after descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has(.HIT) after matching uppercase descendant class change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has(.HIT) after matching uppercase descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has([data-hit]) after descendant attribute change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has([data-hit]) after descendant attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has(#hit-id) after descendant id change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has(#hit-id) after descendant id change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has(span.hit:not(.miss)) after descendant compound change | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has(span.hit:not(.miss)) after descendant compound change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has(:is(.hit)) after descendant class change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has(:is(.hit)) after descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has(.hit) becomes false after descendant class removal | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has(.hit) becomes false after descendant class removal | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has(.hit.extra) after descendant second class change | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has(.hit.extra) after descendant second class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has(.hit) becomes false after descendant className clear | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has(.hit) becomes false after descendant className clear | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has([data-hit^='ye']) after descendant prefix attribute change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has([data-hit^='ye']) after descendant prefix attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has([data-hit$='es']) after descendant suffix attribute change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has([data-hit$='es']) after descendant suffix attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has([data-hit*='e']) after descendant substring attribute change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has([data-hit*='e']) after descendant substring attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has([data-hit~='yes']) after descendant word attribute change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has([data-hit~='yes']) after descendant word attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has([data-hit|='yes']) after descendant dash attribute change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has([data-hit|='yes']) after descendant dash attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has([hidden]) after descendant hidden property change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has([hidden]) after descendant hidden property change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has(:is(.hit, [data-hit])) after descendant attribute change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has(:is(.hit, [data-hit])) after descendant attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has(:where(.hit, [data-hit])) after descendant class change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has(:where(.hit, [data-hit])) after descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has(.hit:not([data-miss])) after descendant class change | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has(.hit:not([data-miss])) after descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has(.hit + .after) after descendant sibling class change | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has(.hit + .after) after descendant sibling class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=7, hasResultCacheHits=1, hasResultCacheMisses=6
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has(.hit ~ .after) after indirect sibling class change | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has(.hit ~ .after) after indirect sibling class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=1, hasResultCacheMisses=7
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has(.hit:first-child) after first descendant class change | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has(.hit:first-child) after first descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has(.hit:last-child) after last descendant class change | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has(.hit:last-child) after last descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has(.hit:only-child) after only descendant class change | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has(.hit:only-child) after only descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has(.hit:nth-child(2)) after second descendant class change | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has(.hit:nth-child(2)) after second descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=7, hasResultCacheHits=1, hasResultCacheMisses=6
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has(.hit) after descendant class change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has(.hit) after descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has(.HIT) after matching uppercase descendant class change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has(.HIT) after matching uppercase descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has([data-hit]) after descendant attribute change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has([data-hit]) after descendant attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has(#hit-id) after descendant id change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has(#hit-id) after descendant id change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has(span.hit:not(.miss)) after descendant compound change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has(span.hit:not(.miss)) after descendant compound change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has(:is(.hit)) after descendant class change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has(:is(.hit)) after descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has(.hit) becomes false after descendant class removal | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has(.hit) becomes false after descendant class removal | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has(.hit.extra) after descendant second class change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has(.hit.extra) after descendant second class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has(.hit) becomes false after descendant className clear | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has(.hit) becomes false after descendant className clear | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has([data-hit^='ye']) after descendant prefix attribute change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has([data-hit^='ye']) after descendant prefix attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has([data-hit$='es']) after descendant suffix attribute change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has([data-hit$='es']) after descendant suffix attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has([data-hit*='e']) after descendant substring attribute change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has([data-hit*='e']) after descendant substring attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has([data-hit~='yes']) after descendant word attribute change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has([data-hit~='yes']) after descendant word attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has([data-hit|='yes']) after descendant dash attribute change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has([data-hit|='yes']) after descendant dash attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has([hidden]) after descendant hidden property change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has([hidden]) after descendant hidden property change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has(:is(.hit, [data-hit])) after descendant attribute change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has(:is(.hit, [data-hit])) after descendant attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has(:where(.hit, [data-hit])) after descendant class change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has(:where(.hit, [data-hit])) after descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has(.hit:not([data-miss])) after descendant class change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has(.hit:not([data-miss])) after descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has(.hit + .after) after descendant sibling class change | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has(.hit + .after) after descendant sibling class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has(.hit ~ .after) after indirect sibling class change | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has(.hit ~ .after) after indirect sibling class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has(.hit:first-child) after first descendant class change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has(.hit:first-child) after first descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has(.hit:last-child) after last descendant class change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has(.hit:last-child) after last descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has(.hit:only-child) after only descendant class change | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has(.hit:only-child) after only descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has(.hit:nth-child(2)) after second descendant class change | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has(.hit:nth-child(2)) after second descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: part-shadow-ancestor: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-ancestor: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has(.hit) after descendant class change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has(.hit) after descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has(.HIT) after matching uppercase descendant class change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has(.HIT) after matching uppercase descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has([data-hit]) after descendant attribute change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has([data-hit]) after descendant attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has(#hit-id) after descendant id change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has(#hit-id) after descendant id change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has(span.hit:not(.miss)) after descendant compound change | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has(span.hit:not(.miss)) after descendant compound change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has(:is(.hit)) after descendant class change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has(:is(.hit)) after descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has(.hit) becomes false after descendant class removal | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has(.hit) becomes false after descendant class removal | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has(.hit.extra) after descendant second class change | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has(.hit.extra) after descendant second class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has(.hit) becomes false after descendant className clear | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has(.hit) becomes false after descendant className clear | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has([data-hit^='ye']) after descendant prefix attribute change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has([data-hit^='ye']) after descendant prefix attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has([data-hit$='es']) after descendant suffix attribute change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has([data-hit$='es']) after descendant suffix attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has([data-hit*='e']) after descendant substring attribute change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has([data-hit*='e']) after descendant substring attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has([data-hit~='yes']) after descendant word attribute change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has([data-hit~='yes']) after descendant word attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has([data-hit|='yes']) after descendant dash attribute change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has([data-hit|='yes']) after descendant dash attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has([hidden]) after descendant hidden property change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has([hidden]) after descendant hidden property change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has(:is(.hit, [data-hit])) after descendant attribute change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has(:is(.hit, [data-hit])) after descendant attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has(:where(.hit, [data-hit])) after descendant class change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has(:where(.hit, [data-hit])) after descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has(.hit:not([data-miss])) after descendant class change | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has(.hit:not([data-miss])) after descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has(.hit + .after) after descendant sibling class change | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has(.hit + .after) after descendant sibling class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has(.hit ~ .after) after indirect sibling class change | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has(.hit ~ .after) after indirect sibling class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has(.hit:first-child) after first descendant class change | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has(.hit:first-child) after first descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has(.hit:last-child) after last descendant class change | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has(.hit:last-child) after last descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has(.hit:only-child) after only descendant class change | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has(.hit:only-child) after only descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has(.hit:nth-child(2)) after second descendant class change | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has(.hit:nth-child(2)) after second descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress detached-pseudo: part-shadow-host-ancestor: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress detached-pseudo-cold: part-shadow-host-ancestor: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1

View file

@ -1,432 +1,432 @@
PASS: descendant attribute stress pseudo-warm: part-document: :has(.hit) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-document: :has(.hit) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-document: :has(.HIT) after matching uppercase descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-document: :has(.HIT) after matching uppercase descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-document: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress pseudo-cold: part-document: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress pseudo-warm: part-document: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress pseudo-cold: part-document: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress pseudo-warm: part-document: :has([data-hit]) after descendant attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-document: :has([data-hit]) after descendant attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-document: :has(#hit-id) after descendant id change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-document: :has(#hit-id) after descendant id change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-document: :has(span.hit:not(.miss)) after descendant compound change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-document: :has(span.hit:not(.miss)) after descendant compound change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-document: :has(.hit) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-document: :has(.hit) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-document: :has(.HIT) after matching uppercase descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-document: :has(.HIT) after matching uppercase descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-document: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-document: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-document: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-document: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-document: :has([data-hit]) after descendant attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-document: :has([data-hit]) after descendant attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-document: :has(#hit-id) after descendant id change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-document: :has(#hit-id) after descendant id change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-document: :has(span.hit:not(.miss)) after descendant compound change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-document: :has(span.hit:not(.miss)) after descendant compound change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-document: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-document: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-document: :has(:is(.hit)) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-document: :has(:is(.hit)) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-document: :has(.hit) becomes false after descendant class removal | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-document: :has(:is(.hit)) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-document: :has(:is(.hit)) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-document: :has(.hit) becomes false after descendant class removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-document: :has(.hit) becomes false after descendant class removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-document: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-document: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-document: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-document: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-document: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-document: :has(.hit.extra) after descendant second class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-document: :has(.hit.extra) after descendant second class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-document: :has(.hit) becomes false after descendant className clear | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-document: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-document: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-document: :has(.hit.extra) after descendant second class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-document: :has(.hit.extra) after descendant second class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-document: :has(.hit) becomes false after descendant className clear | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-document: :has(.hit) becomes false after descendant className clear | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-document: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-document: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-document: :has([data-hit^='ye']) after descendant prefix attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-document: :has([data-hit^='ye']) after descendant prefix attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-document: :has([data-hit$='es']) after descendant suffix attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-document: :has([data-hit$='es']) after descendant suffix attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-document: :has([data-hit*='e']) after descendant substring attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-document: :has([data-hit*='e']) after descendant substring attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-document: :has([data-hit~='yes']) after descendant word attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-document: :has([data-hit~='yes']) after descendant word attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-document: :has([data-hit|='yes']) after descendant dash attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-document: :has([data-hit|='yes']) after descendant dash attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-document: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-document: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-document: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-document: :has([data-hit^='ye']) after descendant prefix attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-document: :has([data-hit^='ye']) after descendant prefix attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-document: :has([data-hit$='es']) after descendant suffix attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-document: :has([data-hit$='es']) after descendant suffix attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-document: :has([data-hit*='e']) after descendant substring attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-document: :has([data-hit*='e']) after descendant substring attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-document: :has([data-hit~='yes']) after descendant word attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-document: :has([data-hit~='yes']) after descendant word attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-document: :has([data-hit|='yes']) after descendant dash attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-document: :has([data-hit|='yes']) after descendant dash attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-document: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-document: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-document: :has([hidden]) after descendant hidden property change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-document: :has([hidden]) after descendant hidden property change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-document: :has(:is(.hit, [data-hit])) after descendant attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-document: :has(:is(.hit, [data-hit])) after descendant attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-document: :has(:where(.hit, [data-hit])) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-document: :has(:where(.hit, [data-hit])) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-document: :has(.hit:not([data-miss])) after descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-document: :has(.hit:not([data-miss])) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-document: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-document: :has([hidden]) after descendant hidden property change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-document: :has([hidden]) after descendant hidden property change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-document: :has(:is(.hit, [data-hit])) after descendant attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-document: :has(:is(.hit, [data-hit])) after descendant attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-document: :has(:where(.hit, [data-hit])) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-document: :has(:where(.hit, [data-hit])) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-document: :has(.hit:not([data-miss])) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-document: :has(.hit:not([data-miss])) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-document: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-document: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-document: :has(.hit + .after) after descendant sibling class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-document: :has(.hit + .after) after descendant sibling class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-document: :has(.hit ~ .after) after indirect sibling class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=0, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-cold: part-document: :has(.hit ~ .after) after indirect sibling class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=0, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-document: :has(.hit:first-child) after first descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-document: :has(.hit:first-child) after first descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-document: :has(.hit:last-child) after last descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-document: :has(.hit:last-child) after last descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-document: :has(.hit:only-child) after only descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-document: :has(.hit:only-child) after only descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-document: :has(.hit:nth-child(2)) after second descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-document: :has(.hit:nth-child(2)) after second descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-document: :has(.hit + .after) after descendant sibling class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-document: :has(.hit + .after) after descendant sibling class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-document: :has(.hit ~ .after) after indirect sibling class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-document: :has(.hit ~ .after) after indirect sibling class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-document: :has(.hit:first-child) after first descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-document: :has(.hit:first-child) after first descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-document: :has(.hit:last-child) after last descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-document: :has(.hit:last-child) after last descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-document: :has(.hit:only-child) after only descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-document: :has(.hit:only-child) after only descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-document: :has(.hit:nth-child(2)) after second descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-document: :has(.hit:nth-child(2)) after second descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-document: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-document: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-document: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-document: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-document: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-document: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-document: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-document: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-document: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-document: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-document: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has(.hit) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has(.hit) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has(.HIT) after matching uppercase descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has(.HIT) after matching uppercase descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has([data-hit]) after descendant attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has([data-hit]) after descendant attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has(#hit-id) after descendant id change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has(#hit-id) after descendant id change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has(span.hit:not(.miss)) after descendant compound change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has(span.hit:not(.miss)) after descendant compound change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has(:is(.hit)) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has(:is(.hit)) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has(.hit) becomes false after descendant class removal | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has(.hit) becomes false after descendant class removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has(.hit.extra) after descendant second class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has(.hit.extra) after descendant second class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has(.hit) becomes false after descendant className clear | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has(.hit) becomes false after descendant className clear | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has([data-hit^='ye']) after descendant prefix attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has([data-hit^='ye']) after descendant prefix attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has([data-hit$='es']) after descendant suffix attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has([data-hit$='es']) after descendant suffix attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has([data-hit*='e']) after descendant substring attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has([data-hit*='e']) after descendant substring attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has([data-hit~='yes']) after descendant word attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has([data-hit~='yes']) after descendant word attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has([data-hit|='yes']) after descendant dash attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has([data-hit|='yes']) after descendant dash attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has([hidden]) after descendant hidden property change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has([hidden]) after descendant hidden property change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has(:is(.hit, [data-hit])) after descendant attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has(:is(.hit, [data-hit])) after descendant attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has(:where(.hit, [data-hit])) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has(:where(.hit, [data-hit])) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has(.hit:not([data-miss])) after descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has(.hit:not([data-miss])) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has(.hit + .after) after descendant sibling class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has(.hit + .after) after descendant sibling class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=0, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has(.hit ~ .after) after indirect sibling class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=0, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has(.hit ~ .after) after indirect sibling class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=0, hasResultCacheMisses=6
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has(.hit:first-child) after first descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has(.hit:first-child) after first descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has(.hit:last-child) after last descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has(.hit:last-child) after last descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has(.hit:only-child) after only descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has(.hit:only-child) after only descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has(.hit:nth-child(2)) after second descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has(.hit:nth-child(2)) after second descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=0, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has(.hit) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has(.hit) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has(.HIT) after matching uppercase descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has(.HIT) after matching uppercase descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has([data-hit]) after descendant attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has([data-hit]) after descendant attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has(#hit-id) after descendant id change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has(#hit-id) after descendant id change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has(span.hit:not(.miss)) after descendant compound change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has(span.hit:not(.miss)) after descendant compound change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has(:is(.hit)) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has(:is(.hit)) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has(.hit) becomes false after descendant class removal | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has(.hit) becomes false after descendant class removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has(.hit.extra) after descendant second class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has(.hit.extra) after descendant second class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has(.hit) becomes false after descendant className clear | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has(.hit) becomes false after descendant className clear | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has([data-hit^='ye']) after descendant prefix attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has([data-hit^='ye']) after descendant prefix attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has([data-hit$='es']) after descendant suffix attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has([data-hit$='es']) after descendant suffix attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has([data-hit*='e']) after descendant substring attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has([data-hit*='e']) after descendant substring attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has([data-hit~='yes']) after descendant word attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has([data-hit~='yes']) after descendant word attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has([data-hit|='yes']) after descendant dash attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has([data-hit|='yes']) after descendant dash attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has([hidden]) after descendant hidden property change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has([hidden]) after descendant hidden property change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has(:is(.hit, [data-hit])) after descendant attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has(:is(.hit, [data-hit])) after descendant attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has(:where(.hit, [data-hit])) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has(:where(.hit, [data-hit])) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has(.hit:not([data-miss])) after descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has(.hit:not([data-miss])) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has(.hit + .after) after descendant sibling class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has(.hit + .after) after descendant sibling class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=10, hasResultCacheHits=5, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has(.hit ~ .after) after indirect sibling class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=10, hasResultCacheHits=5, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has(.hit ~ .after) after indirect sibling class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=12, hasResultCacheHits=6, hasResultCacheMisses=6
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has(.hit:first-child) after first descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has(.hit:first-child) after first descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has(.hit:last-child) after last descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has(.hit:last-child) after last descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has(.hit:only-child) after only descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has(.hit:only-child) after only descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has(.hit:nth-child(2)) after second descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has(.hit:nth-child(2)) after second descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=10, hasResultCacheHits=5, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has(.hit) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has(.hit) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has(.HIT) after matching uppercase descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has(.HIT) after matching uppercase descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has([data-hit]) after descendant attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has([data-hit]) after descendant attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has(#hit-id) after descendant id change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has(#hit-id) after descendant id change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has(span.hit:not(.miss)) after descendant compound change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has(span.hit:not(.miss)) after descendant compound change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has(:is(.hit)) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has(:is(.hit)) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has(.hit) becomes false after descendant class removal | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has(.hit) becomes false after descendant class removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has(.hit.extra) after descendant second class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has(.hit.extra) after descendant second class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has(.hit) becomes false after descendant className clear | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has(.hit) becomes false after descendant className clear | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has([data-hit^='ye']) after descendant prefix attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has([data-hit^='ye']) after descendant prefix attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has([data-hit$='es']) after descendant suffix attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has([data-hit$='es']) after descendant suffix attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has([data-hit*='e']) after descendant substring attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has([data-hit*='e']) after descendant substring attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has([data-hit~='yes']) after descendant word attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has([data-hit~='yes']) after descendant word attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has([data-hit|='yes']) after descendant dash attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has([data-hit|='yes']) after descendant dash attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has([hidden]) after descendant hidden property change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has([hidden]) after descendant hidden property change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has(:is(.hit, [data-hit])) after descendant attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has(:is(.hit, [data-hit])) after descendant attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has(:where(.hit, [data-hit])) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has(:where(.hit, [data-hit])) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has(.hit:not([data-miss])) after descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has(.hit:not([data-miss])) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has(.hit + .after) after descendant sibling class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has(.hit + .after) after descendant sibling class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=11, hasResultCacheHits=5, hasResultCacheMisses=6
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has(.hit ~ .after) after indirect sibling class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=10, hasResultCacheHits=5, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has(.hit ~ .after) after indirect sibling class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=13, hasResultCacheHits=6, hasResultCacheMisses=7
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has(.hit:first-child) after first descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has(.hit:first-child) after first descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has(.hit:last-child) after last descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has(.hit:last-child) after last descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has(.hit:only-child) after only descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has(.hit:only-child) after only descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has(.hit:nth-child(2)) after second descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has(.hit:nth-child(2)) after second descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=11, hasResultCacheHits=5, hasResultCacheMisses=6
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has(.hit) after descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has(.hit) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has(.HIT) after matching uppercase descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has(.HIT) after matching uppercase descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has([data-hit]) after descendant attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has([data-hit]) after descendant attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has(#hit-id) after descendant id change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has(#hit-id) after descendant id change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has(span.hit:not(.miss)) after descendant compound change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has(span.hit:not(.miss)) after descendant compound change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has(:is(.hit)) after descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has(:is(.hit)) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has(.hit) becomes false after descendant class removal | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has(.hit) becomes false after descendant class removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has(.hit.extra) after descendant second class change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has(.hit.extra) after descendant second class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has(.hit) becomes false after descendant className clear | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has(.hit) becomes false after descendant className clear | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has([data-hit^='ye']) after descendant prefix attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has([data-hit^='ye']) after descendant prefix attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has([data-hit$='es']) after descendant suffix attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has([data-hit$='es']) after descendant suffix attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has([data-hit*='e']) after descendant substring attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has([data-hit*='e']) after descendant substring attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has([data-hit~='yes']) after descendant word attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has([data-hit~='yes']) after descendant word attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has([data-hit|='yes']) after descendant dash attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has([data-hit|='yes']) after descendant dash attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has([hidden]) after descendant hidden property change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has([hidden]) after descendant hidden property change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has(:is(.hit, [data-hit])) after descendant attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has(:is(.hit, [data-hit])) after descendant attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has(:where(.hit, [data-hit])) after descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has(:where(.hit, [data-hit])) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has(.hit:not([data-miss])) after descendant class change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has(.hit:not([data-miss])) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has(.hit + .after) after descendant sibling class change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has(.hit + .after) after descendant sibling class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has(.hit ~ .after) after indirect sibling class change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=7, hasResultCacheHits=1, hasResultCacheMisses=6
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has(.hit ~ .after) after indirect sibling class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=7, hasResultCacheHits=1, hasResultCacheMisses=6
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has(.hit:first-child) after first descendant class change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has(.hit:first-child) after first descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has(.hit:last-child) after last descendant class change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has(.hit:last-child) after last descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has(.hit:only-child) after only descendant class change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has(.hit:only-child) after only descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has(.hit:nth-child(2)) after second descendant class change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has(.hit:nth-child(2)) after second descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has(.hit) after descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has(.hit) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has(.HIT) after matching uppercase descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has(.HIT) after matching uppercase descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has([data-hit]) after descendant attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has([data-hit]) after descendant attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has(#hit-id) after descendant id change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has(#hit-id) after descendant id change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has(span.hit:not(.miss)) after descendant compound change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has(span.hit:not(.miss)) after descendant compound change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has(:is(.hit)) after descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has(:is(.hit)) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has(.hit) becomes false after descendant class removal | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has(.hit) becomes false after descendant class removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has(.hit.extra) after descendant second class change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has(.hit.extra) after descendant second class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has(.hit) becomes false after descendant className clear | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has(.hit) becomes false after descendant className clear | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has([data-hit^='ye']) after descendant prefix attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has([data-hit^='ye']) after descendant prefix attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has([data-hit$='es']) after descendant suffix attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has([data-hit$='es']) after descendant suffix attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has([data-hit*='e']) after descendant substring attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has([data-hit*='e']) after descendant substring attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has([data-hit~='yes']) after descendant word attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has([data-hit~='yes']) after descendant word attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has([data-hit|='yes']) after descendant dash attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has([data-hit|='yes']) after descendant dash attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has([hidden]) after descendant hidden property change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has([hidden]) after descendant hidden property change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has(:is(.hit, [data-hit])) after descendant attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has(:is(.hit, [data-hit])) after descendant attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has(:where(.hit, [data-hit])) after descendant class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has(:where(.hit, [data-hit])) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has(.hit:not([data-miss])) after descendant class change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has(.hit:not([data-miss])) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has(.hit + .after) after descendant sibling class change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has(.hit + .after) after descendant sibling class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=7, hasResultCacheHits=1, hasResultCacheMisses=6
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has(.hit ~ .after) after indirect sibling class change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=7, hasResultCacheHits=1, hasResultCacheMisses=6
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has(.hit ~ .after) after indirect sibling class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=1, hasResultCacheMisses=7
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has(.hit:first-child) after first descendant class change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has(.hit:first-child) after first descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has(.hit:last-child) after last descendant class change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has(.hit:last-child) after last descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has(.hit:only-child) after only descendant class change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has(.hit:only-child) after only descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has(.hit:nth-child(2)) after second descendant class change | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has(.hit:nth-child(2)) after second descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=7, hasResultCacheHits=1, hasResultCacheMisses=6
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant attribute stress pseudo-warm: part-document: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-document: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has(.hit) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has(.hit) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has(.HIT) after matching uppercase descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has(.HIT) after matching uppercase descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has([data-hit]) after descendant attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has([data-hit]) after descendant attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has(#hit-id) after descendant id change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has(#hit-id) after descendant id change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has(span.hit:not(.miss)) after descendant compound change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has(span.hit:not(.miss)) after descendant compound change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has(:is(.hit)) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has(:is(.hit)) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has(.hit) becomes false after descendant class removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has(.hit) becomes false after descendant class removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has(.hit.extra) after descendant second class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has(.hit.extra) after descendant second class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has(.hit) becomes false after descendant className clear | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has(.hit) becomes false after descendant className clear | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has([data-hit^='ye']) after descendant prefix attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has([data-hit^='ye']) after descendant prefix attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has([data-hit$='es']) after descendant suffix attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has([data-hit$='es']) after descendant suffix attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has([data-hit*='e']) after descendant substring attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has([data-hit*='e']) after descendant substring attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has([data-hit~='yes']) after descendant word attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has([data-hit~='yes']) after descendant word attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has([data-hit|='yes']) after descendant dash attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has([data-hit|='yes']) after descendant dash attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has([hidden]) after descendant hidden property change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has([hidden]) after descendant hidden property change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has(:is(.hit, [data-hit])) after descendant attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has(:is(.hit, [data-hit])) after descendant attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has(:where(.hit, [data-hit])) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has(:where(.hit, [data-hit])) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has(.hit:not([data-miss])) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has(.hit:not([data-miss])) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has(.hit + .after) after descendant sibling class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has(.hit + .after) after descendant sibling class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has(.hit ~ .after) after indirect sibling class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has(.hit ~ .after) after indirect sibling class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has(.hit:first-child) after first descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has(.hit:first-child) after first descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has(.hit:last-child) after last descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has(.hit:last-child) after last descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has(.hit:only-child) after only descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has(.hit:only-child) after only descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has(.hit:nth-child(2)) after second descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has(.hit:nth-child(2)) after second descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-shadow-host-document: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-document: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has(.hit) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has(.hit) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has(.HIT) after matching uppercase descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has(.HIT) after matching uppercase descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has([data-hit]) after descendant attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has([data-hit]) after descendant attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has(#hit-id) after descendant id change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has(#hit-id) after descendant id change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has(span.hit:not(.miss)) after descendant compound change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has(span.hit:not(.miss)) after descendant compound change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has(:is(.hit)) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has(:is(.hit)) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has(.hit) becomes false after descendant class removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has(.hit) becomes false after descendant class removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has(.hit.extra) after descendant second class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has(.hit.extra) after descendant second class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has(.hit) becomes false after descendant className clear | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has(.hit) becomes false after descendant className clear | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has([data-hit^='ye']) after descendant prefix attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has([data-hit^='ye']) after descendant prefix attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has([data-hit$='es']) after descendant suffix attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has([data-hit$='es']) after descendant suffix attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has([data-hit*='e']) after descendant substring attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has([data-hit*='e']) after descendant substring attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has([data-hit~='yes']) after descendant word attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has([data-hit~='yes']) after descendant word attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has([data-hit|='yes']) after descendant dash attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has([data-hit|='yes']) after descendant dash attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has([hidden]) after descendant hidden property change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has([hidden]) after descendant hidden property change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has(:is(.hit, [data-hit])) after descendant attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has(:is(.hit, [data-hit])) after descendant attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has(:where(.hit, [data-hit])) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has(:where(.hit, [data-hit])) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has(.hit:not([data-miss])) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has(.hit:not([data-miss])) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has(.hit + .after) after descendant sibling class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has(.hit + .after) after descendant sibling class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has(.hit ~ .after) after indirect sibling class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has(.hit ~ .after) after indirect sibling class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has(.hit:first-child) after first descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has(.hit:first-child) after first descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has(.hit:last-child) after last descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has(.hit:last-child) after last descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has(.hit:only-child) after only descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has(.hit:only-child) after only descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has(.hit:nth-child(2)) after second descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has(.hit:nth-child(2)) after second descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-shadow-internal: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-internal: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has(.hit) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has(.hit) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has(.HIT) after matching uppercase descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has(.HIT) after matching uppercase descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has([data-hit]) after descendant attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has([data-hit]) after descendant attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has(#hit-id) after descendant id change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has(#hit-id) after descendant id change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has(span.hit:not(.miss)) after descendant compound change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has(span.hit:not(.miss)) after descendant compound change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has(:is(.hit)) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has(:is(.hit)) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has(.hit) becomes false after descendant class removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has(.hit) becomes false after descendant class removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has(.hit.extra) after descendant second class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has(.hit.extra) after descendant second class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has(.hit) becomes false after descendant className clear | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has(.hit) becomes false after descendant className clear | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has([data-hit^='ye']) after descendant prefix attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has([data-hit^='ye']) after descendant prefix attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has([data-hit$='es']) after descendant suffix attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has([data-hit$='es']) after descendant suffix attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has([data-hit*='e']) after descendant substring attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has([data-hit*='e']) after descendant substring attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has([data-hit~='yes']) after descendant word attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has([data-hit~='yes']) after descendant word attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has([data-hit|='yes']) after descendant dash attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has([data-hit|='yes']) after descendant dash attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has([hidden]) after descendant hidden property change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has([hidden]) after descendant hidden property change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has(:is(.hit, [data-hit])) after descendant attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has(:is(.hit, [data-hit])) after descendant attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has(:where(.hit, [data-hit])) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has(:where(.hit, [data-hit])) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has(.hit:not([data-miss])) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has(.hit:not([data-miss])) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has(.hit + .after) after descendant sibling class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has(.hit + .after) after descendant sibling class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has(.hit ~ .after) after indirect sibling class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has(.hit ~ .after) after indirect sibling class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has(.hit:first-child) after first descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has(.hit:first-child) after first descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has(.hit:last-child) after last descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has(.hit:last-child) after last descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has(.hit:only-child) after only descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has(.hit:only-child) after only descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has(.hit:nth-child(2)) after second descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has(.hit:nth-child(2)) after second descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-shadow-host-internal: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-internal: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has(.hit) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has(.hit) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has(.HIT) after matching uppercase descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has(.HIT) after matching uppercase descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has([data-hit]) after descendant attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has([data-hit]) after descendant attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has(#hit-id) after descendant id change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has(#hit-id) after descendant id change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has(span.hit:not(.miss)) after descendant compound change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has(span.hit:not(.miss)) after descendant compound change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has(:is(.hit)) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has(:is(.hit)) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has(.hit) becomes false after descendant class removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has(.hit) becomes false after descendant class removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has(.hit.extra) after descendant second class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has(.hit.extra) after descendant second class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has(.hit) becomes false after descendant className clear | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has(.hit) becomes false after descendant className clear | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has([data-hit^='ye']) after descendant prefix attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has([data-hit^='ye']) after descendant prefix attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has([data-hit$='es']) after descendant suffix attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has([data-hit$='es']) after descendant suffix attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has([data-hit*='e']) after descendant substring attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has([data-hit*='e']) after descendant substring attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has([data-hit~='yes']) after descendant word attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has([data-hit~='yes']) after descendant word attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has([data-hit|='yes']) after descendant dash attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has([data-hit|='yes']) after descendant dash attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has([hidden]) after descendant hidden property change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has([hidden]) after descendant hidden property change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has(:is(.hit, [data-hit])) after descendant attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has(:is(.hit, [data-hit])) after descendant attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has(:where(.hit, [data-hit])) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has(:where(.hit, [data-hit])) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has(.hit:not([data-miss])) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has(.hit:not([data-miss])) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has(.hit + .after) after descendant sibling class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has(.hit + .after) after descendant sibling class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has(.hit ~ .after) after indirect sibling class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has(.hit ~ .after) after indirect sibling class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has(.hit:first-child) after first descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has(.hit:first-child) after first descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has(.hit:last-child) after last descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has(.hit:last-child) after last descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has(.hit:only-child) after only descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has(.hit:only-child) after only descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has(.hit:nth-child(2)) after second descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has(.hit:nth-child(2)) after second descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-shadow-ancestor: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-ancestor: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has(.hit) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has(.hit) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has(.HIT) after matching uppercase descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has(.HIT) after matching uppercase descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has([data-hit]) after descendant attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has([data-hit]) after descendant attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has(#hit-id) after descendant id change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has(#hit-id) after descendant id change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has(span.hit:not(.miss)) after descendant compound change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has(span.hit:not(.miss)) after descendant compound change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has(:is(.hit)) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has(:is(.hit)) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has(.hit) becomes false after descendant class removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has(.hit) becomes false after descendant class removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has(.hit.extra) after descendant second class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has(.hit.extra) after descendant second class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has(.hit) becomes false after descendant className clear | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has(.hit) becomes false after descendant className clear | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has([data-hit^='ye']) after descendant prefix attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has([data-hit^='ye']) after descendant prefix attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has([data-hit$='es']) after descendant suffix attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has([data-hit$='es']) after descendant suffix attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has([data-hit*='e']) after descendant substring attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has([data-hit*='e']) after descendant substring attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has([data-hit~='yes']) after descendant word attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has([data-hit~='yes']) after descendant word attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has([data-hit|='yes']) after descendant dash attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has([data-hit|='yes']) after descendant dash attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has([hidden]) after descendant hidden property change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has([hidden]) after descendant hidden property change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has(:is(.hit, [data-hit])) after descendant attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has(:is(.hit, [data-hit])) after descendant attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has(:where(.hit, [data-hit])) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has(:where(.hit, [data-hit])) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has(.hit:not([data-miss])) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has(.hit:not([data-miss])) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has(.hit + .after) after descendant sibling class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has(.hit + .after) after descendant sibling class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has(.hit ~ .after) after indirect sibling class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has(.hit ~ .after) after indirect sibling class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has(.hit:first-child) after first descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has(.hit:first-child) after first descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has(.hit:last-child) after last descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has(.hit:last-child) after last descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has(.hit:only-child) after only descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has(.hit:only-child) after only descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has(.hit:nth-child(2)) after second descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has(.hit:nth-child(2)) after second descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-warm: part-shadow-host-ancestor: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: part-shadow-host-ancestor: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2

View file

@ -1,19 +1,19 @@
PASS: descendant state stress detached-pseudo: document: :has(:checked) after checkbox checked | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: document: :has(:checked) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: document: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: document: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: document: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo-cold: document: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo: document: :has(:required) after input required | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: document: :has(:required) after input required | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: document: :has(:optional) becomes false after input required | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: document: :has(:optional) becomes false after input required | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: document: :has(:optional) becomes false after input required | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo-cold: document: :has(:optional) becomes false after input required | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo: document: :has(:disabled) after input disabled | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: document: :has(:disabled) after input disabled | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: document: :has(:enabled) becomes false after input disabled | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: document: :has(:enabled) becomes false after input disabled | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: document: :has(:enabled) becomes false after input disabled | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo-cold: document: :has(:enabled) becomes false after input disabled | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo: document: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: document: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: document: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: document: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: document: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo-cold: document: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo: document: :has(:checked:first-child) after first checkbox checked | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: document: :has(:checked:first-child) after first checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: document: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -22,28 +22,28 @@ PASS: descendant state stress detached-pseudo: document: :has(:checked + .after)
PASS: descendant state stress detached-pseudo-cold: document: :has(:checked + .after) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: document: :has(:checked ~ .after) after checkbox checked | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: document: :has(:checked ~ .after) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: document: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: document: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: document: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo-cold: document: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo: document: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: document: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: document: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress detached-pseudo-cold: document: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress detached-pseudo: document-styled-use-shadow: :has(:checked) after checkbox checked | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo-cold: document-styled-use-shadow: :has(:checked) after checkbox checked | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo: document-styled-use-shadow: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo-cold: document-styled-use-shadow: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo: document-styled-use-shadow: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress detached-pseudo-cold: document-styled-use-shadow: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress detached-pseudo: document-styled-use-shadow: :has(:required) after input required | styleInvalidations=15, fullStyleInvalidations=0, elementStyleRecomputations=12, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo-cold: document-styled-use-shadow: :has(:required) after input required | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=12, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo: document-styled-use-shadow: :has(:optional) becomes false after input required | styleInvalidations=15, fullStyleInvalidations=0, elementStyleRecomputations=12, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo-cold: document-styled-use-shadow: :has(:optional) becomes false after input required | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=12, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo: document-styled-use-shadow: :has(:optional) becomes false after input required | styleInvalidations=15, fullStyleInvalidations=0, elementStyleRecomputations=12, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress detached-pseudo-cold: document-styled-use-shadow: :has(:optional) becomes false after input required | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=12, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress detached-pseudo: document-styled-use-shadow: :has(:disabled) after input disabled | styleInvalidations=15, fullStyleInvalidations=0, elementStyleRecomputations=12, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo-cold: document-styled-use-shadow: :has(:disabled) after input disabled | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=12, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo: document-styled-use-shadow: :has(:enabled) becomes false after input disabled | styleInvalidations=15, fullStyleInvalidations=0, elementStyleRecomputations=12, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo-cold: document-styled-use-shadow: :has(:enabled) becomes false after input disabled | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=12, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo: document-styled-use-shadow: :has(:enabled) becomes false after input disabled | styleInvalidations=15, fullStyleInvalidations=0, elementStyleRecomputations=12, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress detached-pseudo-cold: document-styled-use-shadow: :has(:enabled) becomes false after input disabled | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=12, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress detached-pseudo: document-styled-use-shadow: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=15, fullStyleInvalidations=0, elementStyleRecomputations=12, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo-cold: document-styled-use-shadow: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=12, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo: document-styled-use-shadow: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=16, fullStyleInvalidations=0, elementStyleRecomputations=12, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo-cold: document-styled-use-shadow: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=12, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo: document-styled-use-shadow: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=16, fullStyleInvalidations=0, elementStyleRecomputations=12, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress detached-pseudo-cold: document-styled-use-shadow: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=12, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress detached-pseudo: document-styled-use-shadow: :has(:checked:first-child) after first checkbox checked | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo-cold: document-styled-use-shadow: :has(:checked:first-child) after first checkbox checked | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo: document-styled-use-shadow: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
@ -52,8 +52,8 @@ PASS: descendant state stress detached-pseudo: document-styled-use-shadow: :has(
PASS: descendant state stress detached-pseudo-cold: document-styled-use-shadow: :has(:checked + .after) after checkbox checked | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo: document-styled-use-shadow: :has(:checked ~ .after) after checkbox checked | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo-cold: document-styled-use-shadow: :has(:checked ~ .after) after checkbox checked | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo: document-styled-use-shadow: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo-cold: document-styled-use-shadow: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo: document-styled-use-shadow: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress detached-pseudo-cold: document-styled-use-shadow: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress detached-pseudo: document-styled-use-shadow: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo-cold: document-styled-use-shadow: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo: document-styled-use-shadow: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=16, fullStyleInvalidations=0, elementStyleRecomputations=13, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=5, hasResultCacheHits=0, hasResultCacheMisses=5
@ -61,19 +61,19 @@ PASS: descendant state stress detached-pseudo-cold: document-styled-use-shadow:
PASS: descendant state stress detached-pseudo: shadow-internal: :has(:checked) after checkbox checked | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: shadow-internal: :has(:checked) after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo: shadow-internal: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: shadow-internal: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: shadow-internal: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo: shadow-internal: :has(:required) after input required | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: shadow-internal: :has(:required) after input required | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: shadow-internal: :has(:optional) becomes false after input required | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: shadow-internal: :has(:optional) becomes false after input required | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: shadow-internal: :has(:optional) becomes false after input required | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo: shadow-internal: :has(:disabled) after input disabled | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: shadow-internal: :has(:disabled) after input disabled | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: shadow-internal: :has(:enabled) becomes false after input disabled | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: shadow-internal: :has(:enabled) becomes false after input disabled | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: shadow-internal: :has(:enabled) becomes false after input disabled | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo: shadow-internal: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: shadow-internal: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: shadow-internal: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=15, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: shadow-internal: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: shadow-internal: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo: shadow-internal: :has(:checked:first-child) after first checkbox checked | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: shadow-internal: :has(:checked:first-child) after first checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: shadow-internal: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
@ -90,20 +90,20 @@ PASS: descendant state stress detached-pseudo: shadow-internal: :has(:checked):h
PASS: descendant state stress detached-pseudo-cold: shadow-internal: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress detached-pseudo: shadow-host: :has(:checked) after checkbox checked | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: shadow-host: :has(:checked) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo: shadow-host: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: shadow-host: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: shadow-host: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: shadow-host: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo: shadow-host: :has(:required) after input required | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: shadow-host: :has(:required) after input required | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: shadow-host: :has(:optional) becomes false after input required | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: shadow-host: :has(:optional) becomes false after input required | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: shadow-host: :has(:optional) becomes false after input required | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: shadow-host: :has(:optional) becomes false after input required | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo: shadow-host: :has(:disabled) after input disabled | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: shadow-host: :has(:disabled) after input disabled | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: shadow-host: :has(:enabled) becomes false after input disabled | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: shadow-host: :has(:enabled) becomes false after input disabled | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: shadow-host: :has(:enabled) becomes false after input disabled | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: shadow-host: :has(:enabled) becomes false after input disabled | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo: shadow-host: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: shadow-host: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: shadow-host: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=15, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: shadow-host: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: shadow-host: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=15, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: shadow-host: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo: shadow-host: :has(:checked:first-child) after first checkbox checked | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: shadow-host: :has(:checked:first-child) after first checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: shadow-host: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
@ -112,189 +112,189 @@ PASS: descendant state stress detached-pseudo: shadow-host: :has(:checked + .aft
PASS: descendant state stress detached-pseudo-cold: shadow-host: :has(:checked + .after) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: shadow-host: :has(:checked ~ .after) after checkbox checked | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: shadow-host: :has(:checked ~ .after) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: shadow-host: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: shadow-host: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo: shadow-host: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: shadow-host: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: shadow-host: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: shadow-host: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo: shadow-host: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=15, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: shadow-host: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress detached-pseudo: part-document: :has(:checked) after checkbox checked | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo-cold: part-document: :has(:checked) after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo: part-document: :has(:checked) after checkbox checked | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-document: :has(:checked) after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: part-document: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo-cold: part-document: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo: part-document: :has(:required) after input required | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=0, hasResultCacheMisses=5
PASS: descendant state stress detached-pseudo-cold: part-document: :has(:required) after input required | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=0, hasResultCacheMisses=5
PASS: descendant state stress detached-pseudo: part-document: :has(:optional) becomes false after input required | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=0, hasResultCacheMisses=5
PASS: descendant state stress detached-pseudo-cold: part-document: :has(:optional) becomes false after input required | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=0, hasResultCacheMisses=5
PASS: descendant state stress detached-pseudo: part-document: :has(:disabled) after input disabled | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=0, hasResultCacheMisses=5
PASS: descendant state stress detached-pseudo-cold: part-document: :has(:disabled) after input disabled | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=0, hasResultCacheMisses=5
PASS: descendant state stress detached-pseudo: part-document: :has(:enabled) becomes false after input disabled | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=0, hasResultCacheMisses=5
PASS: descendant state stress detached-pseudo-cold: part-document: :has(:enabled) becomes false after input disabled | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=0, hasResultCacheMisses=5
PASS: descendant state stress detached-pseudo: part-document: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=0, hasResultCacheMisses=5
PASS: descendant state stress detached-pseudo-cold: part-document: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=0, hasResultCacheMisses=5
PASS: descendant state stress detached-pseudo: part-document: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=0, hasResultCacheMisses=5
PASS: descendant state stress detached-pseudo-cold: part-document: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=0, hasResultCacheMisses=5
PASS: descendant state stress detached-pseudo: part-document: :has(:checked:first-child) after first checkbox checked | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo-cold: part-document: :has(:checked:first-child) after first checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo: part-document: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress detached-pseudo-cold: part-document: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress detached-pseudo: part-document: :has(:checked + .after) after checkbox checked | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress detached-pseudo-cold: part-document: :has(:checked + .after) after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress detached-pseudo: part-document: :has(:checked ~ .after) after checkbox checked | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=0, hasResultCacheMisses=5
PASS: descendant state stress detached-pseudo-cold: part-document: :has(:checked ~ .after) after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=0, hasResultCacheMisses=5
PASS: descendant state stress detached-pseudo: part-document: :has(:required) after input required | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-document: :has(:required) after input required | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: part-document: :has(:optional) becomes false after input required | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo-cold: part-document: :has(:optional) becomes false after input required | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo: part-document: :has(:disabled) after input disabled | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-document: :has(:disabled) after input disabled | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: part-document: :has(:enabled) becomes false after input disabled | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo-cold: part-document: :has(:enabled) becomes false after input disabled | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo: part-document: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-document: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: part-document: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo-cold: part-document: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo: part-document: :has(:checked:first-child) after first checkbox checked | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-document: :has(:checked:first-child) after first checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: part-document: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-document: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: part-document: :has(:checked + .after) after checkbox checked | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-document: :has(:checked + .after) after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: part-document: :has(:checked ~ .after) after checkbox checked | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-document: :has(:checked ~ .after) after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: part-document: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo-cold: part-document: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo: part-document: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo-cold: part-document: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo: part-document: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=8, hasResultCacheHits=0, hasResultCacheMisses=8
PASS: descendant state stress detached-pseudo-cold: part-document: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=8, hasResultCacheHits=0, hasResultCacheMisses=8
PASS: descendant state stress detached-pseudo: part-shadow-host-document: :has(:checked) after checkbox checked | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-document: :has(:checked) after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress detached-pseudo: part-shadow-host-document: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-document: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress detached-pseudo: part-shadow-host-document: :has(:required) after input required | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=0, hasResultCacheMisses=6
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-document: :has(:required) after input required | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=0, hasResultCacheMisses=6
PASS: descendant state stress detached-pseudo: part-shadow-host-document: :has(:optional) becomes false after input required | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=0, hasResultCacheMisses=6
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-document: :has(:optional) becomes false after input required | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=0, hasResultCacheMisses=6
PASS: descendant state stress detached-pseudo: part-shadow-host-document: :has(:disabled) after input disabled | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=0, hasResultCacheMisses=6
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-document: :has(:disabled) after input disabled | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=0, hasResultCacheMisses=6
PASS: descendant state stress detached-pseudo: part-shadow-host-document: :has(:enabled) becomes false after input disabled | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=0, hasResultCacheMisses=6
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-document: :has(:enabled) becomes false after input disabled | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=0, hasResultCacheMisses=6
PASS: descendant state stress detached-pseudo: part-shadow-host-document: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=0, hasResultCacheMisses=6
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-document: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=0, hasResultCacheMisses=6
PASS: descendant state stress detached-pseudo: part-shadow-host-document: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=15, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=0, hasResultCacheMisses=6
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-document: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=0, hasResultCacheMisses=6
PASS: descendant state stress detached-pseudo: part-shadow-host-document: :has(:checked:first-child) after first checkbox checked | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-document: :has(:checked:first-child) after first checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress detached-pseudo: part-shadow-host-document: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=0, hasResultCacheMisses=5
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-document: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=0, hasResultCacheMisses=5
PASS: descendant state stress detached-pseudo: part-shadow-host-document: :has(:checked + .after) after checkbox checked | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=0, hasResultCacheMisses=5
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-document: :has(:checked + .after) after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=0, hasResultCacheMisses=5
PASS: descendant state stress detached-pseudo: part-shadow-host-document: :has(:checked ~ .after) after checkbox checked | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=0, hasResultCacheMisses=6
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-document: :has(:checked ~ .after) after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=0, hasResultCacheMisses=6
PASS: descendant state stress detached-pseudo: part-shadow-host-document: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-document: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress detached-pseudo: part-shadow-host-document: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-document: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress detached-pseudo: part-shadow-host-document: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=15, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=9, hasResultCacheHits=0, hasResultCacheMisses=9
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-document: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=12, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=9, hasResultCacheHits=0, hasResultCacheMisses=9
PASS: descendant state stress detached-pseudo: part-document: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-document: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: part-document: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress detached-pseudo-cold: part-document: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress detached-pseudo: part-shadow-host-document: :has(:checked) after checkbox checked | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-document: :has(:checked) after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: part-shadow-host-document: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-document: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo: part-shadow-host-document: :has(:required) after input required | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-document: :has(:required) after input required | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: part-shadow-host-document: :has(:optional) becomes false after input required | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-document: :has(:optional) becomes false after input required | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo: part-shadow-host-document: :has(:disabled) after input disabled | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-document: :has(:disabled) after input disabled | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: part-shadow-host-document: :has(:enabled) becomes false after input disabled | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-document: :has(:enabled) becomes false after input disabled | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo: part-shadow-host-document: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-document: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: part-shadow-host-document: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=15, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-document: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo: part-shadow-host-document: :has(:checked:first-child) after first checkbox checked | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-document: :has(:checked:first-child) after first checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: part-shadow-host-document: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-document: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: part-shadow-host-document: :has(:checked + .after) after checkbox checked | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-document: :has(:checked + .after) after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: part-shadow-host-document: :has(:checked ~ .after) after checkbox checked | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-document: :has(:checked ~ .after) after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: part-shadow-host-document: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-document: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo: part-shadow-host-document: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-document: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: part-shadow-host-document: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=15, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-document: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=12, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress detached-pseudo: part-shadow-internal: :has(:checked) after checkbox checked | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: part-shadow-internal: :has(:checked) after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo: part-shadow-internal: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: part-shadow-internal: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant state stress detached-pseudo: part-shadow-internal: :has(:required) after input required | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: part-shadow-internal: :has(:required) after input required | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=10, hasResultCacheHits=4, hasResultCacheMisses=6
PASS: descendant state stress detached-pseudo: part-shadow-internal: :has(:optional) becomes false after input required | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: part-shadow-internal: :has(:optional) becomes false after input required | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=10, hasResultCacheHits=4, hasResultCacheMisses=6
PASS: descendant state stress detached-pseudo: part-shadow-internal: :has(:disabled) after input disabled | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: part-shadow-internal: :has(:disabled) after input disabled | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=10, hasResultCacheHits=4, hasResultCacheMisses=6
PASS: descendant state stress detached-pseudo: part-shadow-internal: :has(:enabled) becomes false after input disabled | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: part-shadow-internal: :has(:enabled) becomes false after input disabled | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=10, hasResultCacheHits=4, hasResultCacheMisses=6
PASS: descendant state stress detached-pseudo: part-shadow-internal: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: part-shadow-internal: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=10, hasResultCacheHits=4, hasResultCacheMisses=6
PASS: descendant state stress detached-pseudo: part-shadow-internal: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=15, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: part-shadow-internal: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=10, hasResultCacheHits=4, hasResultCacheMisses=6
PASS: descendant state stress detached-pseudo: part-shadow-internal: :has(:checked:first-child) after first checkbox checked | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: part-shadow-internal: :has(:checked:first-child) after first checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant state stress detached-pseudo: part-shadow-internal: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: part-shadow-internal: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=10, hasResultCacheHits=5, hasResultCacheMisses=5
PASS: descendant state stress detached-pseudo: part-shadow-internal: :has(:checked + .after) after checkbox checked | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: part-shadow-internal: :has(:checked + .after) after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=10, hasResultCacheHits=5, hasResultCacheMisses=5
PASS: descendant state stress detached-pseudo: part-shadow-internal: :has(:checked ~ .after) after checkbox checked | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=7, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: part-shadow-internal: :has(:checked ~ .after) after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=12, hasResultCacheHits=6, hasResultCacheMisses=6
PASS: descendant state stress detached-pseudo: part-shadow-internal: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: part-shadow-internal: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo: part-shadow-internal: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-shadow-internal: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo: part-shadow-internal: :has(:required) after input required | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: part-shadow-internal: :has(:required) after input required | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: part-shadow-internal: :has(:optional) becomes false after input required | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-shadow-internal: :has(:optional) becomes false after input required | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo: part-shadow-internal: :has(:disabled) after input disabled | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: part-shadow-internal: :has(:disabled) after input disabled | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: part-shadow-internal: :has(:enabled) becomes false after input disabled | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-shadow-internal: :has(:enabled) becomes false after input disabled | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo: part-shadow-internal: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: part-shadow-internal: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: part-shadow-internal: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=15, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-shadow-internal: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo: part-shadow-internal: :has(:checked:first-child) after first checkbox checked | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: part-shadow-internal: :has(:checked:first-child) after first checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: part-shadow-internal: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: part-shadow-internal: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: part-shadow-internal: :has(:checked + .after) after checkbox checked | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: part-shadow-internal: :has(:checked + .after) after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: part-shadow-internal: :has(:checked ~ .after) after checkbox checked | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: part-shadow-internal: :has(:checked ~ .after) after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: part-shadow-internal: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-shadow-internal: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: part-shadow-internal: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: part-shadow-internal: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo: part-shadow-internal: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=15, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-shadow-internal: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=16, hasResultCacheHits=7, hasResultCacheMisses=9
PASS: descendant state stress detached-pseudo: part-shadow-internal: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=15, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-shadow-internal: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant state stress detached-pseudo: part-shadow-host-internal: :has(:checked) after checkbox checked | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-internal: :has(:checked) after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo: part-shadow-host-internal: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-internal: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant state stress detached-pseudo: part-shadow-host-internal: :has(:required) after input required | styleInvalidations=16, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-internal: :has(:required) after input required | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=11, hasResultCacheHits=4, hasResultCacheMisses=7
PASS: descendant state stress detached-pseudo: part-shadow-host-internal: :has(:optional) becomes false after input required | styleInvalidations=16, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-internal: :has(:optional) becomes false after input required | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=11, hasResultCacheHits=4, hasResultCacheMisses=7
PASS: descendant state stress detached-pseudo: part-shadow-host-internal: :has(:disabled) after input disabled | styleInvalidations=16, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-internal: :has(:disabled) after input disabled | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=11, hasResultCacheHits=4, hasResultCacheMisses=7
PASS: descendant state stress detached-pseudo: part-shadow-host-internal: :has(:enabled) becomes false after input disabled | styleInvalidations=16, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-internal: :has(:enabled) becomes false after input disabled | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=11, hasResultCacheHits=4, hasResultCacheMisses=7
PASS: descendant state stress detached-pseudo: part-shadow-host-internal: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=16, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-internal: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=11, hasResultCacheHits=4, hasResultCacheMisses=7
PASS: descendant state stress detached-pseudo: part-shadow-host-internal: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=17, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-internal: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=11, hasResultCacheHits=4, hasResultCacheMisses=7
PASS: descendant state stress detached-pseudo: part-shadow-host-internal: :has(:checked:first-child) after first checkbox checked | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-internal: :has(:checked:first-child) after first checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant state stress detached-pseudo: part-shadow-host-internal: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-internal: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=11, hasResultCacheHits=5, hasResultCacheMisses=6
PASS: descendant state stress detached-pseudo: part-shadow-host-internal: :has(:checked + .after) after checkbox checked | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-internal: :has(:checked + .after) after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=11, hasResultCacheHits=5, hasResultCacheMisses=6
PASS: descendant state stress detached-pseudo: part-shadow-host-internal: :has(:checked ~ .after) after checkbox checked | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=7, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-internal: :has(:checked ~ .after) after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=13, hasResultCacheHits=6, hasResultCacheMisses=7
PASS: descendant state stress detached-pseudo: part-shadow-host-internal: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-internal: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo: part-shadow-host-internal: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-internal: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo: part-shadow-host-internal: :has(:required) after input required | styleInvalidations=16, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-internal: :has(:required) after input required | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: part-shadow-host-internal: :has(:optional) becomes false after input required | styleInvalidations=16, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-internal: :has(:optional) becomes false after input required | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo: part-shadow-host-internal: :has(:disabled) after input disabled | styleInvalidations=16, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-internal: :has(:disabled) after input disabled | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: part-shadow-host-internal: :has(:enabled) becomes false after input disabled | styleInvalidations=16, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-internal: :has(:enabled) becomes false after input disabled | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo: part-shadow-host-internal: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=16, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-internal: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: part-shadow-host-internal: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=17, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-internal: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo: part-shadow-host-internal: :has(:checked:first-child) after first checkbox checked | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-internal: :has(:checked:first-child) after first checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: part-shadow-host-internal: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-internal: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: part-shadow-host-internal: :has(:checked + .after) after checkbox checked | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-internal: :has(:checked + .after) after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: part-shadow-host-internal: :has(:checked ~ .after) after checkbox checked | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-internal: :has(:checked ~ .after) after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: part-shadow-host-internal: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-internal: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: part-shadow-host-internal: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-internal: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo: part-shadow-host-internal: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=17, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-internal: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=12, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=17, hasResultCacheHits=7, hasResultCacheMisses=10
PASS: descendant state stress detached-pseudo: part-shadow-ancestor: :has(:checked) after checkbox checked | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-shadow-ancestor: :has(:checked) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: part-shadow-ancestor: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-shadow-ancestor: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant state stress detached-pseudo: part-shadow-ancestor: :has(:required) after input required | styleInvalidations=16, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-shadow-ancestor: :has(:required) after input required | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=7, hasResultCacheHits=1, hasResultCacheMisses=6
PASS: descendant state stress detached-pseudo: part-shadow-ancestor: :has(:optional) becomes false after input required | styleInvalidations=16, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-shadow-ancestor: :has(:optional) becomes false after input required | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=7, hasResultCacheHits=1, hasResultCacheMisses=6
PASS: descendant state stress detached-pseudo: part-shadow-ancestor: :has(:disabled) after input disabled | styleInvalidations=16, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-shadow-ancestor: :has(:disabled) after input disabled | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=7, hasResultCacheHits=1, hasResultCacheMisses=6
PASS: descendant state stress detached-pseudo: part-shadow-ancestor: :has(:enabled) becomes false after input disabled | styleInvalidations=16, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-shadow-ancestor: :has(:enabled) becomes false after input disabled | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=7, hasResultCacheHits=1, hasResultCacheMisses=6
PASS: descendant state stress detached-pseudo: part-shadow-ancestor: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=16, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-shadow-ancestor: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=7, hasResultCacheHits=1, hasResultCacheMisses=6
PASS: descendant state stress detached-pseudo: part-shadow-ancestor: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=17, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-shadow-ancestor: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=7, hasResultCacheHits=1, hasResultCacheMisses=6
PASS: descendant state stress detached-pseudo: part-shadow-ancestor: :has(:checked:first-child) after first checkbox checked | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-shadow-ancestor: :has(:checked:first-child) after first checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant state stress detached-pseudo: part-shadow-ancestor: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-shadow-ancestor: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant state stress detached-pseudo: part-shadow-ancestor: :has(:checked + .after) after checkbox checked | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-shadow-ancestor: :has(:checked + .after) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant state stress detached-pseudo: part-shadow-ancestor: :has(:checked ~ .after) after checkbox checked | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-shadow-ancestor: :has(:checked ~ .after) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=7, hasResultCacheHits=1, hasResultCacheMisses=6
PASS: descendant state stress detached-pseudo: part-shadow-ancestor: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-shadow-ancestor: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: part-shadow-ancestor: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-shadow-ancestor: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: part-shadow-ancestor: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=17, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo-cold: part-shadow-ancestor: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=12, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=10, hasResultCacheHits=1, hasResultCacheMisses=9
PASS: descendant state stress detached-pseudo: part-shadow-host-ancestor: :has(:checked) after checkbox checked | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-ancestor: :has(:checked) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: part-shadow-host-ancestor: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-ancestor: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant state stress detached-pseudo: part-shadow-host-ancestor: :has(:required) after input required | styleInvalidations=18, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-ancestor: :has(:required) after input required | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=12, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=1, hasResultCacheMisses=7
PASS: descendant state stress detached-pseudo: part-shadow-host-ancestor: :has(:optional) becomes false after input required | styleInvalidations=18, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-ancestor: :has(:optional) becomes false after input required | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=12, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=1, hasResultCacheMisses=7
PASS: descendant state stress detached-pseudo: part-shadow-host-ancestor: :has(:disabled) after input disabled | styleInvalidations=18, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-ancestor: :has(:disabled) after input disabled | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=12, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=1, hasResultCacheMisses=7
PASS: descendant state stress detached-pseudo: part-shadow-host-ancestor: :has(:enabled) becomes false after input disabled | styleInvalidations=18, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-ancestor: :has(:enabled) becomes false after input disabled | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=12, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=1, hasResultCacheMisses=7
PASS: descendant state stress detached-pseudo: part-shadow-host-ancestor: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=18, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-ancestor: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=12, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=1, hasResultCacheMisses=7
PASS: descendant state stress detached-pseudo: part-shadow-host-ancestor: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=19, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-ancestor: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=12, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=1, hasResultCacheMisses=7
PASS: descendant state stress detached-pseudo: part-shadow-host-ancestor: :has(:checked:first-child) after first checkbox checked | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-ancestor: :has(:checked:first-child) after first checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant state stress detached-pseudo: part-shadow-host-ancestor: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-ancestor: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=7, hasResultCacheHits=1, hasResultCacheMisses=6
PASS: descendant state stress detached-pseudo: part-shadow-host-ancestor: :has(:checked + .after) after checkbox checked | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-ancestor: :has(:checked + .after) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=7, hasResultCacheHits=1, hasResultCacheMisses=6
PASS: descendant state stress detached-pseudo: part-shadow-host-ancestor: :has(:checked ~ .after) after checkbox checked | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-ancestor: :has(:checked ~ .after) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=1, hasResultCacheMisses=7
PASS: descendant state stress detached-pseudo: part-shadow-host-ancestor: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-ancestor: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: part-shadow-host-ancestor: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-ancestor: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: part-shadow-host-ancestor: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=19, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-ancestor: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=13, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=11, hasResultCacheHits=1, hasResultCacheMisses=10
PASS: descendant state stress detached-pseudo: part-shadow-host-internal: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=17, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-internal: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=12, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant state stress detached-pseudo: part-shadow-ancestor: :has(:checked) after checkbox checked | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: part-shadow-ancestor: :has(:checked) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo: part-shadow-ancestor: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-shadow-ancestor: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo: part-shadow-ancestor: :has(:required) after input required | styleInvalidations=16, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: part-shadow-ancestor: :has(:required) after input required | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: part-shadow-ancestor: :has(:optional) becomes false after input required | styleInvalidations=16, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-shadow-ancestor: :has(:optional) becomes false after input required | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo: part-shadow-ancestor: :has(:disabled) after input disabled | styleInvalidations=16, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: part-shadow-ancestor: :has(:disabled) after input disabled | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: part-shadow-ancestor: :has(:enabled) becomes false after input disabled | styleInvalidations=16, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-shadow-ancestor: :has(:enabled) becomes false after input disabled | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo: part-shadow-ancestor: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=16, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: part-shadow-ancestor: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: part-shadow-ancestor: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=17, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-shadow-ancestor: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo: part-shadow-ancestor: :has(:checked:first-child) after first checkbox checked | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: part-shadow-ancestor: :has(:checked:first-child) after first checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: part-shadow-ancestor: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: part-shadow-ancestor: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: part-shadow-ancestor: :has(:checked + .after) after checkbox checked | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: part-shadow-ancestor: :has(:checked + .after) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: part-shadow-ancestor: :has(:checked ~ .after) after checkbox checked | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: part-shadow-ancestor: :has(:checked ~ .after) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: part-shadow-ancestor: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-shadow-ancestor: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: part-shadow-ancestor: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: part-shadow-ancestor: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo: part-shadow-ancestor: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=17, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-shadow-ancestor: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=12, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress detached-pseudo: part-shadow-host-ancestor: :has(:checked) after checkbox checked | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-ancestor: :has(:checked) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo: part-shadow-host-ancestor: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-ancestor: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo: part-shadow-host-ancestor: :has(:required) after input required | styleInvalidations=18, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-ancestor: :has(:required) after input required | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=12, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: part-shadow-host-ancestor: :has(:optional) becomes false after input required | styleInvalidations=18, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-ancestor: :has(:optional) becomes false after input required | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=12, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo: part-shadow-host-ancestor: :has(:disabled) after input disabled | styleInvalidations=18, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-ancestor: :has(:disabled) after input disabled | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=12, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: part-shadow-host-ancestor: :has(:enabled) becomes false after input disabled | styleInvalidations=18, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-ancestor: :has(:enabled) becomes false after input disabled | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=12, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo: part-shadow-host-ancestor: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=18, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-ancestor: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=12, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: part-shadow-host-ancestor: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=19, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-ancestor: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=12, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress detached-pseudo: part-shadow-host-ancestor: :has(:checked:first-child) after first checkbox checked | styleInvalidations=12, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-ancestor: :has(:checked:first-child) after first checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: part-shadow-host-ancestor: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-ancestor: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: part-shadow-host-ancestor: :has(:checked + .after) after checkbox checked | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-ancestor: :has(:checked + .after) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: part-shadow-host-ancestor: :has(:checked ~ .after) after checkbox checked | styleInvalidations=14, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-ancestor: :has(:checked ~ .after) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: part-shadow-host-ancestor: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-ancestor: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo: part-shadow-host-ancestor: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-ancestor: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant state stress detached-pseudo: part-shadow-host-ancestor: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=19, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress detached-pseudo-cold: part-shadow-host-ancestor: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=13, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4

View file

@ -1,19 +1,19 @@
PASS: descendant state stress pseudo-warm: document: :has(:checked) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: document: :has(:checked) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: document: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: document: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: document: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-cold: document: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-warm: document: :has(:required) after input required | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: document: :has(:required) after input required | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: document: :has(:optional) becomes false after input required | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: document: :has(:optional) becomes false after input required | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: document: :has(:optional) becomes false after input required | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-cold: document: :has(:optional) becomes false after input required | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-warm: document: :has(:disabled) after input disabled | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: document: :has(:disabled) after input disabled | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: document: :has(:enabled) becomes false after input disabled | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: document: :has(:enabled) becomes false after input disabled | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: document: :has(:enabled) becomes false after input disabled | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-cold: document: :has(:enabled) becomes false after input disabled | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-warm: document: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: document: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: document: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: document: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: document: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-cold: document: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-warm: document: :has(:checked:first-child) after first checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: document: :has(:checked:first-child) after first checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: document: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -22,28 +22,28 @@ PASS: descendant state stress pseudo-warm: document: :has(:checked + .after) aft
PASS: descendant state stress pseudo-cold: document: :has(:checked + .after) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: document: :has(:checked ~ .after) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: document: :has(:checked ~ .after) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: document: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: document: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: document: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-cold: document: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-warm: document: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: document: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: document: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress pseudo-cold: document: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress pseudo-warm: document-styled-use-shadow: :has(:checked) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: document-styled-use-shadow: :has(:checked) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: document-styled-use-shadow: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: document-styled-use-shadow: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: document-styled-use-shadow: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-cold: document-styled-use-shadow: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-warm: document-styled-use-shadow: :has(:required) after input required | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: document-styled-use-shadow: :has(:required) after input required | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: document-styled-use-shadow: :has(:optional) becomes false after input required | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: document-styled-use-shadow: :has(:optional) becomes false after input required | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: document-styled-use-shadow: :has(:optional) becomes false after input required | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-cold: document-styled-use-shadow: :has(:optional) becomes false after input required | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-warm: document-styled-use-shadow: :has(:disabled) after input disabled | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: document-styled-use-shadow: :has(:disabled) after input disabled | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: document-styled-use-shadow: :has(:enabled) becomes false after input disabled | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: document-styled-use-shadow: :has(:enabled) becomes false after input disabled | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: document-styled-use-shadow: :has(:enabled) becomes false after input disabled | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-cold: document-styled-use-shadow: :has(:enabled) becomes false after input disabled | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-warm: document-styled-use-shadow: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: document-styled-use-shadow: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: document-styled-use-shadow: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: document-styled-use-shadow: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: document-styled-use-shadow: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-cold: document-styled-use-shadow: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-warm: document-styled-use-shadow: :has(:checked:first-child) after first checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: document-styled-use-shadow: :has(:checked:first-child) after first checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: document-styled-use-shadow: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -52,28 +52,28 @@ PASS: descendant state stress pseudo-warm: document-styled-use-shadow: :has(:che
PASS: descendant state stress pseudo-cold: document-styled-use-shadow: :has(:checked + .after) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: document-styled-use-shadow: :has(:checked ~ .after) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: document-styled-use-shadow: :has(:checked ~ .after) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: document-styled-use-shadow: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: document-styled-use-shadow: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: document-styled-use-shadow: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-cold: document-styled-use-shadow: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-warm: document-styled-use-shadow: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: document-styled-use-shadow: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: document-styled-use-shadow: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress pseudo-cold: document-styled-use-shadow: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress pseudo-warm: shadow-internal: :has(:checked) after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: shadow-internal: :has(:checked) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: shadow-internal: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: shadow-internal: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: shadow-internal: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-cold: shadow-internal: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-warm: shadow-internal: :has(:required) after input required | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: shadow-internal: :has(:required) after input required | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: shadow-internal: :has(:optional) becomes false after input required | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: shadow-internal: :has(:optional) becomes false after input required | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: shadow-internal: :has(:optional) becomes false after input required | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-cold: shadow-internal: :has(:optional) becomes false after input required | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-warm: shadow-internal: :has(:disabled) after input disabled | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: shadow-internal: :has(:disabled) after input disabled | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: shadow-internal: :has(:enabled) becomes false after input disabled | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: shadow-internal: :has(:enabled) becomes false after input disabled | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: shadow-internal: :has(:enabled) becomes false after input disabled | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-cold: shadow-internal: :has(:enabled) becomes false after input disabled | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-warm: shadow-internal: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: shadow-internal: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: shadow-internal: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: shadow-internal: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: shadow-internal: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-cold: shadow-internal: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-warm: shadow-internal: :has(:checked:first-child) after first checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: shadow-internal: :has(:checked:first-child) after first checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: shadow-internal: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -82,28 +82,28 @@ PASS: descendant state stress pseudo-warm: shadow-internal: :has(:checked + .aft
PASS: descendant state stress pseudo-cold: shadow-internal: :has(:checked + .after) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: shadow-internal: :has(:checked ~ .after) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: shadow-internal: :has(:checked ~ .after) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: shadow-internal: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: shadow-internal: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: shadow-internal: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-cold: shadow-internal: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-warm: shadow-internal: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: shadow-internal: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: shadow-internal: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress pseudo-cold: shadow-internal: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress pseudo-warm: shadow-host: :has(:checked) after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: shadow-host: :has(:checked) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: shadow-host: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: shadow-host: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: shadow-host: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-cold: shadow-host: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-warm: shadow-host: :has(:required) after input required | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: shadow-host: :has(:required) after input required | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: shadow-host: :has(:optional) becomes false after input required | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: shadow-host: :has(:optional) becomes false after input required | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: shadow-host: :has(:optional) becomes false after input required | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-cold: shadow-host: :has(:optional) becomes false after input required | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-warm: shadow-host: :has(:disabled) after input disabled | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: shadow-host: :has(:disabled) after input disabled | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: shadow-host: :has(:enabled) becomes false after input disabled | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: shadow-host: :has(:enabled) becomes false after input disabled | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: shadow-host: :has(:enabled) becomes false after input disabled | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-cold: shadow-host: :has(:enabled) becomes false after input disabled | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-warm: shadow-host: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: shadow-host: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: shadow-host: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: shadow-host: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: shadow-host: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-cold: shadow-host: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-warm: shadow-host: :has(:checked:first-child) after first checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: shadow-host: :has(:checked:first-child) after first checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: shadow-host: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -112,189 +112,189 @@ PASS: descendant state stress pseudo-warm: shadow-host: :has(:checked + .after)
PASS: descendant state stress pseudo-cold: shadow-host: :has(:checked + .after) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: shadow-host: :has(:checked ~ .after) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: shadow-host: :has(:checked ~ .after) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: shadow-host: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: shadow-host: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: shadow-host: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-cold: shadow-host: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-warm: shadow-host: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: shadow-host: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: shadow-host: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress pseudo-cold: shadow-host: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress pseudo-warm: part-document: :has(:checked) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-cold: part-document: :has(:checked) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-warm: part-document: :has(:checked) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: part-document: :has(:checked) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: part-document: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-cold: part-document: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-warm: part-document: :has(:required) after input required | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress pseudo-cold: part-document: :has(:required) after input required | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=0, hasResultCacheMisses=5
PASS: descendant state stress pseudo-warm: part-document: :has(:optional) becomes false after input required | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress pseudo-cold: part-document: :has(:optional) becomes false after input required | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=0, hasResultCacheMisses=5
PASS: descendant state stress pseudo-warm: part-document: :has(:disabled) after input disabled | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress pseudo-cold: part-document: :has(:disabled) after input disabled | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=0, hasResultCacheMisses=5
PASS: descendant state stress pseudo-warm: part-document: :has(:enabled) becomes false after input disabled | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress pseudo-cold: part-document: :has(:enabled) becomes false after input disabled | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=0, hasResultCacheMisses=5
PASS: descendant state stress pseudo-warm: part-document: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress pseudo-cold: part-document: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=0, hasResultCacheMisses=5
PASS: descendant state stress pseudo-warm: part-document: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress pseudo-cold: part-document: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=0, hasResultCacheMisses=5
PASS: descendant state stress pseudo-warm: part-document: :has(:checked:first-child) after first checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-cold: part-document: :has(:checked:first-child) after first checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-warm: part-document: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress pseudo-cold: part-document: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress pseudo-warm: part-document: :has(:checked + .after) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress pseudo-cold: part-document: :has(:checked + .after) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress pseudo-warm: part-document: :has(:checked ~ .after) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=0, hasResultCacheMisses=5
PASS: descendant state stress pseudo-cold: part-document: :has(:checked ~ .after) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=0, hasResultCacheMisses=5
PASS: descendant state stress pseudo-warm: part-document: :has(:required) after input required | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: part-document: :has(:required) after input required | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: part-document: :has(:optional) becomes false after input required | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-cold: part-document: :has(:optional) becomes false after input required | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-warm: part-document: :has(:disabled) after input disabled | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: part-document: :has(:disabled) after input disabled | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: part-document: :has(:enabled) becomes false after input disabled | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-cold: part-document: :has(:enabled) becomes false after input disabled | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-warm: part-document: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: part-document: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: part-document: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-cold: part-document: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-warm: part-document: :has(:checked:first-child) after first checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: part-document: :has(:checked:first-child) after first checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: part-document: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: part-document: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: part-document: :has(:checked + .after) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: part-document: :has(:checked + .after) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: part-document: :has(:checked ~ .after) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: part-document: :has(:checked ~ .after) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: part-document: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-cold: part-document: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-warm: part-document: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-cold: part-document: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-warm: part-document: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=7, hasResultCacheHits=0, hasResultCacheMisses=7
PASS: descendant state stress pseudo-cold: part-document: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=8, hasResultCacheHits=0, hasResultCacheMisses=8
PASS: descendant state stress pseudo-warm: part-shadow-host-document: :has(:checked) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-cold: part-shadow-host-document: :has(:checked) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress pseudo-warm: part-document: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: part-document: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: part-document: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress pseudo-cold: part-document: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress pseudo-warm: part-shadow-host-document: :has(:checked) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: part-shadow-host-document: :has(:checked) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: part-shadow-host-document: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-cold: part-shadow-host-document: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress pseudo-warm: part-shadow-host-document: :has(:required) after input required | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress pseudo-cold: part-shadow-host-document: :has(:required) after input required | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=0, hasResultCacheMisses=6
PASS: descendant state stress pseudo-warm: part-shadow-host-document: :has(:optional) becomes false after input required | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress pseudo-cold: part-shadow-host-document: :has(:optional) becomes false after input required | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=0, hasResultCacheMisses=6
PASS: descendant state stress pseudo-warm: part-shadow-host-document: :has(:disabled) after input disabled | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress pseudo-cold: part-shadow-host-document: :has(:disabled) after input disabled | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=0, hasResultCacheMisses=6
PASS: descendant state stress pseudo-warm: part-shadow-host-document: :has(:enabled) becomes false after input disabled | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress pseudo-cold: part-shadow-host-document: :has(:enabled) becomes false after input disabled | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=0, hasResultCacheMisses=6
PASS: descendant state stress pseudo-warm: part-shadow-host-document: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress pseudo-cold: part-shadow-host-document: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=0, hasResultCacheMisses=6
PASS: descendant state stress pseudo-warm: part-shadow-host-document: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress pseudo-cold: part-shadow-host-document: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=0, hasResultCacheMisses=6
PASS: descendant state stress pseudo-warm: part-shadow-host-document: :has(:checked:first-child) after first checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-cold: part-shadow-host-document: :has(:checked:first-child) after first checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress pseudo-warm: part-shadow-host-document: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress pseudo-cold: part-shadow-host-document: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=0, hasResultCacheMisses=5
PASS: descendant state stress pseudo-warm: part-shadow-host-document: :has(:checked + .after) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress pseudo-cold: part-shadow-host-document: :has(:checked + .after) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=0, hasResultCacheMisses=5
PASS: descendant state stress pseudo-warm: part-shadow-host-document: :has(:checked ~ .after) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=0, hasResultCacheMisses=5
PASS: descendant state stress pseudo-cold: part-shadow-host-document: :has(:checked ~ .after) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=0, hasResultCacheMisses=6
PASS: descendant state stress pseudo-cold: part-shadow-host-document: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-warm: part-shadow-host-document: :has(:required) after input required | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: part-shadow-host-document: :has(:required) after input required | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: part-shadow-host-document: :has(:optional) becomes false after input required | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-cold: part-shadow-host-document: :has(:optional) becomes false after input required | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-warm: part-shadow-host-document: :has(:disabled) after input disabled | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: part-shadow-host-document: :has(:disabled) after input disabled | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: part-shadow-host-document: :has(:enabled) becomes false after input disabled | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-cold: part-shadow-host-document: :has(:enabled) becomes false after input disabled | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-warm: part-shadow-host-document: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: part-shadow-host-document: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: part-shadow-host-document: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-cold: part-shadow-host-document: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-warm: part-shadow-host-document: :has(:checked:first-child) after first checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: part-shadow-host-document: :has(:checked:first-child) after first checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: part-shadow-host-document: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: part-shadow-host-document: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: part-shadow-host-document: :has(:checked + .after) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: part-shadow-host-document: :has(:checked + .after) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: part-shadow-host-document: :has(:checked ~ .after) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: part-shadow-host-document: :has(:checked ~ .after) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: part-shadow-host-document: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-cold: part-shadow-host-document: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress pseudo-warm: part-shadow-host-document: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-cold: part-shadow-host-document: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress pseudo-warm: part-shadow-host-document: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=7, hasResultCacheHits=0, hasResultCacheMisses=7
PASS: descendant state stress pseudo-cold: part-shadow-host-document: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=12, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=9, hasResultCacheHits=0, hasResultCacheMisses=9
PASS: descendant state stress pseudo-warm: part-shadow-internal: :has(:checked) after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant state stress pseudo-cold: part-shadow-internal: :has(:checked) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant state stress pseudo-cold: part-shadow-host-document: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-warm: part-shadow-host-document: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: part-shadow-host-document: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: part-shadow-host-document: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress pseudo-cold: part-shadow-host-document: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=12, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress pseudo-warm: part-shadow-internal: :has(:checked) after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: part-shadow-internal: :has(:checked) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: part-shadow-internal: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant state stress pseudo-cold: part-shadow-internal: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant state stress pseudo-warm: part-shadow-internal: :has(:required) after input required | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=7, hasResultCacheHits=3, hasResultCacheMisses=4
PASS: descendant state stress pseudo-cold: part-shadow-internal: :has(:required) after input required | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=10, hasResultCacheHits=4, hasResultCacheMisses=6
PASS: descendant state stress pseudo-warm: part-shadow-internal: :has(:optional) becomes false after input required | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=7, hasResultCacheHits=3, hasResultCacheMisses=4
PASS: descendant state stress pseudo-cold: part-shadow-internal: :has(:optional) becomes false after input required | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=10, hasResultCacheHits=4, hasResultCacheMisses=6
PASS: descendant state stress pseudo-warm: part-shadow-internal: :has(:disabled) after input disabled | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=7, hasResultCacheHits=3, hasResultCacheMisses=4
PASS: descendant state stress pseudo-cold: part-shadow-internal: :has(:disabled) after input disabled | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=10, hasResultCacheHits=4, hasResultCacheMisses=6
PASS: descendant state stress pseudo-warm: part-shadow-internal: :has(:enabled) becomes false after input disabled | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=7, hasResultCacheHits=3, hasResultCacheMisses=4
PASS: descendant state stress pseudo-cold: part-shadow-internal: :has(:enabled) becomes false after input disabled | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=10, hasResultCacheHits=4, hasResultCacheMisses=6
PASS: descendant state stress pseudo-warm: part-shadow-internal: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=7, hasResultCacheHits=3, hasResultCacheMisses=4
PASS: descendant state stress pseudo-cold: part-shadow-internal: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=10, hasResultCacheHits=4, hasResultCacheMisses=6
PASS: descendant state stress pseudo-warm: part-shadow-internal: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=7, hasResultCacheHits=3, hasResultCacheMisses=4
PASS: descendant state stress pseudo-cold: part-shadow-internal: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=10, hasResultCacheHits=4, hasResultCacheMisses=6
PASS: descendant state stress pseudo-warm: part-shadow-internal: :has(:checked:first-child) after first checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant state stress pseudo-cold: part-shadow-internal: :has(:checked:first-child) after first checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant state stress pseudo-warm: part-shadow-internal: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant state stress pseudo-cold: part-shadow-internal: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=10, hasResultCacheHits=5, hasResultCacheMisses=5
PASS: descendant state stress pseudo-warm: part-shadow-internal: :has(:checked + .after) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant state stress pseudo-cold: part-shadow-internal: :has(:checked + .after) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=10, hasResultCacheHits=5, hasResultCacheMisses=5
PASS: descendant state stress pseudo-warm: part-shadow-internal: :has(:checked ~ .after) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=10, hasResultCacheHits=5, hasResultCacheMisses=5
PASS: descendant state stress pseudo-cold: part-shadow-internal: :has(:checked ~ .after) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=12, hasResultCacheHits=6, hasResultCacheMisses=6
PASS: descendant state stress pseudo-warm: part-shadow-internal: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant state stress pseudo-cold: part-shadow-internal: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant state stress pseudo-warm: part-shadow-internal: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant state stress pseudo-cold: part-shadow-internal: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant state stress pseudo-warm: part-shadow-internal: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=13, hasResultCacheHits=6, hasResultCacheMisses=7
PASS: descendant state stress pseudo-cold: part-shadow-internal: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=16, hasResultCacheHits=7, hasResultCacheMisses=9
PASS: descendant state stress pseudo-warm: part-shadow-host-internal: :has(:checked) after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant state stress pseudo-cold: part-shadow-host-internal: :has(:checked) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant state stress pseudo-cold: part-shadow-internal: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant state stress pseudo-warm: part-shadow-internal: :has(:required) after input required | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: part-shadow-internal: :has(:required) after input required | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: part-shadow-internal: :has(:optional) becomes false after input required | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant state stress pseudo-cold: part-shadow-internal: :has(:optional) becomes false after input required | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant state stress pseudo-warm: part-shadow-internal: :has(:disabled) after input disabled | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: part-shadow-internal: :has(:disabled) after input disabled | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: part-shadow-internal: :has(:enabled) becomes false after input disabled | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant state stress pseudo-cold: part-shadow-internal: :has(:enabled) becomes false after input disabled | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant state stress pseudo-warm: part-shadow-internal: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: part-shadow-internal: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: part-shadow-internal: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant state stress pseudo-cold: part-shadow-internal: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant state stress pseudo-warm: part-shadow-internal: :has(:checked:first-child) after first checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: part-shadow-internal: :has(:checked:first-child) after first checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: part-shadow-internal: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: part-shadow-internal: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: part-shadow-internal: :has(:checked + .after) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: part-shadow-internal: :has(:checked + .after) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: part-shadow-internal: :has(:checked ~ .after) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: part-shadow-internal: :has(:checked ~ .after) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: part-shadow-internal: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant state stress pseudo-cold: part-shadow-internal: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant state stress pseudo-warm: part-shadow-internal: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: part-shadow-internal: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: part-shadow-internal: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant state stress pseudo-cold: part-shadow-internal: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant state stress pseudo-warm: part-shadow-host-internal: :has(:checked) after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: part-shadow-host-internal: :has(:checked) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: part-shadow-host-internal: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant state stress pseudo-cold: part-shadow-host-internal: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant state stress pseudo-warm: part-shadow-host-internal: :has(:required) after input required | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=7, hasResultCacheHits=3, hasResultCacheMisses=4
PASS: descendant state stress pseudo-cold: part-shadow-host-internal: :has(:required) after input required | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=11, hasResultCacheHits=4, hasResultCacheMisses=7
PASS: descendant state stress pseudo-warm: part-shadow-host-internal: :has(:optional) becomes false after input required | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=7, hasResultCacheHits=3, hasResultCacheMisses=4
PASS: descendant state stress pseudo-cold: part-shadow-host-internal: :has(:optional) becomes false after input required | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=11, hasResultCacheHits=4, hasResultCacheMisses=7
PASS: descendant state stress pseudo-warm: part-shadow-host-internal: :has(:disabled) after input disabled | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=7, hasResultCacheHits=3, hasResultCacheMisses=4
PASS: descendant state stress pseudo-cold: part-shadow-host-internal: :has(:disabled) after input disabled | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=11, hasResultCacheHits=4, hasResultCacheMisses=7
PASS: descendant state stress pseudo-warm: part-shadow-host-internal: :has(:enabled) becomes false after input disabled | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=7, hasResultCacheHits=3, hasResultCacheMisses=4
PASS: descendant state stress pseudo-cold: part-shadow-host-internal: :has(:enabled) becomes false after input disabled | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=11, hasResultCacheHits=4, hasResultCacheMisses=7
PASS: descendant state stress pseudo-warm: part-shadow-host-internal: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=7, hasResultCacheHits=3, hasResultCacheMisses=4
PASS: descendant state stress pseudo-cold: part-shadow-host-internal: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=11, hasResultCacheHits=4, hasResultCacheMisses=7
PASS: descendant state stress pseudo-warm: part-shadow-host-internal: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=7, hasResultCacheHits=3, hasResultCacheMisses=4
PASS: descendant state stress pseudo-cold: part-shadow-host-internal: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=11, hasResultCacheHits=4, hasResultCacheMisses=7
PASS: descendant state stress pseudo-warm: part-shadow-host-internal: :has(:checked:first-child) after first checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant state stress pseudo-cold: part-shadow-host-internal: :has(:checked:first-child) after first checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant state stress pseudo-warm: part-shadow-host-internal: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant state stress pseudo-cold: part-shadow-host-internal: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=11, hasResultCacheHits=5, hasResultCacheMisses=6
PASS: descendant state stress pseudo-warm: part-shadow-host-internal: :has(:checked + .after) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant state stress pseudo-cold: part-shadow-host-internal: :has(:checked + .after) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=11, hasResultCacheHits=5, hasResultCacheMisses=6
PASS: descendant state stress pseudo-warm: part-shadow-host-internal: :has(:checked ~ .after) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=10, hasResultCacheHits=5, hasResultCacheMisses=5
PASS: descendant state stress pseudo-cold: part-shadow-host-internal: :has(:checked ~ .after) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=13, hasResultCacheHits=6, hasResultCacheMisses=7
PASS: descendant state stress pseudo-warm: part-shadow-host-internal: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant state stress pseudo-cold: part-shadow-host-internal: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant state stress pseudo-warm: part-shadow-host-internal: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant state stress pseudo-cold: part-shadow-host-internal: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant state stress pseudo-warm: part-shadow-host-internal: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=13, hasResultCacheHits=6, hasResultCacheMisses=7
PASS: descendant state stress pseudo-cold: part-shadow-host-internal: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=12, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=17, hasResultCacheHits=7, hasResultCacheMisses=10
PASS: descendant state stress pseudo-warm: part-shadow-ancestor: :has(:checked) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant state stress pseudo-cold: part-shadow-ancestor: :has(:checked) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant state stress pseudo-warm: part-shadow-ancestor: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant state stress pseudo-cold: part-shadow-ancestor: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant state stress pseudo-warm: part-shadow-ancestor: :has(:required) after input required | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant state stress pseudo-cold: part-shadow-ancestor: :has(:required) after input required | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=7, hasResultCacheHits=1, hasResultCacheMisses=6
PASS: descendant state stress pseudo-warm: part-shadow-ancestor: :has(:optional) becomes false after input required | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant state stress pseudo-cold: part-shadow-ancestor: :has(:optional) becomes false after input required | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=7, hasResultCacheHits=1, hasResultCacheMisses=6
PASS: descendant state stress pseudo-warm: part-shadow-ancestor: :has(:disabled) after input disabled | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant state stress pseudo-cold: part-shadow-ancestor: :has(:disabled) after input disabled | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=7, hasResultCacheHits=1, hasResultCacheMisses=6
PASS: descendant state stress pseudo-warm: part-shadow-ancestor: :has(:enabled) becomes false after input disabled | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant state stress pseudo-cold: part-shadow-ancestor: :has(:enabled) becomes false after input disabled | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=7, hasResultCacheHits=1, hasResultCacheMisses=6
PASS: descendant state stress pseudo-warm: part-shadow-ancestor: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant state stress pseudo-cold: part-shadow-ancestor: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=7, hasResultCacheHits=1, hasResultCacheMisses=6
PASS: descendant state stress pseudo-warm: part-shadow-ancestor: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant state stress pseudo-cold: part-shadow-ancestor: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=7, hasResultCacheHits=1, hasResultCacheMisses=6
PASS: descendant state stress pseudo-warm: part-shadow-ancestor: :has(:checked:first-child) after first checkbox checked | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant state stress pseudo-cold: part-shadow-ancestor: :has(:checked:first-child) after first checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant state stress pseudo-warm: part-shadow-ancestor: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant state stress pseudo-cold: part-shadow-ancestor: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant state stress pseudo-warm: part-shadow-ancestor: :has(:checked + .after) after checkbox checked | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant state stress pseudo-cold: part-shadow-ancestor: :has(:checked + .after) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant state stress pseudo-warm: part-shadow-ancestor: :has(:checked ~ .after) after checkbox checked | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=7, hasResultCacheHits=1, hasResultCacheMisses=6
PASS: descendant state stress pseudo-cold: part-shadow-ancestor: :has(:checked ~ .after) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=7, hasResultCacheHits=1, hasResultCacheMisses=6
PASS: descendant state stress pseudo-warm: part-shadow-ancestor: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant state stress pseudo-cold: part-shadow-ancestor: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant state stress pseudo-warm: part-shadow-ancestor: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant state stress pseudo-cold: part-shadow-ancestor: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant state stress pseudo-warm: part-shadow-ancestor: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=6, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=9, hasResultCacheHits=1, hasResultCacheMisses=8
PASS: descendant state stress pseudo-cold: part-shadow-ancestor: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=12, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=10, hasResultCacheHits=1, hasResultCacheMisses=9
PASS: descendant state stress pseudo-warm: part-shadow-host-ancestor: :has(:checked) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant state stress pseudo-cold: part-shadow-host-ancestor: :has(:checked) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant state stress pseudo-warm: part-shadow-host-ancestor: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant state stress pseudo-cold: part-shadow-host-ancestor: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant state stress pseudo-warm: part-shadow-host-ancestor: :has(:required) after input required | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant state stress pseudo-cold: part-shadow-host-ancestor: :has(:required) after input required | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=12, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=1, hasResultCacheMisses=7
PASS: descendant state stress pseudo-warm: part-shadow-host-ancestor: :has(:optional) becomes false after input required | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant state stress pseudo-cold: part-shadow-host-ancestor: :has(:optional) becomes false after input required | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=12, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=1, hasResultCacheMisses=7
PASS: descendant state stress pseudo-warm: part-shadow-host-ancestor: :has(:disabled) after input disabled | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant state stress pseudo-cold: part-shadow-host-ancestor: :has(:disabled) after input disabled | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=12, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=1, hasResultCacheMisses=7
PASS: descendant state stress pseudo-warm: part-shadow-host-ancestor: :has(:enabled) becomes false after input disabled | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant state stress pseudo-cold: part-shadow-host-ancestor: :has(:enabled) becomes false after input disabled | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=12, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=1, hasResultCacheMisses=7
PASS: descendant state stress pseudo-warm: part-shadow-host-ancestor: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant state stress pseudo-cold: part-shadow-host-ancestor: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=12, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=1, hasResultCacheMisses=7
PASS: descendant state stress pseudo-warm: part-shadow-host-ancestor: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant state stress pseudo-cold: part-shadow-host-ancestor: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=12, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=1, hasResultCacheMisses=7
PASS: descendant state stress pseudo-warm: part-shadow-host-ancestor: :has(:checked:first-child) after first checkbox checked | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant state stress pseudo-cold: part-shadow-host-ancestor: :has(:checked:first-child) after first checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant state stress pseudo-warm: part-shadow-host-ancestor: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant state stress pseudo-cold: part-shadow-host-ancestor: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=7, hasResultCacheHits=1, hasResultCacheMisses=6
PASS: descendant state stress pseudo-warm: part-shadow-host-ancestor: :has(:checked + .after) after checkbox checked | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant state stress pseudo-cold: part-shadow-host-ancestor: :has(:checked + .after) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=7, hasResultCacheHits=1, hasResultCacheMisses=6
PASS: descendant state stress pseudo-warm: part-shadow-host-ancestor: :has(:checked ~ .after) after checkbox checked | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=7, hasResultCacheHits=1, hasResultCacheMisses=6
PASS: descendant state stress pseudo-cold: part-shadow-host-ancestor: :has(:checked ~ .after) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=8, hasResultCacheHits=1, hasResultCacheMisses=7
PASS: descendant state stress pseudo-warm: part-shadow-host-ancestor: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant state stress pseudo-cold: part-shadow-host-ancestor: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant state stress pseudo-warm: part-shadow-host-ancestor: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant state stress pseudo-cold: part-shadow-host-ancestor: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant state stress pseudo-warm: part-shadow-host-ancestor: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=6, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=6, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=9, hasResultCacheHits=1, hasResultCacheMisses=8
PASS: descendant state stress pseudo-cold: part-shadow-host-ancestor: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=13, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=11, hasResultCacheHits=1, hasResultCacheMisses=10
PASS: descendant state stress pseudo-cold: part-shadow-host-internal: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant state stress pseudo-warm: part-shadow-host-internal: :has(:required) after input required | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: part-shadow-host-internal: :has(:required) after input required | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: part-shadow-host-internal: :has(:optional) becomes false after input required | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant state stress pseudo-cold: part-shadow-host-internal: :has(:optional) becomes false after input required | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant state stress pseudo-warm: part-shadow-host-internal: :has(:disabled) after input disabled | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: part-shadow-host-internal: :has(:disabled) after input disabled | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: part-shadow-host-internal: :has(:enabled) becomes false after input disabled | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant state stress pseudo-cold: part-shadow-host-internal: :has(:enabled) becomes false after input disabled | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant state stress pseudo-warm: part-shadow-host-internal: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: part-shadow-host-internal: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: part-shadow-host-internal: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant state stress pseudo-cold: part-shadow-host-internal: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant state stress pseudo-warm: part-shadow-host-internal: :has(:checked:first-child) after first checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: part-shadow-host-internal: :has(:checked:first-child) after first checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: part-shadow-host-internal: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: part-shadow-host-internal: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: part-shadow-host-internal: :has(:checked + .after) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: part-shadow-host-internal: :has(:checked + .after) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: part-shadow-host-internal: :has(:checked ~ .after) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: part-shadow-host-internal: :has(:checked ~ .after) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: part-shadow-host-internal: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant state stress pseudo-cold: part-shadow-host-internal: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant state stress pseudo-warm: part-shadow-host-internal: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: part-shadow-host-internal: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: part-shadow-host-internal: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant state stress pseudo-cold: part-shadow-host-internal: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=12, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant state stress pseudo-warm: part-shadow-ancestor: :has(:checked) after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: part-shadow-ancestor: :has(:checked) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: part-shadow-ancestor: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-cold: part-shadow-ancestor: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-warm: part-shadow-ancestor: :has(:required) after input required | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: part-shadow-ancestor: :has(:required) after input required | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: part-shadow-ancestor: :has(:optional) becomes false after input required | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-cold: part-shadow-ancestor: :has(:optional) becomes false after input required | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-warm: part-shadow-ancestor: :has(:disabled) after input disabled | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: part-shadow-ancestor: :has(:disabled) after input disabled | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: part-shadow-ancestor: :has(:enabled) becomes false after input disabled | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-cold: part-shadow-ancestor: :has(:enabled) becomes false after input disabled | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-warm: part-shadow-ancestor: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: part-shadow-ancestor: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: part-shadow-ancestor: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-cold: part-shadow-ancestor: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-warm: part-shadow-ancestor: :has(:checked:first-child) after first checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: part-shadow-ancestor: :has(:checked:first-child) after first checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: part-shadow-ancestor: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: part-shadow-ancestor: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: part-shadow-ancestor: :has(:checked + .after) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: part-shadow-ancestor: :has(:checked + .after) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: part-shadow-ancestor: :has(:checked ~ .after) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: part-shadow-ancestor: :has(:checked ~ .after) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: part-shadow-ancestor: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-cold: part-shadow-ancestor: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-warm: part-shadow-ancestor: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: part-shadow-ancestor: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: part-shadow-ancestor: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress pseudo-cold: part-shadow-ancestor: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=12, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress pseudo-warm: part-shadow-host-ancestor: :has(:checked) after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: part-shadow-host-ancestor: :has(:checked) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: part-shadow-host-ancestor: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-cold: part-shadow-host-ancestor: :has(:checked) becomes false after checkbox unchecked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-warm: part-shadow-host-ancestor: :has(:required) after input required | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: part-shadow-host-ancestor: :has(:required) after input required | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=12, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: part-shadow-host-ancestor: :has(:optional) becomes false after input required | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-cold: part-shadow-host-ancestor: :has(:optional) becomes false after input required | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=12, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-warm: part-shadow-host-ancestor: :has(:disabled) after input disabled | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: part-shadow-host-ancestor: :has(:disabled) after input disabled | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=12, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: part-shadow-host-ancestor: :has(:enabled) becomes false after input disabled | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-cold: part-shadow-host-ancestor: :has(:enabled) becomes false after input disabled | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=12, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-warm: part-shadow-host-ancestor: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: part-shadow-host-ancestor: :has(:placeholder-shown) after textarea placeholder added | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=12, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: part-shadow-host-ancestor: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-cold: part-shadow-host-ancestor: :has(:placeholder-shown) becomes false after textarea value append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=12, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-warm: part-shadow-host-ancestor: :has(:checked:first-child) after first checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: part-shadow-host-ancestor: :has(:checked:first-child) after first checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: part-shadow-host-ancestor: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: part-shadow-host-ancestor: :has(:checked:nth-child(2)) after second checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: part-shadow-host-ancestor: :has(:checked + .after) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: part-shadow-host-ancestor: :has(:checked + .after) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: part-shadow-host-ancestor: :has(:checked ~ .after) after checkbox checked | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: part-shadow-host-ancestor: :has(:checked ~ .after) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: part-shadow-host-ancestor: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-cold: part-shadow-host-ancestor: :not(:has(:checked)) becomes false after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant state stress pseudo-warm: part-shadow-host-ancestor: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-cold: part-shadow-host-ancestor: :has(:is(:checked, .fallback)) after checkbox checked | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant state stress pseudo-warm: part-shadow-host-ancestor: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=5, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant state stress pseudo-cold: part-shadow-host-ancestor: :has(:checked):has(:disabled) after independent state changes | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=13, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4

View file

@ -28,20 +28,20 @@ PASS: descendant attribute stress pseudo-warm: document: :has(span.hit:not(.miss
PASS: descendant attribute stress pseudo-cold: document: :has(span.hit:not(.miss)) after descendant compound change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress warm: document: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress cold: document: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: document: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: document: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: document: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: document: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress warm: document: :has(:is(.hit)) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress cold: document: :has(:is(.hit)) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: document: :has(:is(.hit)) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: document: :has(:is(.hit)) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress warm: document: :has(.hit) becomes false after descendant class removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress cold: document: :has(.hit) becomes false after descendant class removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: document: :has(.hit) becomes false after descendant class removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: document: :has(.hit) becomes false after descendant class removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: document: :has(.hit) becomes false after descendant class removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: document: :has(.hit) becomes false after descendant class removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress warm: document: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress cold: document: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: document: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: document: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: document: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: document: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress warm: document: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress cold: document: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: document: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -52,8 +52,8 @@ PASS: descendant attribute stress pseudo-warm: document: :has(.hit.extra) after
PASS: descendant attribute stress pseudo-cold: document: :has(.hit.extra) after descendant second class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress warm: document: :has(.hit) becomes false after descendant className clear | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress cold: document: :has(.hit) becomes false after descendant className clear | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: document: :has(.hit) becomes false after descendant className clear | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: document: :has(.hit) becomes false after descendant className clear | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: document: :has(.hit) becomes false after descendant className clear | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: document: :has(.hit) becomes false after descendant className clear | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress warm: document: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress cold: document: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: document: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -80,8 +80,8 @@ PASS: descendant attribute stress pseudo-warm: document: :has([data-hit|='yes'])
PASS: descendant attribute stress pseudo-cold: document: :has([data-hit|='yes']) after descendant dash attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress warm: document: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress cold: document: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: document: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: document: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: document: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: document: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress warm: document: :has([hidden]) after descendant hidden property change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress cold: document: :has([hidden]) after descendant hidden property change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: document: :has([hidden]) after descendant hidden property change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -100,8 +100,8 @@ PASS: descendant attribute stress pseudo-warm: document: :has(.hit:not([data-mis
PASS: descendant attribute stress pseudo-cold: document: :has(.hit:not([data-miss])) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress warm: document: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress cold: document: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: document: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: document: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: document: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: document: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress warm: document: :has(.hit + .after) after descendant sibling class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress cold: document: :has(.hit + .after) after descendant sibling class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: document: :has(.hit + .after) after descendant sibling class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -128,16 +128,16 @@ PASS: descendant attribute stress pseudo-warm: document: :has(.hit:nth-child(2))
PASS: descendant attribute stress pseudo-cold: document: :has(.hit:nth-child(2)) after second descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress warm: document: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress cold: document: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: document: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: document: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: document: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: document: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress warm: document: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress cold: document: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: document: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: document: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress warm: document: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress cold: document: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: document: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: document: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: document: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: document: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress warm: document: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress cold: document: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: document: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -152,12 +152,12 @@ PASS: descendant attribute stress pseudo-warm: document-styled-use-shadow: :has(
PASS: descendant attribute stress pseudo-cold: document-styled-use-shadow: :has(.HIT) after matching uppercase descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress warm: document-styled-use-shadow: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=0, elementStyleNoopRecomputations=0, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: descendant attribute stress cold: document-styled-use-shadow: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=1, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress pseudo-warm: document-styled-use-shadow: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=0, elementStyleNoopRecomputations=0, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: descendant attribute stress pseudo-cold: document-styled-use-shadow: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=1, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress pseudo-warm: document-styled-use-shadow: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=0, elementStyleNoopRecomputations=0, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress pseudo-cold: document-styled-use-shadow: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=1, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress warm: document-styled-use-shadow: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=0, elementStyleNoopRecomputations=0, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: descendant attribute stress cold: document-styled-use-shadow: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=1, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress pseudo-warm: document-styled-use-shadow: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=0, elementStyleNoopRecomputations=0, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: descendant attribute stress pseudo-cold: document-styled-use-shadow: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=1, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress pseudo-warm: document-styled-use-shadow: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=0, elementStyleNoopRecomputations=0, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress pseudo-cold: document-styled-use-shadow: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=1, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress warm: document-styled-use-shadow: :has([data-hit]) after descendant attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress cold: document-styled-use-shadow: :has([data-hit]) after descendant attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: document-styled-use-shadow: :has([data-hit]) after descendant attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -172,20 +172,20 @@ PASS: descendant attribute stress pseudo-warm: document-styled-use-shadow: :has(
PASS: descendant attribute stress pseudo-cold: document-styled-use-shadow: :has(span.hit:not(.miss)) after descendant compound change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress warm: document-styled-use-shadow: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress cold: document-styled-use-shadow: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: document-styled-use-shadow: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: document-styled-use-shadow: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: document-styled-use-shadow: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: document-styled-use-shadow: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress warm: document-styled-use-shadow: :has(:is(.hit)) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress cold: document-styled-use-shadow: :has(:is(.hit)) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: document-styled-use-shadow: :has(:is(.hit)) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: document-styled-use-shadow: :has(:is(.hit)) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress warm: document-styled-use-shadow: :has(.hit) becomes false after descendant class removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress cold: document-styled-use-shadow: :has(.hit) becomes false after descendant class removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: document-styled-use-shadow: :has(.hit) becomes false after descendant class removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: document-styled-use-shadow: :has(.hit) becomes false after descendant class removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: document-styled-use-shadow: :has(.hit) becomes false after descendant class removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: document-styled-use-shadow: :has(.hit) becomes false after descendant class removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress warm: document-styled-use-shadow: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress cold: document-styled-use-shadow: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: document-styled-use-shadow: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: document-styled-use-shadow: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: document-styled-use-shadow: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: document-styled-use-shadow: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress warm: document-styled-use-shadow: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress cold: document-styled-use-shadow: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: document-styled-use-shadow: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -196,8 +196,8 @@ PASS: descendant attribute stress pseudo-warm: document-styled-use-shadow: :has(
PASS: descendant attribute stress pseudo-cold: document-styled-use-shadow: :has(.hit.extra) after descendant second class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress warm: document-styled-use-shadow: :has(.hit) becomes false after descendant className clear | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress cold: document-styled-use-shadow: :has(.hit) becomes false after descendant className clear | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: document-styled-use-shadow: :has(.hit) becomes false after descendant className clear | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: document-styled-use-shadow: :has(.hit) becomes false after descendant className clear | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: document-styled-use-shadow: :has(.hit) becomes false after descendant className clear | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: document-styled-use-shadow: :has(.hit) becomes false after descendant className clear | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress warm: document-styled-use-shadow: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress cold: document-styled-use-shadow: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: document-styled-use-shadow: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -224,8 +224,8 @@ PASS: descendant attribute stress pseudo-warm: document-styled-use-shadow: :has(
PASS: descendant attribute stress pseudo-cold: document-styled-use-shadow: :has([data-hit|='yes']) after descendant dash attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress warm: document-styled-use-shadow: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress cold: document-styled-use-shadow: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: document-styled-use-shadow: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: document-styled-use-shadow: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: document-styled-use-shadow: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: document-styled-use-shadow: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress warm: document-styled-use-shadow: :has([hidden]) after descendant hidden property change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress cold: document-styled-use-shadow: :has([hidden]) after descendant hidden property change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: document-styled-use-shadow: :has([hidden]) after descendant hidden property change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -244,8 +244,8 @@ PASS: descendant attribute stress pseudo-warm: document-styled-use-shadow: :has(
PASS: descendant attribute stress pseudo-cold: document-styled-use-shadow: :has(.hit:not([data-miss])) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress warm: document-styled-use-shadow: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress cold: document-styled-use-shadow: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: document-styled-use-shadow: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: document-styled-use-shadow: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: document-styled-use-shadow: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: document-styled-use-shadow: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress warm: document-styled-use-shadow: :has(.hit + .after) after descendant sibling class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress cold: document-styled-use-shadow: :has(.hit + .after) after descendant sibling class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: document-styled-use-shadow: :has(.hit + .after) after descendant sibling class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -272,16 +272,16 @@ PASS: descendant attribute stress pseudo-warm: document-styled-use-shadow: :has(
PASS: descendant attribute stress pseudo-cold: document-styled-use-shadow: :has(.hit:nth-child(2)) after second descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress warm: document-styled-use-shadow: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress cold: document-styled-use-shadow: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: document-styled-use-shadow: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: document-styled-use-shadow: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: document-styled-use-shadow: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: document-styled-use-shadow: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress warm: document-styled-use-shadow: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress cold: document-styled-use-shadow: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: document-styled-use-shadow: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: document-styled-use-shadow: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress warm: document-styled-use-shadow: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress cold: document-styled-use-shadow: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: document-styled-use-shadow: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: document-styled-use-shadow: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: document-styled-use-shadow: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: document-styled-use-shadow: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress warm: document-styled-use-shadow: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress cold: document-styled-use-shadow: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: document-styled-use-shadow: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -316,20 +316,20 @@ PASS: descendant attribute stress pseudo-warm: shadow-internal: :has(span.hit:no
PASS: descendant attribute stress pseudo-cold: shadow-internal: :has(span.hit:not(.miss)) after descendant compound change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress warm: shadow-internal: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress cold: shadow-internal: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: shadow-internal: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: shadow-internal: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: shadow-internal: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: shadow-internal: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress warm: shadow-internal: :has(:is(.hit)) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress cold: shadow-internal: :has(:is(.hit)) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: shadow-internal: :has(:is(.hit)) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: shadow-internal: :has(:is(.hit)) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress warm: shadow-internal: :has(.hit) becomes false after descendant class removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress cold: shadow-internal: :has(.hit) becomes false after descendant class removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: shadow-internal: :has(.hit) becomes false after descendant class removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: shadow-internal: :has(.hit) becomes false after descendant class removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: shadow-internal: :has(.hit) becomes false after descendant class removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: shadow-internal: :has(.hit) becomes false after descendant class removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress warm: shadow-internal: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress cold: shadow-internal: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: shadow-internal: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: shadow-internal: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: shadow-internal: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: shadow-internal: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress warm: shadow-internal: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress cold: shadow-internal: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: shadow-internal: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -340,8 +340,8 @@ PASS: descendant attribute stress pseudo-warm: shadow-internal: :has(.hit.extra)
PASS: descendant attribute stress pseudo-cold: shadow-internal: :has(.hit.extra) after descendant second class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress warm: shadow-internal: :has(.hit) becomes false after descendant className clear | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress cold: shadow-internal: :has(.hit) becomes false after descendant className clear | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: shadow-internal: :has(.hit) becomes false after descendant className clear | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: shadow-internal: :has(.hit) becomes false after descendant className clear | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: shadow-internal: :has(.hit) becomes false after descendant className clear | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: shadow-internal: :has(.hit) becomes false after descendant className clear | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress warm: shadow-internal: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress cold: shadow-internal: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: shadow-internal: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -368,8 +368,8 @@ PASS: descendant attribute stress pseudo-warm: shadow-internal: :has([data-hit|=
PASS: descendant attribute stress pseudo-cold: shadow-internal: :has([data-hit|='yes']) after descendant dash attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress warm: shadow-internal: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress cold: shadow-internal: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: shadow-internal: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: shadow-internal: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: shadow-internal: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: shadow-internal: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress warm: shadow-internal: :has([hidden]) after descendant hidden property change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress cold: shadow-internal: :has([hidden]) after descendant hidden property change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: shadow-internal: :has([hidden]) after descendant hidden property change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -388,8 +388,8 @@ PASS: descendant attribute stress pseudo-warm: shadow-internal: :has(.hit:not([d
PASS: descendant attribute stress pseudo-cold: shadow-internal: :has(.hit:not([data-miss])) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress warm: shadow-internal: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress cold: shadow-internal: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: shadow-internal: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: shadow-internal: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: shadow-internal: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: shadow-internal: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress warm: shadow-internal: :has(.hit + .after) after descendant sibling class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress cold: shadow-internal: :has(.hit + .after) after descendant sibling class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: shadow-internal: :has(.hit + .after) after descendant sibling class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -416,16 +416,16 @@ PASS: descendant attribute stress pseudo-warm: shadow-internal: :has(.hit:nth-ch
PASS: descendant attribute stress pseudo-cold: shadow-internal: :has(.hit:nth-child(2)) after second descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress warm: shadow-internal: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress cold: shadow-internal: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: shadow-internal: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: shadow-internal: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: shadow-internal: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: shadow-internal: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress warm: shadow-internal: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress cold: shadow-internal: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: shadow-internal: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: shadow-internal: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress warm: shadow-internal: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress cold: shadow-internal: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: shadow-internal: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: shadow-internal: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: shadow-internal: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: shadow-internal: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress warm: shadow-internal: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress cold: shadow-internal: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: shadow-internal: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -440,12 +440,12 @@ PASS: descendant attribute stress pseudo-warm: shadow-host: :has(.HIT) after mat
PASS: descendant attribute stress pseudo-cold: shadow-host: :has(.HIT) after matching uppercase descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress warm: shadow-host: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress cold: shadow-host: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress pseudo-warm: shadow-host: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress pseudo-cold: shadow-host: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress pseudo-warm: shadow-host: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: shadow-host: :has(.HIT) ignores lowercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress warm: shadow-host: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress cold: shadow-host: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress pseudo-warm: shadow-host: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress pseudo-cold: shadow-host: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant attribute stress pseudo-warm: shadow-host: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: shadow-host: :has(.hit) ignores uppercase descendant class change in standards mode | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress warm: shadow-host: :has([data-hit]) after descendant attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress cold: shadow-host: :has([data-hit]) after descendant attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: shadow-host: :has([data-hit]) after descendant attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -460,20 +460,20 @@ PASS: descendant attribute stress pseudo-warm: shadow-host: :has(span.hit:not(.m
PASS: descendant attribute stress pseudo-cold: shadow-host: :has(span.hit:not(.miss)) after descendant compound change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress warm: shadow-host: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress cold: shadow-host: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: shadow-host: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: shadow-host: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: shadow-host: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: shadow-host: :not(:has(.hit)) becomes false after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress warm: shadow-host: :has(:is(.hit)) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress cold: shadow-host: :has(:is(.hit)) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: shadow-host: :has(:is(.hit)) after descendant class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: shadow-host: :has(:is(.hit)) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress warm: shadow-host: :has(.hit) becomes false after descendant class removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress cold: shadow-host: :has(.hit) becomes false after descendant class removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: shadow-host: :has(.hit) becomes false after descendant class removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: shadow-host: :has(.hit) becomes false after descendant class removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: shadow-host: :has(.hit) becomes false after descendant class removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: shadow-host: :has(.hit) becomes false after descendant class removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress warm: shadow-host: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress cold: shadow-host: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: shadow-host: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: shadow-host: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: shadow-host: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: shadow-host: :has([data-hit]) becomes false after descendant attribute removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress warm: shadow-host: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress cold: shadow-host: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: shadow-host: :not(:has(.hit)) becomes true after descendant class removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -484,8 +484,8 @@ PASS: descendant attribute stress pseudo-warm: shadow-host: :has(.hit.extra) aft
PASS: descendant attribute stress pseudo-cold: shadow-host: :has(.hit.extra) after descendant second class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress warm: shadow-host: :has(.hit) becomes false after descendant className clear | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress cold: shadow-host: :has(.hit) becomes false after descendant className clear | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: shadow-host: :has(.hit) becomes false after descendant className clear | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: shadow-host: :has(.hit) becomes false after descendant className clear | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: shadow-host: :has(.hit) becomes false after descendant className clear | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: shadow-host: :has(.hit) becomes false after descendant className clear | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress warm: shadow-host: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress cold: shadow-host: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: shadow-host: :has([data-hit='yes']) after descendant attribute value change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -512,8 +512,8 @@ PASS: descendant attribute stress pseudo-warm: shadow-host: :has([data-hit|='yes
PASS: descendant attribute stress pseudo-cold: shadow-host: :has([data-hit|='yes']) after descendant dash attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress warm: shadow-host: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress cold: shadow-host: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: shadow-host: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: shadow-host: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: shadow-host: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: shadow-host: :has([data-hit='yes']) becomes false after descendant value change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress warm: shadow-host: :has([hidden]) after descendant hidden property change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress cold: shadow-host: :has([hidden]) after descendant hidden property change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: shadow-host: :has([hidden]) after descendant hidden property change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -532,8 +532,8 @@ PASS: descendant attribute stress pseudo-warm: shadow-host: :has(.hit:not([data-
PASS: descendant attribute stress pseudo-cold: shadow-host: :has(.hit:not([data-miss])) after descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress warm: shadow-host: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress cold: shadow-host: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: shadow-host: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: shadow-host: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: shadow-host: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: shadow-host: :has(.hit:not([data-miss])) becomes false after descendant miss attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress warm: shadow-host: :has(.hit + .after) after descendant sibling class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress cold: shadow-host: :has(.hit + .after) after descendant sibling class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: shadow-host: :has(.hit + .after) after descendant sibling class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -560,16 +560,16 @@ PASS: descendant attribute stress pseudo-warm: shadow-host: :has(.hit:nth-child(
PASS: descendant attribute stress pseudo-cold: shadow-host: :has(.hit:nth-child(2)) after second descendant class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress warm: shadow-host: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress cold: shadow-host: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: shadow-host: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: shadow-host: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: shadow-host: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: shadow-host: :not(:has([data-hit])) becomes false after descendant attribute change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress warm: shadow-host: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress cold: shadow-host: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: shadow-host: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: shadow-host: :has([data-hit]) becomes true after descendant toggleAttribute | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress warm: shadow-host: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress cold: shadow-host: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: shadow-host: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-cold: shadow-host: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: shadow-host: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress pseudo-cold: shadow-host: :has([data-hit]) becomes false after descendant toggleAttribute | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant attribute stress warm: shadow-host: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress cold: shadow-host: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant attribute stress pseudo-warm: shadow-host: :has(#hit-id.extra) after descendant id and class change | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=2, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2

View file

@ -1,11 +1,11 @@
PASS: descendant text stress warm: document: :has(:empty) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress cold: document: :has(:empty) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: document: :has(:empty) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-cold: document: :has(:empty) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: document: :has(:empty) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress pseudo-cold: document: :has(:empty) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress detached: document: :has(:empty) becomes false after descendant text insert | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-cold: document: :has(:empty) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo: document: :has(:empty) becomes false after descendant text insert | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo-cold: document: :has(:empty) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo: document: :has(:empty) becomes false after descendant text insert | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress detached-pseudo-cold: document: :has(:empty) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress warm: document: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress cold: document: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: document: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -16,12 +16,12 @@ PASS: descendant text stress detached-pseudo: document: :has(:not(:empty)) becom
PASS: descendant text stress detached-pseudo-cold: document: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress warm: document: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress cold: document: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: document: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-cold: document: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: document: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress pseudo-cold: document: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress detached: document: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-cold: document: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo: document: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo-cold: document: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo: document: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress detached-pseudo-cold: document: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress warm: document: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress cold: document: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: document: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -32,12 +32,12 @@ PASS: descendant text stress detached-pseudo: document: :has(.hit:not(:empty)) b
PASS: descendant text stress detached-pseudo-cold: document: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress warm: document: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress cold: document: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: document: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-cold: document: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: document: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress pseudo-cold: document: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress detached: document: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-cold: document: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo: document: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo-cold: document: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo: document: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress detached-pseudo-cold: document: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress warm: document: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress cold: document: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: document: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -48,20 +48,20 @@ PASS: descendant text stress detached-pseudo: document: :has(:not(:empty):first-
PASS: descendant text stress detached-pseudo-cold: document: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress warm: document: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress cold: document: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: document: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-cold: document: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: document: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress pseudo-cold: document: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress detached: document: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-cold: document: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo: document: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo-cold: document: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo: document: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress detached-pseudo-cold: document: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress warm: document-styled-use-shadow: :has(:empty) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress cold: document-styled-use-shadow: :has(:empty) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: document-styled-use-shadow: :has(:empty) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-cold: document-styled-use-shadow: :has(:empty) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: document-styled-use-shadow: :has(:empty) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress pseudo-cold: document-styled-use-shadow: :has(:empty) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress detached: document-styled-use-shadow: :has(:empty) becomes false after descendant text insert | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress detached-cold: document-styled-use-shadow: :has(:empty) becomes false after descendant text insert | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress detached-pseudo: document-styled-use-shadow: :has(:empty) becomes false after descendant text insert | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress detached-pseudo-cold: document-styled-use-shadow: :has(:empty) becomes false after descendant text insert | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress detached-pseudo: document-styled-use-shadow: :has(:empty) becomes false after descendant text insert | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant text stress detached-pseudo-cold: document-styled-use-shadow: :has(:empty) becomes false after descendant text insert | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant text stress warm: document-styled-use-shadow: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress cold: document-styled-use-shadow: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: document-styled-use-shadow: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -72,12 +72,12 @@ PASS: descendant text stress detached-pseudo: document-styled-use-shadow: :has(:
PASS: descendant text stress detached-pseudo-cold: document-styled-use-shadow: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress warm: document-styled-use-shadow: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress cold: document-styled-use-shadow: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: document-styled-use-shadow: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-cold: document-styled-use-shadow: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: document-styled-use-shadow: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress pseudo-cold: document-styled-use-shadow: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress detached: document-styled-use-shadow: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress detached-cold: document-styled-use-shadow: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress detached-pseudo: document-styled-use-shadow: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress detached-pseudo-cold: document-styled-use-shadow: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress detached-pseudo: document-styled-use-shadow: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant text stress detached-pseudo-cold: document-styled-use-shadow: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant text stress warm: document-styled-use-shadow: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress cold: document-styled-use-shadow: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: document-styled-use-shadow: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -88,12 +88,12 @@ PASS: descendant text stress detached-pseudo: document-styled-use-shadow: :has(.
PASS: descendant text stress detached-pseudo-cold: document-styled-use-shadow: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress warm: document-styled-use-shadow: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress cold: document-styled-use-shadow: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: document-styled-use-shadow: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-cold: document-styled-use-shadow: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: document-styled-use-shadow: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress pseudo-cold: document-styled-use-shadow: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress detached: document-styled-use-shadow: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress detached-cold: document-styled-use-shadow: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress detached-pseudo: document-styled-use-shadow: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress detached-pseudo-cold: document-styled-use-shadow: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress detached-pseudo: document-styled-use-shadow: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant text stress detached-pseudo-cold: document-styled-use-shadow: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant text stress warm: document-styled-use-shadow: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress cold: document-styled-use-shadow: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: document-styled-use-shadow: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -104,20 +104,20 @@ PASS: descendant text stress detached-pseudo: document-styled-use-shadow: :has(:
PASS: descendant text stress detached-pseudo-cold: document-styled-use-shadow: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress warm: document-styled-use-shadow: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress cold: document-styled-use-shadow: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: document-styled-use-shadow: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-cold: document-styled-use-shadow: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: document-styled-use-shadow: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress pseudo-cold: document-styled-use-shadow: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress detached: document-styled-use-shadow: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress detached-cold: document-styled-use-shadow: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress detached-pseudo: document-styled-use-shadow: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress detached-pseudo-cold: document-styled-use-shadow: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress detached-pseudo: document-styled-use-shadow: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant text stress detached-pseudo-cold: document-styled-use-shadow: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=8, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant text stress warm: shadow-internal: :has(:empty) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress cold: shadow-internal: :has(:empty) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: shadow-internal: :has(:empty) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-cold: shadow-internal: :has(:empty) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: shadow-internal: :has(:empty) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress pseudo-cold: shadow-internal: :has(:empty) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress detached: shadow-internal: :has(:empty) becomes false after descendant text insert | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant text stress detached-cold: shadow-internal: :has(:empty) becomes false after descendant text insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo: shadow-internal: :has(:empty) becomes false after descendant text insert | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant text stress detached-pseudo-cold: shadow-internal: :has(:empty) becomes false after descendant text insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo-cold: shadow-internal: :has(:empty) becomes false after descendant text insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress warm: shadow-internal: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress cold: shadow-internal: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: shadow-internal: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -128,12 +128,12 @@ PASS: descendant text stress detached-pseudo: shadow-internal: :has(:not(:empty)
PASS: descendant text stress detached-pseudo-cold: shadow-internal: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress warm: shadow-internal: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress cold: shadow-internal: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: shadow-internal: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-cold: shadow-internal: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: shadow-internal: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress pseudo-cold: shadow-internal: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress detached: shadow-internal: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant text stress detached-cold: shadow-internal: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo: shadow-internal: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant text stress detached-pseudo-cold: shadow-internal: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo-cold: shadow-internal: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress warm: shadow-internal: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress cold: shadow-internal: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: shadow-internal: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -144,12 +144,12 @@ PASS: descendant text stress detached-pseudo: shadow-internal: :has(.hit:not(:em
PASS: descendant text stress detached-pseudo-cold: shadow-internal: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress warm: shadow-internal: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress cold: shadow-internal: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: shadow-internal: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-cold: shadow-internal: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: shadow-internal: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress pseudo-cold: shadow-internal: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress detached: shadow-internal: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant text stress detached-cold: shadow-internal: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo: shadow-internal: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant text stress detached-pseudo-cold: shadow-internal: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo-cold: shadow-internal: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress warm: shadow-internal: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress cold: shadow-internal: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: shadow-internal: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -160,20 +160,20 @@ PASS: descendant text stress detached-pseudo: shadow-internal: :has(:not(:empty)
PASS: descendant text stress detached-pseudo-cold: shadow-internal: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress warm: shadow-internal: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress cold: shadow-internal: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: shadow-internal: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-cold: shadow-internal: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: shadow-internal: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress pseudo-cold: shadow-internal: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress detached: shadow-internal: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant text stress detached-cold: shadow-internal: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo: shadow-internal: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant text stress detached-pseudo-cold: shadow-internal: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo-cold: shadow-internal: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress warm: shadow-host: :has(:empty) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress cold: shadow-host: :has(:empty) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: shadow-host: :has(:empty) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-cold: shadow-host: :has(:empty) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: shadow-host: :has(:empty) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress pseudo-cold: shadow-host: :has(:empty) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress detached: shadow-host: :has(:empty) becomes false after descendant text insert | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant text stress detached-cold: shadow-host: :has(:empty) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo: shadow-host: :has(:empty) becomes false after descendant text insert | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant text stress detached-pseudo-cold: shadow-host: :has(:empty) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo: shadow-host: :has(:empty) becomes false after descendant text insert | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo-cold: shadow-host: :has(:empty) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress warm: shadow-host: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress cold: shadow-host: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: shadow-host: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -184,12 +184,12 @@ PASS: descendant text stress detached-pseudo: shadow-host: :has(:not(:empty)) be
PASS: descendant text stress detached-pseudo-cold: shadow-host: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress warm: shadow-host: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress cold: shadow-host: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: shadow-host: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-cold: shadow-host: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: shadow-host: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress pseudo-cold: shadow-host: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress detached: shadow-host: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant text stress detached-cold: shadow-host: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo: shadow-host: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant text stress detached-pseudo-cold: shadow-host: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo: shadow-host: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo-cold: shadow-host: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress warm: shadow-host: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress cold: shadow-host: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: shadow-host: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -200,12 +200,12 @@ PASS: descendant text stress detached-pseudo: shadow-host: :has(.hit:not(:empty)
PASS: descendant text stress detached-pseudo-cold: shadow-host: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress warm: shadow-host: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress cold: shadow-host: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: shadow-host: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-cold: shadow-host: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: shadow-host: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress pseudo-cold: shadow-host: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress detached: shadow-host: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant text stress detached-cold: shadow-host: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo: shadow-host: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant text stress detached-pseudo-cold: shadow-host: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo: shadow-host: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo-cold: shadow-host: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress warm: shadow-host: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress cold: shadow-host: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: shadow-host: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
@ -216,12 +216,12 @@ PASS: descendant text stress detached-pseudo: shadow-host: :has(:not(:empty):fir
PASS: descendant text stress detached-pseudo-cold: shadow-host: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress warm: shadow-host: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress cold: shadow-host: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: shadow-host: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-cold: shadow-host: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: shadow-host: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress pseudo-cold: shadow-host: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress detached: shadow-host: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant text stress detached-cold: shadow-host: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo: shadow-host: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant text stress detached-pseudo-cold: shadow-host: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo: shadow-host: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo-cold: shadow-host: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress warm: slotted-default: :has(:empty) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress cold: slotted-default: :has(:empty) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached: slotted-default: :has(:empty) becomes false after descendant text insert | styleInvalidations=10, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
@ -344,12 +344,12 @@ PASS: descendant text stress detached-pseudo: part-document: :has(:empty) become
PASS: descendant text stress detached-pseudo-cold: part-document: :has(:empty) becomes false after descendant text insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress warm: part-document: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress cold: part-document: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: part-document: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress pseudo-cold: part-document: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress pseudo-warm: part-document: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-cold: part-document: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached: part-document: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-cold: part-document: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo: part-document: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress detached-pseudo-cold: part-document: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress detached-pseudo: part-document: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo-cold: part-document: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress warm: part-document: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress cold: part-document: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: part-document: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
@ -360,12 +360,12 @@ PASS: descendant text stress detached-pseudo: part-document: :has(.hit:empty) be
PASS: descendant text stress detached-pseudo-cold: part-document: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress warm: part-document: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress cold: part-document: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: part-document: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress pseudo-cold: part-document: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress pseudo-warm: part-document: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-cold: part-document: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached: part-document: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-cold: part-document: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo: part-document: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress detached-pseudo-cold: part-document: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress detached-pseudo: part-document: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo-cold: part-document: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress warm: part-document: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress cold: part-document: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: part-document: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
@ -376,12 +376,12 @@ PASS: descendant text stress detached-pseudo: part-document: :has(:empty:first-c
PASS: descendant text stress detached-pseudo-cold: part-document: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress warm: part-document: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress cold: part-document: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: part-document: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress pseudo-cold: part-document: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress pseudo-warm: part-document: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-cold: part-document: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached: part-document: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-cold: part-document: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo: part-document: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress detached-pseudo-cold: part-document: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress detached-pseudo: part-document: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=7, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo-cold: part-document: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress warm: part-document: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress cold: part-document: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: part-document: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
@ -393,280 +393,280 @@ PASS: descendant text stress detached-pseudo-cold: part-document: :not(:has(:not
PASS: descendant text stress warm: part-shadow-host-document: :has(:empty) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress cold: part-shadow-host-document: :has(:empty) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: part-shadow-host-document: :has(:empty) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress pseudo-cold: part-shadow-host-document: :has(:empty) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant text stress pseudo-cold: part-shadow-host-document: :has(:empty) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress detached: part-shadow-host-document: :has(:empty) becomes false after descendant text insert | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-cold: part-shadow-host-document: :has(:empty) becomes false after descendant text insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo: part-shadow-host-document: :has(:empty) becomes false after descendant text insert | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant text stress detached-pseudo-cold: part-shadow-host-document: :has(:empty) becomes false after descendant text insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant text stress detached-pseudo: part-shadow-host-document: :has(:empty) becomes false after descendant text insert | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress detached-pseudo-cold: part-shadow-host-document: :has(:empty) becomes false after descendant text insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress warm: part-shadow-host-document: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress cold: part-shadow-host-document: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: part-shadow-host-document: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress pseudo-cold: part-shadow-host-document: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant text stress pseudo-warm: part-shadow-host-document: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-cold: part-shadow-host-document: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached: part-shadow-host-document: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-cold: part-shadow-host-document: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo: part-shadow-host-document: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant text stress detached-pseudo-cold: part-shadow-host-document: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant text stress detached-pseudo: part-shadow-host-document: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo-cold: part-shadow-host-document: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress warm: part-shadow-host-document: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress cold: part-shadow-host-document: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: part-shadow-host-document: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress pseudo-cold: part-shadow-host-document: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant text stress pseudo-cold: part-shadow-host-document: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress detached: part-shadow-host-document: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-cold: part-shadow-host-document: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo: part-shadow-host-document: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant text stress detached-pseudo-cold: part-shadow-host-document: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant text stress detached-pseudo: part-shadow-host-document: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress detached-pseudo-cold: part-shadow-host-document: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress warm: part-shadow-host-document: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress cold: part-shadow-host-document: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: part-shadow-host-document: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress pseudo-cold: part-shadow-host-document: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant text stress pseudo-warm: part-shadow-host-document: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-cold: part-shadow-host-document: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached: part-shadow-host-document: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-cold: part-shadow-host-document: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo: part-shadow-host-document: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant text stress detached-pseudo-cold: part-shadow-host-document: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant text stress detached-pseudo: part-shadow-host-document: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo-cold: part-shadow-host-document: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress warm: part-shadow-host-document: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress cold: part-shadow-host-document: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: part-shadow-host-document: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress pseudo-cold: part-shadow-host-document: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant text stress pseudo-cold: part-shadow-host-document: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress detached: part-shadow-host-document: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-cold: part-shadow-host-document: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo: part-shadow-host-document: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant text stress detached-pseudo-cold: part-shadow-host-document: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant text stress detached-pseudo: part-shadow-host-document: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress detached-pseudo-cold: part-shadow-host-document: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress warm: part-shadow-host-document: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress cold: part-shadow-host-document: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: part-shadow-host-document: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress pseudo-cold: part-shadow-host-document: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant text stress pseudo-warm: part-shadow-host-document: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-cold: part-shadow-host-document: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached: part-shadow-host-document: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-cold: part-shadow-host-document: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo: part-shadow-host-document: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant text stress detached-pseudo-cold: part-shadow-host-document: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant text stress detached-pseudo: part-shadow-host-document: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo-cold: part-shadow-host-document: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress warm: part-shadow-host-document: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress cold: part-shadow-host-document: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: part-shadow-host-document: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress pseudo-cold: part-shadow-host-document: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant text stress pseudo-cold: part-shadow-host-document: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress detached: part-shadow-host-document: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-cold: part-shadow-host-document: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo: part-shadow-host-document: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant text stress detached-pseudo-cold: part-shadow-host-document: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: descendant text stress detached-pseudo: part-shadow-host-document: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress detached-pseudo-cold: part-shadow-host-document: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress warm: part-shadow-internal: :has(:empty) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress cold: part-shadow-internal: :has(:empty) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: part-shadow-internal: :has(:empty) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant text stress pseudo-cold: part-shadow-internal: :has(:empty) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant text stress pseudo-cold: part-shadow-internal: :has(:empty) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant text stress detached: part-shadow-internal: :has(:empty) becomes false after descendant text insert | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant text stress detached-cold: part-shadow-internal: :has(:empty) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo: part-shadow-internal: :has(:empty) becomes false after descendant text insert | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant text stress detached-pseudo-cold: part-shadow-internal: :has(:empty) becomes false after descendant text insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant text stress detached-pseudo: part-shadow-internal: :has(:empty) becomes false after descendant text insert | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo-cold: part-shadow-internal: :has(:empty) becomes false after descendant text insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant text stress warm: part-shadow-internal: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress cold: part-shadow-internal: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: part-shadow-internal: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant text stress pseudo-cold: part-shadow-internal: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant text stress pseudo-warm: part-shadow-internal: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress pseudo-cold: part-shadow-internal: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress detached: part-shadow-internal: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant text stress detached-cold: part-shadow-internal: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo: part-shadow-internal: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant text stress detached-pseudo-cold: part-shadow-internal: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant text stress detached-pseudo: part-shadow-internal: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant text stress detached-pseudo-cold: part-shadow-internal: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress warm: part-shadow-internal: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress cold: part-shadow-internal: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: part-shadow-internal: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant text stress pseudo-cold: part-shadow-internal: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant text stress pseudo-cold: part-shadow-internal: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant text stress detached: part-shadow-internal: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant text stress detached-cold: part-shadow-internal: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo: part-shadow-internal: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant text stress detached-pseudo-cold: part-shadow-internal: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant text stress detached-pseudo: part-shadow-internal: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo-cold: part-shadow-internal: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant text stress warm: part-shadow-internal: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress cold: part-shadow-internal: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: part-shadow-internal: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant text stress pseudo-cold: part-shadow-internal: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant text stress pseudo-warm: part-shadow-internal: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress pseudo-cold: part-shadow-internal: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress detached: part-shadow-internal: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant text stress detached-cold: part-shadow-internal: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo: part-shadow-internal: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant text stress detached-pseudo-cold: part-shadow-internal: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant text stress detached-pseudo: part-shadow-internal: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant text stress detached-pseudo-cold: part-shadow-internal: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress warm: part-shadow-internal: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress cold: part-shadow-internal: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: part-shadow-internal: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant text stress pseudo-cold: part-shadow-internal: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant text stress pseudo-cold: part-shadow-internal: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant text stress detached: part-shadow-internal: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant text stress detached-cold: part-shadow-internal: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo: part-shadow-internal: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant text stress detached-pseudo-cold: part-shadow-internal: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant text stress detached-pseudo: part-shadow-internal: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo-cold: part-shadow-internal: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant text stress warm: part-shadow-internal: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress cold: part-shadow-internal: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: part-shadow-internal: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant text stress pseudo-cold: part-shadow-internal: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant text stress pseudo-warm: part-shadow-internal: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress pseudo-cold: part-shadow-internal: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress detached: part-shadow-internal: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant text stress detached-cold: part-shadow-internal: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo: part-shadow-internal: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant text stress detached-pseudo-cold: part-shadow-internal: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant text stress detached-pseudo: part-shadow-internal: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant text stress detached-pseudo-cold: part-shadow-internal: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress warm: part-shadow-internal: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress cold: part-shadow-internal: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: part-shadow-internal: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant text stress pseudo-cold: part-shadow-internal: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant text stress pseudo-cold: part-shadow-internal: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant text stress detached: part-shadow-internal: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant text stress detached-cold: part-shadow-internal: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo: part-shadow-internal: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant text stress detached-pseudo-cold: part-shadow-internal: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: descendant text stress detached-pseudo: part-shadow-internal: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=9, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo-cold: part-shadow-internal: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant text stress warm: part-shadow-host-internal: :has(:empty) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress cold: part-shadow-host-internal: :has(:empty) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: part-shadow-host-internal: :has(:empty) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant text stress pseudo-cold: part-shadow-host-internal: :has(:empty) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant text stress pseudo-cold: part-shadow-host-internal: :has(:empty) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant text stress detached: part-shadow-host-internal: :has(:empty) becomes false after descendant text insert | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant text stress detached-cold: part-shadow-host-internal: :has(:empty) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo: part-shadow-host-internal: :has(:empty) becomes false after descendant text insert | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant text stress detached-pseudo-cold: part-shadow-host-internal: :has(:empty) becomes false after descendant text insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant text stress detached-pseudo: part-shadow-host-internal: :has(:empty) becomes false after descendant text insert | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo-cold: part-shadow-host-internal: :has(:empty) becomes false after descendant text insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant text stress warm: part-shadow-host-internal: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress cold: part-shadow-host-internal: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: part-shadow-host-internal: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant text stress pseudo-cold: part-shadow-host-internal: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant text stress pseudo-warm: part-shadow-host-internal: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress pseudo-cold: part-shadow-host-internal: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress detached: part-shadow-host-internal: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant text stress detached-cold: part-shadow-host-internal: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo: part-shadow-host-internal: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant text stress detached-pseudo-cold: part-shadow-host-internal: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant text stress detached-pseudo: part-shadow-host-internal: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant text stress detached-pseudo-cold: part-shadow-host-internal: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress warm: part-shadow-host-internal: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress cold: part-shadow-host-internal: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: part-shadow-host-internal: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant text stress pseudo-cold: part-shadow-host-internal: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant text stress pseudo-cold: part-shadow-host-internal: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant text stress detached: part-shadow-host-internal: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant text stress detached-cold: part-shadow-host-internal: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo: part-shadow-host-internal: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant text stress detached-pseudo-cold: part-shadow-host-internal: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant text stress detached-pseudo: part-shadow-host-internal: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo-cold: part-shadow-host-internal: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant text stress warm: part-shadow-host-internal: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress cold: part-shadow-host-internal: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: part-shadow-host-internal: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant text stress pseudo-cold: part-shadow-host-internal: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant text stress pseudo-warm: part-shadow-host-internal: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress pseudo-cold: part-shadow-host-internal: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress detached: part-shadow-host-internal: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant text stress detached-cold: part-shadow-host-internal: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo: part-shadow-host-internal: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant text stress detached-pseudo-cold: part-shadow-host-internal: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant text stress detached-pseudo: part-shadow-host-internal: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant text stress detached-pseudo-cold: part-shadow-host-internal: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress warm: part-shadow-host-internal: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress cold: part-shadow-host-internal: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: part-shadow-host-internal: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant text stress pseudo-cold: part-shadow-host-internal: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant text stress pseudo-cold: part-shadow-host-internal: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant text stress detached: part-shadow-host-internal: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant text stress detached-cold: part-shadow-host-internal: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo: part-shadow-host-internal: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant text stress detached-pseudo-cold: part-shadow-host-internal: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant text stress detached-pseudo: part-shadow-host-internal: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo-cold: part-shadow-host-internal: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant text stress warm: part-shadow-host-internal: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress cold: part-shadow-host-internal: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: part-shadow-host-internal: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant text stress pseudo-cold: part-shadow-host-internal: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant text stress pseudo-warm: part-shadow-host-internal: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress pseudo-cold: part-shadow-host-internal: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress detached: part-shadow-host-internal: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant text stress detached-cold: part-shadow-host-internal: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo: part-shadow-host-internal: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant text stress detached-pseudo-cold: part-shadow-host-internal: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant text stress detached-pseudo: part-shadow-host-internal: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant text stress detached-pseudo-cold: part-shadow-host-internal: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress warm: part-shadow-host-internal: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress cold: part-shadow-host-internal: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: part-shadow-host-internal: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant text stress pseudo-cold: part-shadow-host-internal: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant text stress pseudo-cold: part-shadow-host-internal: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant text stress detached: part-shadow-host-internal: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant text stress detached-cold: part-shadow-host-internal: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo: part-shadow-host-internal: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=1
PASS: descendant text stress detached-pseudo-cold: part-shadow-host-internal: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: descendant text stress detached-pseudo: part-shadow-host-internal: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo-cold: part-shadow-host-internal: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: descendant text stress warm: part-shadow-ancestor: :has(:empty) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress cold: part-shadow-ancestor: :has(:empty) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: part-shadow-ancestor: :has(:empty) becomes false after descendant text insert | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant text stress pseudo-cold: part-shadow-ancestor: :has(:empty) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant text stress pseudo-warm: part-shadow-ancestor: :has(:empty) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress pseudo-cold: part-shadow-ancestor: :has(:empty) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress detached: part-shadow-ancestor: :has(:empty) becomes false after descendant text insert | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant text stress detached-cold: part-shadow-ancestor: :has(:empty) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo: part-shadow-ancestor: :has(:empty) becomes false after descendant text insert | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo-cold: part-shadow-ancestor: :has(:empty) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant text stress detached-pseudo: part-shadow-ancestor: :has(:empty) becomes false after descendant text insert | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo-cold: part-shadow-ancestor: :has(:empty) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress warm: part-shadow-ancestor: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress cold: part-shadow-ancestor: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: part-shadow-ancestor: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant text stress pseudo-cold: part-shadow-ancestor: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant text stress pseudo-warm: part-shadow-ancestor: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-cold: part-shadow-ancestor: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached: part-shadow-ancestor: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant text stress detached-cold: part-shadow-ancestor: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo: part-shadow-ancestor: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo-cold: part-shadow-ancestor: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant text stress detached-pseudo: part-shadow-ancestor: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant text stress detached-pseudo-cold: part-shadow-ancestor: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress warm: part-shadow-ancestor: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress cold: part-shadow-ancestor: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: part-shadow-ancestor: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant text stress pseudo-cold: part-shadow-ancestor: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant text stress pseudo-warm: part-shadow-ancestor: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress pseudo-cold: part-shadow-ancestor: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress detached: part-shadow-ancestor: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant text stress detached-cold: part-shadow-ancestor: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo: part-shadow-ancestor: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo-cold: part-shadow-ancestor: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant text stress detached-pseudo: part-shadow-ancestor: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo-cold: part-shadow-ancestor: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress warm: part-shadow-ancestor: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress cold: part-shadow-ancestor: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: part-shadow-ancestor: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant text stress pseudo-cold: part-shadow-ancestor: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant text stress pseudo-warm: part-shadow-ancestor: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-cold: part-shadow-ancestor: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached: part-shadow-ancestor: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant text stress detached-cold: part-shadow-ancestor: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo: part-shadow-ancestor: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo-cold: part-shadow-ancestor: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant text stress detached-pseudo: part-shadow-ancestor: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant text stress detached-pseudo-cold: part-shadow-ancestor: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress warm: part-shadow-ancestor: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress cold: part-shadow-ancestor: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: part-shadow-ancestor: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant text stress pseudo-cold: part-shadow-ancestor: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant text stress pseudo-warm: part-shadow-ancestor: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress pseudo-cold: part-shadow-ancestor: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress detached: part-shadow-ancestor: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant text stress detached-cold: part-shadow-ancestor: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo: part-shadow-ancestor: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo-cold: part-shadow-ancestor: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant text stress detached-pseudo: part-shadow-ancestor: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo-cold: part-shadow-ancestor: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress warm: part-shadow-ancestor: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress cold: part-shadow-ancestor: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: part-shadow-ancestor: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant text stress pseudo-cold: part-shadow-ancestor: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant text stress pseudo-warm: part-shadow-ancestor: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-cold: part-shadow-ancestor: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached: part-shadow-ancestor: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant text stress detached-cold: part-shadow-ancestor: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo: part-shadow-ancestor: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo-cold: part-shadow-ancestor: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant text stress detached-pseudo: part-shadow-ancestor: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant text stress detached-pseudo-cold: part-shadow-ancestor: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress warm: part-shadow-ancestor: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress cold: part-shadow-ancestor: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: part-shadow-ancestor: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant text stress pseudo-cold: part-shadow-ancestor: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant text stress pseudo-warm: part-shadow-ancestor: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress pseudo-cold: part-shadow-ancestor: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress detached: part-shadow-ancestor: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant text stress detached-cold: part-shadow-ancestor: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo: part-shadow-ancestor: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo-cold: part-shadow-ancestor: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant text stress detached-pseudo: part-shadow-ancestor: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=11, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo-cold: part-shadow-ancestor: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress warm: part-shadow-host-ancestor: :has(:empty) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress cold: part-shadow-host-ancestor: :has(:empty) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: part-shadow-host-ancestor: :has(:empty) becomes false after descendant text insert | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant text stress pseudo-cold: part-shadow-host-ancestor: :has(:empty) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant text stress pseudo-warm: part-shadow-host-ancestor: :has(:empty) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress pseudo-cold: part-shadow-host-ancestor: :has(:empty) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress detached: part-shadow-host-ancestor: :has(:empty) becomes false after descendant text insert | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant text stress detached-cold: part-shadow-host-ancestor: :has(:empty) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo: part-shadow-host-ancestor: :has(:empty) becomes false after descendant text insert | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo-cold: part-shadow-host-ancestor: :has(:empty) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant text stress detached-pseudo: part-shadow-host-ancestor: :has(:empty) becomes false after descendant text insert | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo-cold: part-shadow-host-ancestor: :has(:empty) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress warm: part-shadow-host-ancestor: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress cold: part-shadow-host-ancestor: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: part-shadow-host-ancestor: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant text stress pseudo-cold: part-shadow-host-ancestor: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant text stress pseudo-warm: part-shadow-host-ancestor: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-cold: part-shadow-host-ancestor: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached: part-shadow-host-ancestor: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant text stress detached-cold: part-shadow-host-ancestor: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo: part-shadow-host-ancestor: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo-cold: part-shadow-host-ancestor: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant text stress detached-pseudo: part-shadow-host-ancestor: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant text stress detached-pseudo-cold: part-shadow-host-ancestor: :has(:not(:empty)) becomes true after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress warm: part-shadow-host-ancestor: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress cold: part-shadow-host-ancestor: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: part-shadow-host-ancestor: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant text stress pseudo-cold: part-shadow-host-ancestor: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant text stress pseudo-warm: part-shadow-host-ancestor: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress pseudo-cold: part-shadow-host-ancestor: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress detached: part-shadow-host-ancestor: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant text stress detached-cold: part-shadow-host-ancestor: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo: part-shadow-host-ancestor: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo-cold: part-shadow-host-ancestor: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant text stress detached-pseudo: part-shadow-host-ancestor: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo-cold: part-shadow-host-ancestor: :has(.hit:empty) becomes false after descendant textContent insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress warm: part-shadow-host-ancestor: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress cold: part-shadow-host-ancestor: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: part-shadow-host-ancestor: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant text stress pseudo-cold: part-shadow-host-ancestor: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant text stress pseudo-warm: part-shadow-host-ancestor: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-cold: part-shadow-host-ancestor: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached: part-shadow-host-ancestor: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant text stress detached-cold: part-shadow-host-ancestor: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo: part-shadow-host-ancestor: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo-cold: part-shadow-host-ancestor: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant text stress detached-pseudo: part-shadow-host-ancestor: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant text stress detached-pseudo-cold: part-shadow-host-ancestor: :has(.hit:not(:empty)) becomes true after descendant textContent insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress warm: part-shadow-host-ancestor: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress cold: part-shadow-host-ancestor: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: part-shadow-host-ancestor: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant text stress pseudo-cold: part-shadow-host-ancestor: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant text stress pseudo-warm: part-shadow-host-ancestor: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress pseudo-cold: part-shadow-host-ancestor: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress detached: part-shadow-host-ancestor: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant text stress detached-cold: part-shadow-host-ancestor: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo: part-shadow-host-ancestor: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo-cold: part-shadow-host-ancestor: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant text stress detached-pseudo: part-shadow-host-ancestor: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo-cold: part-shadow-host-ancestor: :has(:empty:first-child) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress warm: part-shadow-host-ancestor: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress cold: part-shadow-host-ancestor: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: part-shadow-host-ancestor: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant text stress pseudo-cold: part-shadow-host-ancestor: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant text stress pseudo-warm: part-shadow-host-ancestor: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-cold: part-shadow-host-ancestor: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached: part-shadow-host-ancestor: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant text stress detached-cold: part-shadow-host-ancestor: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo: part-shadow-host-ancestor: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo-cold: part-shadow-host-ancestor: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant text stress detached-pseudo: part-shadow-host-ancestor: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant text stress detached-pseudo-cold: part-shadow-host-ancestor: :has(:not(:empty):first-child) becomes true after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress warm: part-shadow-host-ancestor: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress cold: part-shadow-host-ancestor: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress pseudo-warm: part-shadow-host-ancestor: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: descendant text stress pseudo-cold: part-shadow-host-ancestor: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant text stress pseudo-warm: part-shadow-host-ancestor: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress pseudo-cold: part-shadow-host-ancestor: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: descendant text stress detached: part-shadow-host-ancestor: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: descendant text stress detached-cold: part-shadow-host-ancestor: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo: part-shadow-host-ancestor: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo-cold: part-shadow-host-ancestor: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: descendant text stress detached-pseudo: part-shadow-host-ancestor: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=13, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: descendant text stress detached-pseudo-cold: part-shadow-host-ancestor: :not(:has(:not(:empty))) becomes false after descendant text insert | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3

View file

@ -17,23 +17,23 @@ PASS: detached child mutation: slotted-shadow-host-default: :has(.hit) after dir
PASS: detached child mutation: slotted-shadow-host-default: :has(.hit ~ .after) after indirect sibling append | styleInvalidations=13, fullStyleInvalidations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: slotted-shadow-host-default: :has(.hit, .fallback) after first-list child append | styleInvalidations=7, fullStyleInvalidations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-document: :has(.hit) after direct child append | styleInvalidations=6, fullStyleInvalidations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-document: :has(.hit) after direct child append | styleInvalidations=6, fullStyleInvalidations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: detached pseudo-element child mutation: part-document: :has(.hit) after direct child append | styleInvalidations=6, fullStyleInvalidations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached child mutation: part-document: :has(.hit ~ .after) after indirect sibling append | styleInvalidations=8, fullStyleInvalidations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-document: :has(.hit ~ .after) after indirect sibling append | styleInvalidations=8, fullStyleInvalidations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=0, hasResultCacheMisses=5
PASS: detached pseudo-element child mutation: part-document: :has(.hit ~ .after) after indirect sibling append | styleInvalidations=8, fullStyleInvalidations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached child mutation: part-document: :has(.hit, .fallback) after first-list child append | styleInvalidations=6, fullStyleInvalidations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-document: :has(.hit, .fallback) after first-list child append | styleInvalidations=6, fullStyleInvalidations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: detached pseudo-element child mutation: part-document: :has(.hit, .fallback) after first-list child append | styleInvalidations=6, fullStyleInvalidations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-host-document: :has(.hit) after direct child append | styleInvalidations=6, fullStyleInvalidations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-document: :has(.hit) after direct child append | styleInvalidations=6, fullStyleInvalidations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: detached pseudo-element child mutation: part-shadow-host-document: :has(.hit) after direct child append | styleInvalidations=6, fullStyleInvalidations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-host-document: :has(.hit ~ .after) after indirect sibling append | styleInvalidations=10, fullStyleInvalidations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-document: :has(.hit ~ .after) after indirect sibling append | styleInvalidations=10, fullStyleInvalidations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=0, hasResultCacheMisses=6
PASS: detached pseudo-element child mutation: part-shadow-host-document: :has(.hit ~ .after) after indirect sibling append | styleInvalidations=10, fullStyleInvalidations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-host-document: :has(.hit, .fallback) after first-list child append | styleInvalidations=6, fullStyleInvalidations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-document: :has(.hit, .fallback) after first-list child append | styleInvalidations=6, fullStyleInvalidations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=0, hasResultCacheMisses=6
PASS: detached pseudo-element child mutation: part-shadow-host-document: :has(.hit, .fallback) after first-list child append | styleInvalidations=6, fullStyleInvalidations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: detached child mutation: part-shadow-host-ancestor: :has(.hit) after direct child append | styleInvalidations=8, fullStyleInvalidations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit) after direct child append | styleInvalidations=8, fullStyleInvalidations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit) after direct child append | styleInvalidations=8, fullStyleInvalidations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(.hit ~ .after) after indirect sibling append | styleInvalidations=14, fullStyleInvalidations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit ~ .after) after indirect sibling append | styleInvalidations=14, fullStyleInvalidations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=2
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit ~ .after) after indirect sibling append | styleInvalidations=14, fullStyleInvalidations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached child mutation: part-shadow-host-ancestor: :has(.hit, .fallback) after first-list child append | styleInvalidations=8, fullStyleInvalidations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit, .fallback) after first-list child append | styleInvalidations=8, fullStyleInvalidations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=7, hasResultCacheHits=2, hasResultCacheMisses=3
PASS: detached pseudo-element child mutation: part-shadow-host-ancestor: :has(.hit, .fallback) after first-list child append | styleInvalidations=8, fullStyleInvalidations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=1, hasResultCacheHits=0, hasResultCacheMisses=1
PASS: precomputed detached insertion: descendant class selector | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: precomputed detached insertion stress append: descendant class selector | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: precomputed detached insertion stress prepend: descendant class selector | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0

View file

@ -19,38 +19,38 @@ PASS: part child mutation: part-document: ::part():dir(rtl) after dir=auto text
PASS: part pseudo-element child mutation: part-document: ::part():dir(rtl) after dir=auto text mutation | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: part pseudo-element child mutation without warmup: part-document: ::part():dir(rtl) after dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: part child mutation: part-document: ::part():has(.hit) after direct child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-document: ::part():has(.hit) after direct child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: part pseudo-element child mutation without warmup: part-document: ::part():has(.hit) after direct child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: part pseudo-element child mutation: part-document: ::part():has(.hit) after direct child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation without warmup: part-document: ::part():has(.hit) after direct child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part child mutation: part-document: ::part():has(> .hit) after direct child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-document: ::part():has(> .hit) after direct child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: part pseudo-element child mutation without warmup: part-document: ::part():has(> .hit) after direct child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: part pseudo-element child mutation: part-document: ::part():has(> .hit) after direct child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation without warmup: part-document: ::part():has(> .hit) after direct child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part child mutation: part-document: ::part():has(.outer .middle .hit) after deep child append | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=3, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-document: ::part():has(.outer .middle .hit) after deep child append | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=3, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=3
PASS: part pseudo-element child mutation without warmup: part-document: ::part():has(.outer .middle .hit) after deep child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=3, hasMatchInvocations=5, hasResultCacheHits=2, hasResultCacheMisses=3
PASS: part pseudo-element child mutation: part-document: ::part():has(.outer .middle .hit) after deep child append | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=3, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation without warmup: part-document: ::part():has(.outer .middle .hit) after deep child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=3, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part child mutation: part-document: ::part():has(.hit + .after) after adjacent sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-document: ::part():has(.hit + .after) after adjacent sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: part pseudo-element child mutation without warmup: part-document: ::part():has(.hit + .after) after adjacent sibling append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: part pseudo-element child mutation: part-document: ::part():has(.hit + .after) after adjacent sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation without warmup: part-document: ::part():has(.hit + .after) after adjacent sibling append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part child mutation: part-document: ::part():has(.hit ~ .after) after indirect sibling append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-document: ::part():has(.hit ~ .after) after indirect sibling append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=0, hasResultCacheMisses=5
PASS: part pseudo-element child mutation without warmup: part-document: ::part():has(.hit ~ .after) after indirect sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=0, hasResultCacheMisses=5
PASS: part pseudo-element child mutation: part-document: ::part():has(.hit ~ .after) after indirect sibling append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation without warmup: part-document: ::part():has(.hit ~ .after) after indirect sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part child mutation: part-document: ::part():has(rect.hit) after SVG child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-document: ::part():has(rect.hit) after SVG child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: part pseudo-element child mutation without warmup: part-document: ::part():has(rect.hit) after SVG child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: part pseudo-element child mutation: part-document: ::part():has(rect.hit) after SVG child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation without warmup: part-document: ::part():has(rect.hit) after SVG child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part child mutation: part-document: ::part():has(.hit:first-child) after prepend | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-document: ::part():has(.hit:first-child) after prepend | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: part pseudo-element child mutation without warmup: part-document: ::part():has(.hit:first-child) after prepend | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: part pseudo-element child mutation: part-document: ::part():has(.hit:first-child) after prepend | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation without warmup: part-document: ::part():has(.hit:first-child) after prepend | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part child mutation: part-document: ::part():has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-document: ::part():has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: part pseudo-element child mutation: part-document: ::part():has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: part child mutation: part-document: ::part():not(:has(.hit)) becomes false after child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-document: ::part():not(:has(.hit)) becomes false after child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: part child mutation: part-document: ::part():has(:is(.hit, [data-hit])) after child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-document: ::part():has(:is(.hit, [data-hit])) after child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: part pseudo-element child mutation without warmup: part-document: ::part():has(:is(.hit, [data-hit])) after child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: part pseudo-element child mutation: part-document: ::part():has(:is(.hit, [data-hit])) after child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation without warmup: part-document: ::part():has(:is(.hit, [data-hit])) after child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part child mutation: part-document: ::part():has(.hit) becomes false after child removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-document: ::part():has(.hit) becomes false after child removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-document: ::part():has(.hit) becomes false after child removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: part child mutation: part-document: ::part():has(.hit) after replaceChildren | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-document: ::part():has(.hit) after replaceChildren | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: part pseudo-element child mutation without warmup: part-document: ::part():has(.hit) after replaceChildren | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: part pseudo-element child mutation: part-document: ::part():has(.hit) after replaceChildren | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation without warmup: part-document: ::part():has(.hit) after replaceChildren | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part child mutation: part-shadow-host-document: ::part():empty becomes false after element append | styleInvalidations=2, fullStyleInvalidations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: part pseudo-element child mutation: part-shadow-host-document: ::part():empty becomes false after element append | styleInvalidations=2, fullStyleInvalidations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: part child mutation: part-shadow-host-document: ::part():empty becomes false after textContent | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
@ -72,38 +72,38 @@ PASS: part child mutation: part-shadow-host-document: ::part():dir(rtl) after di
PASS: part pseudo-element child mutation: part-shadow-host-document: ::part():dir(rtl) after dir=auto text mutation | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: part pseudo-element child mutation without warmup: part-shadow-host-document: ::part():dir(rtl) after dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: part child mutation: part-shadow-host-document: ::part():has(.hit) after direct child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-shadow-host-document: ::part():has(.hit) after direct child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: part pseudo-element child mutation without warmup: part-shadow-host-document: ::part():has(.hit) after direct child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: part pseudo-element child mutation: part-shadow-host-document: ::part():has(.hit) after direct child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation without warmup: part-shadow-host-document: ::part():has(.hit) after direct child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part child mutation: part-shadow-host-document: ::part():has(> .hit) after direct child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-shadow-host-document: ::part():has(> .hit) after direct child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: part pseudo-element child mutation without warmup: part-shadow-host-document: ::part():has(> .hit) after direct child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: part pseudo-element child mutation: part-shadow-host-document: ::part():has(> .hit) after direct child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation without warmup: part-shadow-host-document: ::part():has(> .hit) after direct child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part child mutation: part-shadow-host-document: ::part():has(.outer .middle .hit) after deep child append | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=3, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-shadow-host-document: ::part():has(.outer .middle .hit) after deep child append | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=3, hasMatchInvocations=6, hasResultCacheHits=2, hasResultCacheMisses=4
PASS: part pseudo-element child mutation without warmup: part-shadow-host-document: ::part():has(.outer .middle .hit) after deep child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=3, hasMatchInvocations=6, hasResultCacheHits=2, hasResultCacheMisses=4
PASS: part pseudo-element child mutation: part-shadow-host-document: ::part():has(.outer .middle .hit) after deep child append | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=3, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation without warmup: part-shadow-host-document: ::part():has(.outer .middle .hit) after deep child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=3, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part child mutation: part-shadow-host-document: ::part():has(.hit + .after) after adjacent sibling append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-shadow-host-document: ::part():has(.hit + .after) after adjacent sibling append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: part pseudo-element child mutation without warmup: part-shadow-host-document: ::part():has(.hit + .after) after adjacent sibling append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=0, hasResultCacheMisses=5
PASS: part pseudo-element child mutation: part-shadow-host-document: ::part():has(.hit + .after) after adjacent sibling append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation without warmup: part-shadow-host-document: ::part():has(.hit + .after) after adjacent sibling append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part child mutation: part-shadow-host-document: ::part():has(.hit ~ .after) after indirect sibling append | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-shadow-host-document: ::part():has(.hit ~ .after) after indirect sibling append | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=0, hasResultCacheMisses=5
PASS: part pseudo-element child mutation without warmup: part-shadow-host-document: ::part():has(.hit ~ .after) after indirect sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=6, hasResultCacheHits=0, hasResultCacheMisses=6
PASS: part pseudo-element child mutation: part-shadow-host-document: ::part():has(.hit ~ .after) after indirect sibling append | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation without warmup: part-shadow-host-document: ::part():has(.hit ~ .after) after indirect sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part child mutation: part-shadow-host-document: ::part():has(rect.hit) after SVG child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-shadow-host-document: ::part():has(rect.hit) after SVG child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: part pseudo-element child mutation without warmup: part-shadow-host-document: ::part():has(rect.hit) after SVG child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: part pseudo-element child mutation: part-shadow-host-document: ::part():has(rect.hit) after SVG child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation without warmup: part-shadow-host-document: ::part():has(rect.hit) after SVG child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part child mutation: part-shadow-host-document: ::part():has(.hit:first-child) after prepend | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-shadow-host-document: ::part():has(.hit:first-child) after prepend | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: part pseudo-element child mutation without warmup: part-shadow-host-document: ::part():has(.hit:first-child) after prepend | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=5, hasResultCacheHits=0, hasResultCacheMisses=5
PASS: part pseudo-element child mutation: part-shadow-host-document: ::part():has(.hit:first-child) after prepend | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation without warmup: part-shadow-host-document: ::part():has(.hit:first-child) after prepend | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part child mutation: part-shadow-host-document: ::part():has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-shadow-host-document: ::part():has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: part pseudo-element child mutation: part-shadow-host-document: ::part():has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: part child mutation: part-shadow-host-document: ::part():not(:has(.hit)) becomes false after child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-shadow-host-document: ::part():not(:has(.hit)) becomes false after child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: part pseudo-element child mutation: part-shadow-host-document: ::part():not(:has(.hit)) becomes false after child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: part child mutation: part-shadow-host-document: ::part():has(:is(.hit, [data-hit])) after child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-shadow-host-document: ::part():has(:is(.hit, [data-hit])) after child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: part pseudo-element child mutation without warmup: part-shadow-host-document: ::part():has(:is(.hit, [data-hit])) after child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: part pseudo-element child mutation: part-shadow-host-document: ::part():has(:is(.hit, [data-hit])) after child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation without warmup: part-shadow-host-document: ::part():has(:is(.hit, [data-hit])) after child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part child mutation: part-shadow-host-document: ::part():has(.hit) becomes false after child removal | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-shadow-host-document: ::part():has(.hit) becomes false after child removal | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-shadow-host-document: ::part():has(.hit) becomes false after child removal | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: part child mutation: part-shadow-host-document: ::part():has(.hit) after replaceChildren | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-shadow-host-document: ::part():has(.hit) after replaceChildren | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: part pseudo-element child mutation without warmup: part-shadow-host-document: ::part():has(.hit) after replaceChildren | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=4, hasResultCacheHits=0, hasResultCacheMisses=4
PASS: part pseudo-element child mutation: part-shadow-host-document: ::part():has(.hit) after replaceChildren | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation without warmup: part-shadow-host-document: ::part():has(.hit) after replaceChildren | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=1, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part child mutation: part-shadow-internal: ::part():empty becomes false after element append | styleInvalidations=2, fullStyleInvalidations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: part pseudo-element child mutation: part-shadow-internal: ::part():empty becomes false after element append | styleInvalidations=2, fullStyleInvalidations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: part child mutation: part-shadow-internal: ::part():empty becomes false after textContent | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
@ -125,38 +125,38 @@ PASS: part child mutation: part-shadow-internal: ::part():dir(rtl) after dir=aut
PASS: part pseudo-element child mutation: part-shadow-internal: ::part():dir(rtl) after dir=auto text mutation | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: part pseudo-element child mutation without warmup: part-shadow-internal: ::part():dir(rtl) after dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: part child mutation: part-shadow-internal: ::part():has(.hit) after direct child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-shadow-internal: ::part():has(.hit) after direct child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: part pseudo-element child mutation without warmup: part-shadow-internal: ::part():has(.hit) after direct child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: part pseudo-element child mutation: part-shadow-internal: ::part():has(.hit) after direct child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: part pseudo-element child mutation without warmup: part-shadow-internal: ::part():has(.hit) after direct child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: part child mutation: part-shadow-internal: ::part():has(> .hit) after direct child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-shadow-internal: ::part():has(> .hit) after direct child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: part pseudo-element child mutation without warmup: part-shadow-internal: ::part():has(> .hit) after direct child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: part pseudo-element child mutation: part-shadow-internal: ::part():has(> .hit) after direct child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: part pseudo-element child mutation without warmup: part-shadow-internal: ::part():has(> .hit) after direct child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: part child mutation: part-shadow-internal: ::part():has(.outer .middle .hit) after deep child append | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-shadow-internal: ::part():has(.outer .middle .hit) after deep child append | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=12, hasResultCacheHits=8, hasResultCacheMisses=4
PASS: part pseudo-element child mutation without warmup: part-shadow-internal: ::part():has(.outer .middle .hit) after deep child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=12, hasResultCacheHits=8, hasResultCacheMisses=4
PASS: part pseudo-element child mutation: part-shadow-internal: ::part():has(.outer .middle .hit) after deep child append | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: part pseudo-element child mutation without warmup: part-shadow-internal: ::part():has(.outer .middle .hit) after deep child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: part child mutation: part-shadow-internal: ::part():has(.hit + .after) after adjacent sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-shadow-internal: ::part():has(.hit + .after) after adjacent sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: part pseudo-element child mutation without warmup: part-shadow-internal: ::part():has(.hit + .after) after adjacent sibling append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=10, hasResultCacheHits=5, hasResultCacheMisses=5
PASS: part pseudo-element child mutation: part-shadow-internal: ::part():has(.hit + .after) after adjacent sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: part pseudo-element child mutation without warmup: part-shadow-internal: ::part():has(.hit + .after) after adjacent sibling append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: part child mutation: part-shadow-internal: ::part():has(.hit ~ .after) after indirect sibling append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-shadow-internal: ::part():has(.hit ~ .after) after indirect sibling append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=10, hasResultCacheHits=5, hasResultCacheMisses=5
PASS: part pseudo-element child mutation without warmup: part-shadow-internal: ::part():has(.hit ~ .after) after indirect sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=12, hasResultCacheHits=6, hasResultCacheMisses=6
PASS: part pseudo-element child mutation: part-shadow-internal: ::part():has(.hit ~ .after) after indirect sibling append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: part pseudo-element child mutation without warmup: part-shadow-internal: ::part():has(.hit ~ .after) after indirect sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: part child mutation: part-shadow-internal: ::part():has(rect.hit) after SVG child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-shadow-internal: ::part():has(rect.hit) after SVG child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: part pseudo-element child mutation without warmup: part-shadow-internal: ::part():has(rect.hit) after SVG child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: part pseudo-element child mutation: part-shadow-internal: ::part():has(rect.hit) after SVG child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: part pseudo-element child mutation without warmup: part-shadow-internal: ::part():has(rect.hit) after SVG child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: part child mutation: part-shadow-internal: ::part():has(.hit:first-child) after prepend | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-shadow-internal: ::part():has(.hit:first-child) after prepend | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: part pseudo-element child mutation without warmup: part-shadow-internal: ::part():has(.hit:first-child) after prepend | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=10, hasResultCacheHits=5, hasResultCacheMisses=5
PASS: part pseudo-element child mutation: part-shadow-internal: ::part():has(.hit:first-child) after prepend | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: part pseudo-element child mutation without warmup: part-shadow-internal: ::part():has(.hit:first-child) after prepend | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: part child mutation: part-shadow-internal: ::part():has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-shadow-internal: ::part():has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: part pseudo-element child mutation: part-shadow-internal: ::part():has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: part child mutation: part-shadow-internal: ::part():not(:has(.hit)) becomes false after child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-shadow-internal: ::part():not(:has(.hit)) becomes false after child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: part pseudo-element child mutation: part-shadow-internal: ::part():not(:has(.hit)) becomes false after child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: part child mutation: part-shadow-internal: ::part():has(:is(.hit, [data-hit])) after child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-shadow-internal: ::part():has(:is(.hit, [data-hit])) after child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: part pseudo-element child mutation without warmup: part-shadow-internal: ::part():has(:is(.hit, [data-hit])) after child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: part pseudo-element child mutation: part-shadow-internal: ::part():has(:is(.hit, [data-hit])) after child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: part pseudo-element child mutation without warmup: part-shadow-internal: ::part():has(:is(.hit, [data-hit])) after child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: part child mutation: part-shadow-internal: ::part():has(.hit) becomes false after child removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-shadow-internal: ::part():has(.hit) becomes false after child removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-shadow-internal: ::part():has(.hit) becomes false after child removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: part child mutation: part-shadow-internal: ::part():has(.hit) after replaceChildren | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-shadow-internal: ::part():has(.hit) after replaceChildren | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: part pseudo-element child mutation without warmup: part-shadow-internal: ::part():has(.hit) after replaceChildren | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: part pseudo-element child mutation: part-shadow-internal: ::part():has(.hit) after replaceChildren | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: part pseudo-element child mutation without warmup: part-shadow-internal: ::part():has(.hit) after replaceChildren | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: part child mutation: part-shadow-host-internal: ::part():empty becomes false after element append | styleInvalidations=2, fullStyleInvalidations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: part pseudo-element child mutation: part-shadow-host-internal: ::part():empty becomes false after element append | styleInvalidations=2, fullStyleInvalidations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: part child mutation: part-shadow-host-internal: ::part():empty becomes false after textContent | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
@ -178,38 +178,38 @@ PASS: part child mutation: part-shadow-host-internal: ::part():dir(rtl) after di
PASS: part pseudo-element child mutation: part-shadow-host-internal: ::part():dir(rtl) after dir=auto text mutation | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: part pseudo-element child mutation without warmup: part-shadow-host-internal: ::part():dir(rtl) after dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: part child mutation: part-shadow-host-internal: ::part():has(.hit) after direct child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-shadow-host-internal: ::part():has(.hit) after direct child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: part pseudo-element child mutation without warmup: part-shadow-host-internal: ::part():has(.hit) after direct child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: part pseudo-element child mutation: part-shadow-host-internal: ::part():has(.hit) after direct child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: part pseudo-element child mutation without warmup: part-shadow-host-internal: ::part():has(.hit) after direct child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: part child mutation: part-shadow-host-internal: ::part():has(> .hit) after direct child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-shadow-host-internal: ::part():has(> .hit) after direct child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: part pseudo-element child mutation without warmup: part-shadow-host-internal: ::part():has(> .hit) after direct child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: part pseudo-element child mutation: part-shadow-host-internal: ::part():has(> .hit) after direct child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: part pseudo-element child mutation without warmup: part-shadow-host-internal: ::part():has(> .hit) after direct child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: part child mutation: part-shadow-host-internal: ::part():has(.outer .middle .hit) after deep child append | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-shadow-host-internal: ::part():has(.outer .middle .hit) after deep child append | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=13, hasResultCacheHits=8, hasResultCacheMisses=5
PASS: part pseudo-element child mutation without warmup: part-shadow-host-internal: ::part():has(.outer .middle .hit) after deep child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=13, hasResultCacheHits=8, hasResultCacheMisses=5
PASS: part pseudo-element child mutation: part-shadow-host-internal: ::part():has(.outer .middle .hit) after deep child append | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: part pseudo-element child mutation without warmup: part-shadow-host-internal: ::part():has(.outer .middle .hit) after deep child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: part child mutation: part-shadow-host-internal: ::part():has(.hit + .after) after adjacent sibling append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-shadow-host-internal: ::part():has(.hit + .after) after adjacent sibling append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: part pseudo-element child mutation without warmup: part-shadow-host-internal: ::part():has(.hit + .after) after adjacent sibling append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=11, hasResultCacheHits=5, hasResultCacheMisses=6
PASS: part pseudo-element child mutation: part-shadow-host-internal: ::part():has(.hit + .after) after adjacent sibling append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: part pseudo-element child mutation without warmup: part-shadow-host-internal: ::part():has(.hit + .after) after adjacent sibling append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: part child mutation: part-shadow-host-internal: ::part():has(.hit ~ .after) after indirect sibling append | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-shadow-host-internal: ::part():has(.hit ~ .after) after indirect sibling append | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=10, hasResultCacheHits=5, hasResultCacheMisses=5
PASS: part pseudo-element child mutation without warmup: part-shadow-host-internal: ::part():has(.hit ~ .after) after indirect sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=13, hasResultCacheHits=6, hasResultCacheMisses=7
PASS: part pseudo-element child mutation: part-shadow-host-internal: ::part():has(.hit ~ .after) after indirect sibling append | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: part pseudo-element child mutation without warmup: part-shadow-host-internal: ::part():has(.hit ~ .after) after indirect sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: part child mutation: part-shadow-host-internal: ::part():has(rect.hit) after SVG child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-shadow-host-internal: ::part():has(rect.hit) after SVG child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: part pseudo-element child mutation without warmup: part-shadow-host-internal: ::part():has(rect.hit) after SVG child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: part pseudo-element child mutation: part-shadow-host-internal: ::part():has(rect.hit) after SVG child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: part pseudo-element child mutation without warmup: part-shadow-host-internal: ::part():has(rect.hit) after SVG child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: part child mutation: part-shadow-host-internal: ::part():has(.hit:first-child) after prepend | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-shadow-host-internal: ::part():has(.hit:first-child) after prepend | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: part pseudo-element child mutation without warmup: part-shadow-host-internal: ::part():has(.hit:first-child) after prepend | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=11, hasResultCacheHits=5, hasResultCacheMisses=6
PASS: part pseudo-element child mutation: part-shadow-host-internal: ::part():has(.hit:first-child) after prepend | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: part pseudo-element child mutation without warmup: part-shadow-host-internal: ::part():has(.hit:first-child) after prepend | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: part child mutation: part-shadow-host-internal: ::part():has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-shadow-host-internal: ::part():has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=4, hasResultCacheMisses=4
PASS: part pseudo-element child mutation: part-shadow-host-internal: ::part():has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: part child mutation: part-shadow-host-internal: ::part():not(:has(.hit)) becomes false after child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-shadow-host-internal: ::part():not(:has(.hit)) becomes false after child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: part pseudo-element child mutation: part-shadow-host-internal: ::part():not(:has(.hit)) becomes false after child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: part child mutation: part-shadow-host-internal: ::part():has(:is(.hit, [data-hit])) after child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-shadow-host-internal: ::part():has(:is(.hit, [data-hit])) after child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: part pseudo-element child mutation without warmup: part-shadow-host-internal: ::part():has(:is(.hit, [data-hit])) after child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: part pseudo-element child mutation: part-shadow-host-internal: ::part():has(:is(.hit, [data-hit])) after child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: part pseudo-element child mutation without warmup: part-shadow-host-internal: ::part():has(:is(.hit, [data-hit])) after child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: part child mutation: part-shadow-host-internal: ::part():has(.hit) becomes false after child removal | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-shadow-host-internal: ::part():has(.hit) becomes false after child removal | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-shadow-host-internal: ::part():has(.hit) becomes false after child removal | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=3, hasResultCacheMisses=3
PASS: part child mutation: part-shadow-host-internal: ::part():has(.hit) after replaceChildren | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-shadow-host-internal: ::part():has(.hit) after replaceChildren | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: part pseudo-element child mutation without warmup: part-shadow-host-internal: ::part():has(.hit) after replaceChildren | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=9, hasResultCacheHits=4, hasResultCacheMisses=5
PASS: part pseudo-element child mutation: part-shadow-host-internal: ::part():has(.hit) after replaceChildren | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: part pseudo-element child mutation without warmup: part-shadow-host-internal: ::part():has(.hit) after replaceChildren | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=2, hasResultCacheMisses=2
PASS: part child mutation: part-shadow-ancestor: ::part():empty becomes false after element append | styleInvalidations=2, fullStyleInvalidations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: part pseudo-element child mutation: part-shadow-ancestor: ::part():empty becomes false after element append | styleInvalidations=2, fullStyleInvalidations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: part child mutation: part-shadow-ancestor: ::part():empty becomes false after textContent | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
@ -231,38 +231,38 @@ PASS: part child mutation: part-shadow-ancestor: ::part():dir(rtl) after dir=aut
PASS: part pseudo-element child mutation: part-shadow-ancestor: ::part():dir(rtl) after dir=auto text mutation | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: part pseudo-element child mutation without warmup: part-shadow-ancestor: ::part():dir(rtl) after dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: part child mutation: part-shadow-ancestor: ::part():has(.hit) after direct child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-shadow-ancestor: ::part():has(.hit) after direct child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: part pseudo-element child mutation without warmup: part-shadow-ancestor: ::part():has(.hit) after direct child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: part pseudo-element child mutation: part-shadow-ancestor: ::part():has(.hit) after direct child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation without warmup: part-shadow-ancestor: ::part():has(.hit) after direct child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part child mutation: part-shadow-ancestor: ::part():has(> .hit) after direct child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-shadow-ancestor: ::part():has(> .hit) after direct child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: part pseudo-element child mutation without warmup: part-shadow-ancestor: ::part():has(> .hit) after direct child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: part pseudo-element child mutation: part-shadow-ancestor: ::part():has(> .hit) after direct child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation without warmup: part-shadow-ancestor: ::part():has(> .hit) after direct child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part child mutation: part-shadow-ancestor: ::part():has(.outer .middle .hit) after deep child append | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-shadow-ancestor: ::part():has(.outer .middle .hit) after deep child append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=7, hasResultCacheHits=3, hasResultCacheMisses=4
PASS: part pseudo-element child mutation without warmup: part-shadow-ancestor: ::part():has(.outer .middle .hit) after deep child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=7, hasResultCacheHits=3, hasResultCacheMisses=4
PASS: part pseudo-element child mutation: part-shadow-ancestor: ::part():has(.outer .middle .hit) after deep child append | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation without warmup: part-shadow-ancestor: ::part():has(.outer .middle .hit) after deep child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part child mutation: part-shadow-ancestor: ::part():has(.hit + .after) after adjacent sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-shadow-ancestor: ::part():has(.hit + .after) after adjacent sibling append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: part pseudo-element child mutation without warmup: part-shadow-ancestor: ::part():has(.hit + .after) after adjacent sibling append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: part pseudo-element child mutation: part-shadow-ancestor: ::part():has(.hit + .after) after adjacent sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation without warmup: part-shadow-ancestor: ::part():has(.hit + .after) after adjacent sibling append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part child mutation: part-shadow-ancestor: ::part():has(.hit ~ .after) after indirect sibling append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-shadow-ancestor: ::part():has(.hit ~ .after) after indirect sibling append | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=7, hasResultCacheHits=1, hasResultCacheMisses=6
PASS: part pseudo-element child mutation without warmup: part-shadow-ancestor: ::part():has(.hit ~ .after) after indirect sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=7, hasResultCacheHits=1, hasResultCacheMisses=6
PASS: part pseudo-element child mutation: part-shadow-ancestor: ::part():has(.hit ~ .after) after indirect sibling append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation without warmup: part-shadow-ancestor: ::part():has(.hit ~ .after) after indirect sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part child mutation: part-shadow-ancestor: ::part():has(rect.hit) after SVG child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-shadow-ancestor: ::part():has(rect.hit) after SVG child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: part pseudo-element child mutation without warmup: part-shadow-ancestor: ::part():has(rect.hit) after SVG child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: part pseudo-element child mutation: part-shadow-ancestor: ::part():has(rect.hit) after SVG child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation without warmup: part-shadow-ancestor: ::part():has(rect.hit) after SVG child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part child mutation: part-shadow-ancestor: ::part():has(.hit:first-child) after prepend | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-shadow-ancestor: ::part():has(.hit:first-child) after prepend | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: part pseudo-element child mutation without warmup: part-shadow-ancestor: ::part():has(.hit:first-child) after prepend | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: part pseudo-element child mutation: part-shadow-ancestor: ::part():has(.hit:first-child) after prepend | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation without warmup: part-shadow-ancestor: ::part():has(.hit:first-child) after prepend | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part child mutation: part-shadow-ancestor: ::part():has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-shadow-ancestor: ::part():has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: part pseudo-element child mutation: part-shadow-ancestor: ::part():has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: part child mutation: part-shadow-ancestor: ::part():not(:has(.hit)) becomes false after child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-shadow-ancestor: ::part():not(:has(.hit)) becomes false after child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: part pseudo-element child mutation: part-shadow-ancestor: ::part():not(:has(.hit)) becomes false after child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: part child mutation: part-shadow-ancestor: ::part():has(:is(.hit, [data-hit])) after child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-shadow-ancestor: ::part():has(:is(.hit, [data-hit])) after child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: part pseudo-element child mutation without warmup: part-shadow-ancestor: ::part():has(:is(.hit, [data-hit])) after child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: part pseudo-element child mutation: part-shadow-ancestor: ::part():has(:is(.hit, [data-hit])) after child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation without warmup: part-shadow-ancestor: ::part():has(:is(.hit, [data-hit])) after child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part child mutation: part-shadow-ancestor: ::part():has(.hit) becomes false after child removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-shadow-ancestor: ::part():has(.hit) becomes false after child removal | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=3
PASS: part pseudo-element child mutation: part-shadow-ancestor: ::part():has(.hit) becomes false after child removal | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: part child mutation: part-shadow-ancestor: ::part():has(.hit) after replaceChildren | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-shadow-ancestor: ::part():has(.hit) after replaceChildren | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: part pseudo-element child mutation without warmup: part-shadow-ancestor: ::part():has(.hit) after replaceChildren | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=5, hasResultCacheHits=1, hasResultCacheMisses=4
PASS: part pseudo-element child mutation: part-shadow-ancestor: ::part():has(.hit) after replaceChildren | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=7, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation without warmup: part-shadow-ancestor: ::part():has(.hit) after replaceChildren | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part child mutation: part-shadow-host-ancestor: ::part():empty becomes false after element append | styleInvalidations=2, fullStyleInvalidations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: part pseudo-element child mutation: part-shadow-host-ancestor: ::part():empty becomes false after element append | styleInvalidations=2, fullStyleInvalidations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: part child mutation: part-shadow-host-ancestor: ::part():empty becomes false after textContent | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
@ -284,37 +284,37 @@ PASS: part child mutation: part-shadow-host-ancestor: ::part():dir(rtl) after di
PASS: part pseudo-element child mutation: part-shadow-host-ancestor: ::part():dir(rtl) after dir=auto text mutation | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: part pseudo-element child mutation without warmup: part-shadow-host-ancestor: ::part():dir(rtl) after dir=auto text mutation | styleInvalidations=0, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: part child mutation: part-shadow-host-ancestor: ::part():has(.hit) after direct child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-shadow-host-ancestor: ::part():has(.hit) after direct child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: part pseudo-element child mutation without warmup: part-shadow-host-ancestor: ::part():has(.hit) after direct child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: part pseudo-element child mutation: part-shadow-host-ancestor: ::part():has(.hit) after direct child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation without warmup: part-shadow-host-ancestor: ::part():has(.hit) after direct child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part child mutation: part-shadow-host-ancestor: ::part():has(> .hit) after direct child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-shadow-host-ancestor: ::part():has(> .hit) after direct child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: part pseudo-element child mutation without warmup: part-shadow-host-ancestor: ::part():has(> .hit) after direct child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: part pseudo-element child mutation: part-shadow-host-ancestor: ::part():has(> .hit) after direct child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation without warmup: part-shadow-host-ancestor: ::part():has(> .hit) after direct child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part child mutation: part-shadow-host-ancestor: ::part():has(.outer .middle .hit) after deep child append | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-shadow-host-ancestor: ::part():has(.outer .middle .hit) after deep child append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=3, hasResultCacheMisses=5
PASS: part pseudo-element child mutation without warmup: part-shadow-host-ancestor: ::part():has(.outer .middle .hit) after deep child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=3, hasResultCacheMisses=5
PASS: part pseudo-element child mutation: part-shadow-host-ancestor: ::part():has(.outer .middle .hit) after deep child append | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation without warmup: part-shadow-host-ancestor: ::part():has(.outer .middle .hit) after deep child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part child mutation: part-shadow-host-ancestor: ::part():has(.hit + .after) after adjacent sibling append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-shadow-host-ancestor: ::part():has(.hit + .after) after adjacent sibling append | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: part pseudo-element child mutation without warmup: part-shadow-host-ancestor: ::part():has(.hit + .after) after adjacent sibling append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=7, hasResultCacheHits=1, hasResultCacheMisses=6
PASS: part pseudo-element child mutation: part-shadow-host-ancestor: ::part():has(.hit + .after) after adjacent sibling append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation without warmup: part-shadow-host-ancestor: ::part():has(.hit + .after) after adjacent sibling append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part child mutation: part-shadow-host-ancestor: ::part():has(.hit ~ .after) after indirect sibling append | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-shadow-host-ancestor: ::part():has(.hit ~ .after) after indirect sibling append | styleInvalidations=5, fullStyleInvalidations=0, elementStyleRecomputations=6, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=7, hasResultCacheHits=1, hasResultCacheMisses=6
PASS: part pseudo-element child mutation without warmup: part-shadow-host-ancestor: ::part():has(.hit ~ .after) after indirect sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=8, hasResultCacheHits=1, hasResultCacheMisses=7
PASS: part pseudo-element child mutation: part-shadow-host-ancestor: ::part():has(.hit ~ .after) after indirect sibling append | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation without warmup: part-shadow-host-ancestor: ::part():has(.hit ~ .after) after indirect sibling append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=11, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part child mutation: part-shadow-host-ancestor: ::part():has(rect.hit) after SVG child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-shadow-host-ancestor: ::part():has(rect.hit) after SVG child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: part pseudo-element child mutation without warmup: part-shadow-host-ancestor: ::part():has(rect.hit) after SVG child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: part pseudo-element child mutation: part-shadow-host-ancestor: ::part():has(rect.hit) after SVG child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation without warmup: part-shadow-host-ancestor: ::part():has(rect.hit) after SVG child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part child mutation: part-shadow-host-ancestor: ::part():has(.hit:first-child) after prepend | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-shadow-host-ancestor: ::part():has(.hit:first-child) after prepend | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: part pseudo-element child mutation without warmup: part-shadow-host-ancestor: ::part():has(.hit:first-child) after prepend | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=7, hasResultCacheHits=1, hasResultCacheMisses=6
PASS: part pseudo-element child mutation: part-shadow-host-ancestor: ::part():has(.hit:first-child) after prepend | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation without warmup: part-shadow-host-ancestor: ::part():has(.hit:first-child) after prepend | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=10, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part child mutation: part-shadow-host-ancestor: ::part():has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-shadow-host-ancestor: ::part():has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=5, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: part pseudo-element child mutation: part-shadow-host-ancestor: ::part():has(.hit:last-child) becomes false after trailing sibling append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: part child mutation: part-shadow-host-ancestor: ::part():not(:has(.hit)) becomes false after child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-shadow-host-ancestor: ::part():not(:has(.hit)) becomes false after child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: part pseudo-element child mutation: part-shadow-host-ancestor: ::part():not(:has(.hit)) becomes false after child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: part child mutation: part-shadow-host-ancestor: ::part():has(:is(.hit, [data-hit])) after child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-shadow-host-ancestor: ::part():has(:is(.hit, [data-hit])) after child append | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: part pseudo-element child mutation without warmup: part-shadow-host-ancestor: ::part():has(:is(.hit, [data-hit])) after child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: part pseudo-element child mutation: part-shadow-host-ancestor: ::part():has(:is(.hit, [data-hit])) after child append | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation without warmup: part-shadow-host-ancestor: ::part():has(:is(.hit, [data-hit])) after child append | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part child mutation: part-shadow-host-ancestor: ::part():has(.hit) becomes false after child removal | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-shadow-host-ancestor: ::part():has(.hit) becomes false after child removal | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=3, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=4, hasResultCacheHits=1, hasResultCacheMisses=3
PASS: part pseudo-element child mutation: part-shadow-host-ancestor: ::part():has(.hit) becomes false after child removal | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=2, elementStyleNoopRecomputations=1, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=3, hasResultCacheHits=0, hasResultCacheMisses=3
PASS: part child mutation: part-shadow-host-ancestor: ::part():has(.hit) after replaceChildren | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation: part-shadow-host-ancestor: ::part():has(.hit) after replaceChildren | styleInvalidations=3, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: part pseudo-element child mutation without warmup: part-shadow-host-ancestor: ::part():has(.hit) after replaceChildren | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=6, hasResultCacheHits=1, hasResultCacheMisses=5
PASS: part pseudo-element child mutation: part-shadow-host-ancestor: ::part():has(.hit) after replaceChildren | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: part pseudo-element child mutation without warmup: part-shadow-host-ancestor: ::part():has(.hit) after replaceChildren | styleInvalidations=1, fullStyleInvalidations=0, elementStyleRecomputations=9, elementStyleNoopRecomputations=2, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=1, hasInvalidationMetadataCandidates=0, hasMatchInvocations=2, hasResultCacheHits=0, hasResultCacheMisses=2
PASS: scope move: slotted shadow-host target moves between slot scopes | styleInvalidations=4, fullStyleInvalidations=0, elementStyleRecomputations=8, elementStyleNoopRecomputations=4, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0
PASS: combined topology: ancestor shadow exposes part slot with generated pseudo-element | styleInvalidations=2, fullStyleInvalidations=0, elementStyleRecomputations=4, elementStyleNoopRecomputations=3, elementInheritedStyleRecomputations=0, elementInheritedStyleNoopRecomputations=0, hasAncestorWalkInvocations=0, hasInvalidationMetadataCandidates=0, hasMatchInvocations=0, hasResultCacheHits=0, hasResultCacheMisses=0

View file

@ -9,6 +9,10 @@
content: "hi";
background-color: cyan;
}
::after {
content: "bye";
color: green;
}
</style>
<div id="foo"></div>
<script>
@ -16,6 +20,7 @@
const foo = document.getElementById("foo");
const style = getComputedStyle(foo);
const beforeStyle = getComputedStyle(foo, "::before");
const afterStyle = getComputedStyle(foo, "::after");
const propertyValues = [
"color",
"background-color",
@ -28,5 +33,8 @@
for (const property of propertyValues) {
println(` ${property}: ${beforeStyle.getPropertyValue(property)}`);
}
println("#foo::after:");
println(` content: ${afterStyle.getPropertyValue("content")}`);
println(` color: ${afterStyle.getPropertyValue("color")}`);
});
</script>