Make style updates reach a fixed point when slot invalidation dirties assigned nodes after their traversal point. During inherited-style cascades, only the topmost changed element scans for descendant slots. Animation inherited-style updates now include the target slot and walk shadow-including descendants, so host animations propagate inherited values through shadow trees and assigned slottables. Animated inherited longhands also carry the same inherited-style invalidation signal as regular style changes. Mark custom elements dirty when their :defined state flips, so upgraded elements do not keep stale :not(:defined) computed style. Add coverage for slotted menu invalidation, descendant-slot scan counts, target slot animations, host shadow-tree animations, and explicit inherit from an animated non-inherited longhand.
17 lines
453 B
C++
17 lines
453 B
C++
/*
|
|
* Copyright (c) 2026-present, the Ladybird developers
|
|
*
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <LibWeb/DOM/Slottable.h>
|
|
|
|
namespace Web::CSS::Invalidation {
|
|
|
|
void invalidate_style_after_slottable_assignment_change(DOM::Slottable const&);
|
|
void invalidate_assigned_slottables_after_slot_style_change(DOM::Element&);
|
|
void invalidate_assigned_slottables_for_descendant_slots_after_inherited_style_change(DOM::Element&);
|
|
|
|
}
|