summaryrefslogtreecommitdiff
path: root/Userland
diff options
context:
space:
mode:
Diffstat (limited to 'Userland')
-rw-r--r--Userland/Libraries/LibWeb/DOM/Element.cpp10
-rw-r--r--Userland/Libraries/LibWeb/DOM/Element.h2
2 files changed, 11 insertions, 1 deletions
diff --git a/Userland/Libraries/LibWeb/DOM/Element.cpp b/Userland/Libraries/LibWeb/DOM/Element.cpp
index b0c2f6d996..e562c1db1c 100644
--- a/Userland/Libraries/LibWeb/DOM/Element.cpp
+++ b/Userland/Libraries/LibWeb/DOM/Element.cpp
@@ -265,6 +265,16 @@ void Element::parse_attribute(const FlyString& name, const String& value)
}
}
+void Element::did_remove_attribute(FlyString const& name)
+{
+ if (name == HTML::AttributeNames::style) {
+ if (m_inline_style) {
+ m_inline_style = nullptr;
+ set_needs_style_update(true);
+ }
+ }
+}
+
enum class RequiredInvalidation {
None,
RepaintOnly,
diff --git a/Userland/Libraries/LibWeb/DOM/Element.h b/Userland/Libraries/LibWeb/DOM/Element.h
index 5747d7b9c1..f7d3047d70 100644
--- a/Userland/Libraries/LibWeb/DOM/Element.h
+++ b/Userland/Libraries/LibWeb/DOM/Element.h
@@ -85,7 +85,7 @@ public:
virtual void apply_presentational_hints(CSS::StyleProperties&) const { }
virtual void parse_attribute(const FlyString& name, const String& value);
- virtual void did_remove_attribute(FlyString const&) { }
+ virtual void did_remove_attribute(FlyString const&);
enum class NeedsRelayout {
No = 0,