mirror of
https://github.com/LadybirdBrowser/ladybird
synced 2026-05-03 13:02:09 +02:00
IFrame geometry changes and object representation changes directly selected style invalidation reasons from their HTML element classes. Move those mappings into a new CSS::Invalidation::EmbeddedContentInvalidator. The HTML elements continue to own their loading, representation, and layout-tree side effects. CSS invalidation now owns the style dirtiness associated with those embedded-content changes.
25 lines
732 B
C++
25 lines
732 B
C++
/*
|
|
* Copyright (c) 2026-present, the Ladybird developers
|
|
*
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
|
*/
|
|
|
|
#include <LibWeb/CSS/Invalidation/EmbeddedContentInvalidator.h>
|
|
#include <LibWeb/DOM/Element.h>
|
|
#include <LibWeb/DOM/StyleInvalidationReason.h>
|
|
|
|
namespace Web::CSS::Invalidation {
|
|
|
|
void invalidate_style_after_embedded_content_geometry_change(DOM::Element& element)
|
|
{
|
|
// FIXME: This should only invalidate the layout, not the style.
|
|
element.invalidate_style(DOM::StyleInvalidationReason::HTMLIFrameElementGeometryChange);
|
|
}
|
|
|
|
void invalidate_style_after_object_representation_change(DOM::Element& element)
|
|
{
|
|
element.invalidate_style(DOM::StyleInvalidationReason::HTMLObjectElementUpdateLayoutAndChildObjects);
|
|
}
|
|
|
|
}
|