diff --git a/Libraries/LibWeb/HTML/HTMLStyleElement.cpp b/Libraries/LibWeb/HTML/HTMLStyleElement.cpp index a6d27d4635c..3e453aba764 100644 --- a/Libraries/LibWeb/HTML/HTMLStyleElement.cpp +++ b/Libraries/LibWeb/HTML/HTMLStyleElement.cpp @@ -59,6 +59,8 @@ void HTMLStyleElement::attribute_changed(FlyString const& name, Optional if (name == HTML::AttributeNames::media) { if (auto* sheet = m_style_element_utils.sheet()) sheet->set_media(value.value_or({})); + } else if (name == HTML::AttributeNames::type) { + m_style_element_utils.update_a_style_block(*this); } } diff --git a/Tests/LibWeb/Text/expected/wpt-import/html/semantics/document-metadata/the-style-element/style_type_change.txt b/Tests/LibWeb/Text/expected/wpt-import/html/semantics/document-metadata/the-style-element/style_type_change.txt new file mode 100644 index 00000000000..04f12003161 --- /dev/null +++ b/Tests/LibWeb/Text/expected/wpt-import/html/semantics/document-metadata/the-style-element/style_type_change.txt @@ -0,0 +1,8 @@ +Harness status: OK + +Found 3 tests + +3 Pass +Pass Check initial styleSheets length type +Pass Change type from invalid type to valid type +Pass Change type from valid type to invalid type diff --git a/Tests/LibWeb/Text/input/wpt-import/html/semantics/document-metadata/the-style-element/style_type_change.html b/Tests/LibWeb/Text/input/wpt-import/html/semantics/document-metadata/the-style-element/style_type_change.html new file mode 100644 index 00000000000..80147e07225 --- /dev/null +++ b/Tests/LibWeb/Text/input/wpt-import/html/semantics/document-metadata/the-style-element/style_type_change.html @@ -0,0 +1,39 @@ + + + + + Dynamically changing HTMLStyleElement.type should change the rendering accordingly + + + + + + + Text content. + + + \ No newline at end of file