ALWAYS_INLINE bool StyleInvalidator::checkInvalidationSetsAgainstElement(Element& element, RecursionData& recursionData, SiblingData& siblingData)
{
    if (element.styleChangeType() >= SubtreeStyleChange || recursionData.wholeSubtreeInvalid()) {
        recursionData.setWholeSubtreeInvalid();
        return false;
    }

    bool thisElementNeedsStyleRecalc = recursionData.matchesCurrentInvalidationSets(element);
    if (UNLIKELY(!siblingData.isEmpty()))
        thisElementNeedsStyleRecalc |= siblingData.matchCurrentInvalidationSets(element, recursionData);

    if (UNLIKELY(element.needsStyleInvalidation()))
        pushInvalidationSetsForElement(element, recursionData, siblingData);
    return thisElementNeedsStyleRecalc;
}