Repository: primefaces/primefaces (java)

Issue:
TextEditor: cannot combine underline and smal/huge size of font
### Describe the bug

When you are using a p:textEditor you cannot set the "huge" size then underline the text, only underline will be taken into account.

### Reproducer

1. Go to https://www.primefaces.org/showcase/ui/input/textEditor.xhtml?jfwid=c7208
2. Enter any text
3. Select the text
4. Select "huge" size
5. Select the text
6. Select "underline"
7. Click on save (it will trigger the behaviour)
8. Résult: 
![text is not huge](https://github.com/primefaces/primefaces/assets/1523653/af4c6991-ed2f-453e-919b-81b89b293fe0)


### Expected behavior

The text must be huge (the same way it is before you click on save) : 
![image](https://github.com/primefaces/primefaces/assets/1523653/91ea593b-0211-498b-9afc-1dcb498d5c7e)


### PrimeFaces edition

Community

### PrimeFaces version

12.0.0

### Theme

Appolo

### JSF implementation

Mojarra

### JSF version

2.3

### Java version

8

### Browser(s)

_No response_

Pull request:
Allow class attribute in u, em, strong and s so that we can have size styling
Fix #10385 

Patch:
diff --git a/primefaces/src/main/java/org/primefaces/util/HtmlSanitizer.java b/primefaces/src/main/java/org/primefaces/util/HtmlSanitizer.java
index dea0d5480c..ec93a67289 100644
--- a/primefaces/src/main/java/org/primefaces/util/HtmlSanitizer.java
+++ b/primefaces/src/main/java/org/primefaces/util/HtmlSanitizer.java
@@ -47,9 +47,9 @@ public class HtmlSanitizer {
 
     private static final PolicyFactory HTML_STYLES_SANITIZER = Sanitizers.STYLES
             .and(new HtmlPolicyBuilder()
-            .allowElements("span", "li", "p")
+            .allowElements("span", "li", "p", "u", "strong", "em", "s")
             .allowAttributes("class")
-            .onElements("span", "li", "p")
+            .onElements("span", "li", "p", "u", "strong", "em", "s")
             .toFactory());
 
     private static final PolicyFactory HTML_DENY_ALL_SANITIZER = new HtmlPolicyBuilder().toFactory();


Test patch:
diff --git a/primefaces/src/test/java/org/primefaces/util/HtmlSanitizerTest.java b/primefaces/src/test/java/org/primefaces/util/HtmlSanitizerTest.java
index 41cca298fa..2ab7d6ad03 100644
--- a/primefaces/src/test/java/org/primefaces/util/HtmlSanitizerTest.java
+++ b/primefaces/src/test/java/org/primefaces/util/HtmlSanitizerTest.java
@@ -33,7 +33,11 @@ public class HtmlSanitizerTest {
         String value = "<p><a href=\"https://www.primefaces.org\" target=\"_blank\">Link</a> <strong>bold </strong>"
                 + "<span class=\"ql-font-monospace\">monospace</span> <span class=\"ql-size-huge\">huge </span>"
                 + "<span class=\"ql-font-serif ql-size-small\">small serif </span><span style=\"color: rgb(230, 0, 0);\">red </span>"
-                + "<span style=\"background-color: rgb(255, 255, 0);\">yellow </span>x<sup>2</sup> <img src=\"data:image/png;base64,COFFEE\" /></p>";
+                + "<span style=\"background-color: rgb(255, 255, 0);\">yellow </span>x<sup>2</sup> <img src=\"data:image/png;base64,COFFEE\" /></p>"
+                + "<p><strong class=\"ql-size-huge\"><em>
<u>f</u>
</em></strong></p>"
+                + "<p><em class=\"ql-size-huge\">
<u>f</u>
</em></p>"
+                + "<p><s class=\"ql-size-huge\"><u>f</u>
</p>"
+                + "<p><u class=\"ql-size-huge\">f</u></p>";
         String sanitized = HtmlSanitizer.sanitizeHtml(value, true, true, true, true, true);
         Assertions.assertTrue(sanitized.contains("<a href") && sanitized.contains("target="));
         Assertions.assertTrue(sanitized.contains("<strong>bold"));
@@ -41,6 +45,10 @@ public class HtmlSanitizerTest {
         Assertions.assertTrue(sanitized.contains("<span style=\"background"));
         Assertions.assertTrue(sanitized.contains("<sup>2"));
         Assertions.assertTrue(sanitized.contains("<img") && sanitized.contains("COFFEE"));
+        Assertions.assertTrue(sanitized.contains("<strong class=\"ql-size-huge\"><em>
<u>f</u>
</em></strong>"));
+        Assertions.assertTrue(sanitized.contains("<em class=\"ql-size-huge\">
<u>f</u>
</em>"));
+        Assertions.assertTrue(sanitized.contains("<s class=\"ql-size-huge\"><u>f</u>
"));
+        Assertions.assertTrue(sanitized.contains("<u class=\"ql-size-huge\">f</u>"));
     }
 
     @Test