LibWeb: Consolidate the attribute change handlers

We currently have 2 virtual methods to inform DOM::Element subclasses
when an attribute has changed, one of which is spec-compliant. This
patch removes the non-compliant variant.
This commit is contained in:
Timothy Flynn 2024-11-14 08:14:16 -05:00 committed by Andreas Kling
parent c2988a7dd5
commit d4f8b598cb
Notes: github-actions[bot] 2024-11-14 18:19:35 +00:00
83 changed files with 224 additions and 228 deletions

View file

@ -595,9 +595,10 @@ bool HTMLElement::cannot_navigate() const
return !is<HTML::HTMLAnchorElement>(this) && !is_connected();
}
void HTMLElement::attribute_changed(FlyString const& name, Optional<String> const& old_value, Optional<String> const& value)
void HTMLElement::attribute_changed(FlyString const& name, Optional<String> const& old_value, Optional<String> const& value, Optional<FlyString> const& namespace_)
{
Element::attribute_changed(name, old_value, value);
Base::attribute_changed(name, old_value, value, namespace_);
HTMLOrSVGElement::attribute_changed(name, old_value, value, namespace_);
if (name == HTML::AttributeNames::contenteditable) {
if (!value.has_value()) {
@ -627,12 +628,6 @@ void HTMLElement::attribute_changed(FlyString const& name, Optional<String> cons
#undef __ENUMERATE
}
void HTMLElement::attribute_change_steps(FlyString const& local_name, Optional<String> const& old_value, Optional<String> const& value, Optional<FlyString> const& namespace_)
{
Base::attribute_change_steps(local_name, old_value, value, namespace_);
HTMLOrSVGElement::attribute_change_steps(local_name, old_value, value, namespace_);
}
WebIDL::ExceptionOr<void> HTMLElement::cloned(Web::DOM::Node& copy, bool clone_children)
{
TRY(Base::cloned(copy, clone_children));