diff --git a/Userland/Libraries/LibWeb/HTML/HTMLPreElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLPreElement.cpp
index c21fee9871..b098384bcc 100644
--- a/Userland/Libraries/LibWeb/HTML/HTMLPreElement.cpp
+++ b/Userland/Libraries/LibWeb/HTML/HTMLPreElement.cpp
@@ -15,4 +15,14 @@ HTMLPreElement::HTMLPreElement(DOM::Document& document, DOM::QualifiedName quali
HTMLPreElement::~HTMLPreElement() = default;
+void HTMLPreElement::apply_presentational_hints(CSS::StyleProperties& style) const
+{
+ HTMLElement::apply_presentational_hints(style);
+
+ for_each_attribute([&](auto const& name, auto const&) {
+ if (name.equals_ignoring_case(HTML::AttributeNames::wrap))
+ style.set_property(CSS::PropertyID::WhiteSpace, CSS::IdentifierStyleValue::create(CSS::ValueID::PreWrap));
+ });
+}
+
}
diff --git a/Userland/Libraries/LibWeb/HTML/HTMLPreElement.h b/Userland/Libraries/LibWeb/HTML/HTMLPreElement.h
index 9db21317f3..fa8f24887b 100644
--- a/Userland/Libraries/LibWeb/HTML/HTMLPreElement.h
+++ b/Userland/Libraries/LibWeb/HTML/HTMLPreElement.h
@@ -16,6 +16,9 @@ public:
HTMLPreElement(DOM::Document&, DOM::QualifiedName);
virtual ~HTMLPreElement() override;
+
+private:
+ virtual void apply_presentational_hints(CSS::StyleProperties&) const override;
};
}