From f2ebd0e15bb88f64753c7d14ced06e710b1405a7 Mon Sep 17 00:00:00 2001 From: Tim Ledbetter Date: Tue, 23 Jul 2024 13:06:20 +0100 Subject: [PATCH] LibWeb: Update Element class list is when class attribute is removed --- .../LibWeb/Text/expected/DOM/Element-classList.txt | 3 +++ Tests/LibWeb/Text/input/DOM/Element-classList.html | 13 +++++++++++++ Userland/Libraries/LibWeb/DOM/Element.cpp | 4 ++-- 3 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 Tests/LibWeb/Text/expected/DOM/Element-classList.txt create mode 100644 Tests/LibWeb/Text/input/DOM/Element-classList.html diff --git a/Tests/LibWeb/Text/expected/DOM/Element-classList.txt b/Tests/LibWeb/Text/expected/DOM/Element-classList.txt new file mode 100644 index 000000000000..c3a080681e6c --- /dev/null +++ b/Tests/LibWeb/Text/expected/DOM/Element-classList.txt @@ -0,0 +1,3 @@ + element.classList initial value: "" +element.classList after setting classList to "a": "a" +element.classList after setting className to "": "" diff --git a/Tests/LibWeb/Text/input/DOM/Element-classList.html b/Tests/LibWeb/Text/input/DOM/Element-classList.html new file mode 100644 index 000000000000..22b76d884272 --- /dev/null +++ b/Tests/LibWeb/Text/input/DOM/Element-classList.html @@ -0,0 +1,13 @@ + + + + diff --git a/Userland/Libraries/LibWeb/DOM/Element.cpp b/Userland/Libraries/LibWeb/DOM/Element.cpp index e9ae8fd2ce16..42b0754fa969 100644 --- a/Userland/Libraries/LibWeb/DOM/Element.cpp +++ b/Userland/Libraries/LibWeb/DOM/Element.cpp @@ -480,9 +480,9 @@ void Element::attribute_changed(FlyString const& name, Optional const&, for (auto& new_class : new_classes) { m_classes.unchecked_append(FlyString::from_utf8(new_class).release_value_but_fixme_should_propagate_errors()); } - if (m_class_list) - m_class_list->associated_attribute_changed(value_or_empty); } + if (m_class_list) + m_class_list->associated_attribute_changed(value_or_empty); } else if (name == HTML::AttributeNames::style) { if (!value.has_value()) { if (m_inline_style) {