We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent c42cc40 commit 3c86741Copy full SHA for 3c86741
2 files changed
src/main/java/org/owasp/html/CssSchema.java
@@ -424,6 +424,8 @@ Property forKey(String propertyName) {
424
"auto", "inherit", "none");
425
Set<String> overflowLiterals0 = Set.of(
426
"auto", "hidden", "inherit", "scroll", "visible");
427
+ Set<String> overflowWrapLiterals0 = Set.of(
428
+ "normal", "break-word", "anywhere", "inherit");
429
Set<String> overflowXLiterals0 = Set.of(
430
"no-content", "no-display");
431
Set<String> overflowXLiterals1 = Set.of(
@@ -668,6 +670,7 @@ Property forKey(String propertyName) {
668
670
Property opacity = new Property(1, mozOpacityLiterals0, zeroFns);
669
671
builder.put("opacity", opacity);
672
builder.put("overflow", new Property(0, overflowLiterals0, zeroFns));
673
+ builder.put("overflow-wrap", new Property(0, overflowWrapLiterals0, zeroFns));
674
@SuppressWarnings("unchecked")
675
Property overflowX = new Property(
676
0, union(overflowXLiterals0, overflowXLiterals1), zeroFns);
src/test/java/org/owasp/html/HtmlPolicyBuilderTest.java
@@ -1029,6 +1029,38 @@ public static final void testSkipAndRequireRels() {
1029
pf.sanitize("<a href=\"http://example.com\" rel=noopener target=\"_blank\">eg</a>"));
1030
}
1031
1032
+ @Test
1033
+ public static final void testOverflowWrap() {
1034
+ PolicyFactory pf = new HtmlPolicyBuilder()
1035
+ .allowElements("span")
1036
+ .allowStyling(CssSchema.union(CssSchema.DEFAULT, CssSchema.withProperties(List.of("overflow-wrap"))))
1037
+ .toFactory();
1038
+
1039
+ assertEquals(
1040
+ "<span style=\"overflow-wrap:anywhere\">Something</span>",
1041
+ pf.sanitize("<span style=\"overflow-wrap: anywhere\">Something</span>"));
1042
1043
1044
+ "<span style=\"overflow-wrap:inherit\">Something</span>",
1045
+ pf.sanitize("<span style=\"overflow-wrap: inherit\">Something</span>"));
1046
1047
1048
+ "Something",
1049
+ pf.sanitize("<span style=\"overflow-wrap: something\">Something</span>"));
1050
+ }
1051
1052
1053
+ public static final void testOverflowWrapNotAllowed() {
1054
1055
1056
+ .allowStyling()
1057
1058
1059
1060
1061
1062
1063
1064
@Test
1065
public static final void testExplicitRelsSkip() {
1066
PolicyFactory pf = new HtmlPolicyBuilder()
0 commit comments