diff --git a/Libraries/LibHTML/DOM/Element.cpp b/Libraries/LibHTML/DOM/Element.cpp index c60319c075..2662562f4d 100644 --- a/Libraries/LibHTML/DOM/Element.cpp +++ b/Libraries/LibHTML/DOM/Element.cpp @@ -44,11 +44,16 @@ void Element::set_attribute(const String& name, const String& value) attribute->set_value(value); else m_attributes.empend(name, value); + + parse_attribute(name, value); } void Element::set_attributes(Vector&& attributes) { m_attributes = move(attributes); + + for (auto& attribute : m_attributes) + parse_attribute(attribute.name(), attribute.value()); } bool Element::has_class(const StringView& class_name) const @@ -80,3 +85,7 @@ RefPtr Element::create_layout_node(const StyleResolver& resolver, co ASSERT_NOT_REACHED(); } + +void Element::parse_attribute(const String&, const String&) +{ +} diff --git a/Libraries/LibHTML/DOM/Element.h b/Libraries/LibHTML/DOM/Element.h index a45f09ba4b..d6641e5496 100644 --- a/Libraries/LibHTML/DOM/Element.h +++ b/Libraries/LibHTML/DOM/Element.h @@ -43,6 +43,7 @@ public: bool has_class(const StringView&) const; virtual void apply_presentational_hints(StyleProperties&) const {} + virtual void parse_attribute(const String& name, const String& value); private: RefPtr create_layout_node(const StyleResolver&, const StyleProperties* parent_properties) const override;