diff --git a/src/main/java/org/owasp/html/CssSchema.java b/src/main/java/org/owasp/html/CssSchema.java
index e0e9015a..afd5203f 100644
--- a/src/main/java/org/owasp/html/CssSchema.java
+++ b/src/main/java/org/owasp/html/CssSchema.java
@@ -424,6 +424,8 @@ Property forKey(String propertyName) {
"auto", "inherit", "none");
Set overflowLiterals0 = Set.of(
"auto", "hidden", "inherit", "scroll", "visible");
+ Set overflowWrapLiterals0 = Set.of(
+ "normal", "break-word", "anywhere", "inherit");
Set overflowXLiterals0 = Set.of(
"no-content", "no-display");
Set overflowXLiterals1 = Set.of(
@@ -668,6 +670,7 @@ Property forKey(String propertyName) {
Property opacity = new Property(1, mozOpacityLiterals0, zeroFns);
builder.put("opacity", opacity);
builder.put("overflow", new Property(0, overflowLiterals0, zeroFns));
+ builder.put("overflow-wrap", new Property(0, overflowWrapLiterals0, zeroFns));
@SuppressWarnings("unchecked")
Property overflowX = new Property(
0, union(overflowXLiterals0, overflowXLiterals1), zeroFns);
diff --git a/src/test/java/org/owasp/html/HtmlPolicyBuilderTest.java b/src/test/java/org/owasp/html/HtmlPolicyBuilderTest.java
index 0f49540f..6655e5c8 100644
--- a/src/test/java/org/owasp/html/HtmlPolicyBuilderTest.java
+++ b/src/test/java/org/owasp/html/HtmlPolicyBuilderTest.java
@@ -1029,6 +1029,38 @@ public static final void testSkipAndRequireRels() {
pf.sanitize("eg"));
}
+ @Test
+ public static final void testOverflowWrap() {
+ PolicyFactory pf = new HtmlPolicyBuilder()
+ .allowElements("span")
+ .allowStyling(CssSchema.union(CssSchema.DEFAULT, CssSchema.withProperties(List.of("overflow-wrap"))))
+ .toFactory();
+
+ assertEquals(
+ "Something",
+ pf.sanitize("Something"));
+
+ assertEquals(
+ "Something",
+ pf.sanitize("Something"));
+
+ assertEquals(
+ "Something",
+ pf.sanitize("Something"));
+ }
+
+ @Test
+ public static final void testOverflowWrapNotAllowed() {
+ PolicyFactory pf = new HtmlPolicyBuilder()
+ .allowElements("span")
+ .allowStyling()
+ .toFactory();
+
+ assertEquals(
+ "Something",
+ pf.sanitize("Something"));
+ }
+
@Test
public static final void testExplicitRelsSkip() {
PolicyFactory pf = new HtmlPolicyBuilder()