]> source.dussan.org Git - vaadin-framework.git/commitdiff
Fix sanitization of empty RTA input for Firefox & IE (#11937)
authorTarek Oraby <42799254+tarekoraby@users.noreply.github.com>
Mon, 6 Apr 2020 10:29:18 +0000 (13:29 +0300)
committerGitHub <noreply@github.com>
Mon, 6 Apr 2020 10:29:18 +0000 (13:29 +0300)
Browsers differ in what they return as the content of a visually empty rich text area (RTA). Accordingly, RTA sanitizes these different values ensuring an empty string is returned to the framework. However, existing sanitization criteria doesn't work for Firefox 74 and Internet Explorer 11.

This fix appends the sanitization criteria of Firefox 74 and IE 11, ensuring an empty string is returned to the framework for a a visually empty RTA.

Closes #10338

client/src/main/java/com/vaadin/client/ui/VRichTextArea.java

index 1ed07c4cec6fca97b5397399d4c869f08742423c..7f35ee4d4d0b2372773268c7a11ff9f63c88b825 100644 (file)
@@ -365,7 +365,7 @@ public class VRichTextArea extends Composite implements Field, KeyPressHandler,
         BrowserInfo browser = BrowserInfo.get();
         String result = getValue();
         if (browser.isFirefox()) {
-            if ("<br>".equals(result)) {
+            if ("<br>".equals(result) || "<div><br></div>".equals(result)) {
                 result = "";
             }
         } else if (browser.isWebkit() || browser.isEdge()) {
@@ -373,7 +373,7 @@ public class VRichTextArea extends Composite implements Field, KeyPressHandler,
                 result = "";
             }
         } else if (browser.isIE()) {
-            if ("<P>&nbsp;</P>".equals(result)) {
+            if ("<P>&nbsp;</P>".equals(result) || "<p><br></p>".equals(result)) {
                 result = "";
             }
         } else if (browser.isOpera()) {