ladybird/Libraries/LibWeb/CSS/Invalidation/CustomElementInvalidator.cpp

34 lines
921 B
C++
Raw Permalink Normal View History

/*
* Copyright (c) 2026-present, the Ladybird developers
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#include <LibWeb/CSS/Invalidation/CustomElementInvalidator.h>
#include <LibWeb/CSS/InvalidationSet.h>
#include <LibWeb/CSS/Selector.h>
#include <LibWeb/DOM/Element.h>
#include <LibWeb/DOM/StyleInvalidationReason.h>
namespace Web::CSS::Invalidation {
void invalidate_style_after_custom_element_state_change(DOM::Element& element)
{
DOM::StyleInvalidationOptions options;
options.invalidate_self = true;
element.invalidate_style(
DOM::StyleInvalidationReason::CustomElementStateChange,
{
{ .type = InvalidationSet::Property::Type::PseudoClass, .value = PseudoClass::Defined },
},
options);
}
void invalidate_style_after_custom_state_set_change(DOM::Element& element)
{
element.invalidate_style(DOM::StyleInvalidationReason::CustomStateSetChange);
}
}