summaryrefslogtreecommitdiffstats
path: root/client
diff options
context:
space:
mode:
authorTatu Lund <tatu@vaadin.com>2020-05-25 10:52:56 +0300
committerGitHub <noreply@github.com>2020-05-25 10:52:56 +0300
commit06947c6f90e3a4d9f85f399f383e21da4f6e12d4 (patch)
tree31fc13ef334141462b40fc48fc60f5fc1ac25062 /client
parent4014f806a139b3bf00f9fc3e807817ac35ba9501 (diff)
downloadvaadin-framework-06947c6f90e3a4d9f85f399f383e21da4f6e12d4.tar.gz
vaadin-framework-06947c6f90e3a4d9f85f399f383e21da4f6e12d4.zip
Moving disableBrowserAutocomplete to WidgetUtil and change widgets to use it (#12020)
* Add autocomplete prevention to DateField Autocomplete popup will interfere DateField's own popup * Adding disableBrowserAutocomplete(..) in WidgetUtil * Change VComboBox to use WidgetUtil.disableBrowserAutocomplete(..) * Change to use WidgetUtil.disableBrowserAutocomplete(..) * Change VFilterSelect to use WidgetUtil.disableBrowserAutocomplete(..) * Adding WidgetUtil.disableBrowserAutocomplete to VTextualDate * Adding missing import * Adding missing import
Diffstat (limited to 'client')
-rw-r--r--client/src/main/java/com/vaadin/client/WidgetUtil.java22
-rw-r--r--client/src/main/java/com/vaadin/client/ui/VAbstractTextualDate.java3
-rw-r--r--client/src/main/java/com/vaadin/client/ui/VComboBox.java19
3 files changed, 26 insertions, 18 deletions
diff --git a/client/src/main/java/com/vaadin/client/WidgetUtil.java b/client/src/main/java/com/vaadin/client/WidgetUtil.java
index 6906f5fa5e..7a268a0a8a 100644
--- a/client/src/main/java/com/vaadin/client/WidgetUtil.java
+++ b/client/src/main/java/com/vaadin/client/WidgetUtil.java
@@ -42,6 +42,7 @@ import com.google.gwt.user.client.Event;
import com.google.gwt.user.client.EventListener;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.RootPanel;
+import com.google.gwt.user.client.ui.TextBox;
import com.google.gwt.user.client.ui.Widget;
import com.vaadin.shared.ui.ErrorLevel;
import com.vaadin.shared.util.SharedUtil;
@@ -1962,4 +1963,25 @@ public class WidgetUtil {
return indicator;
}
}
+
+ public static void disableBrowserAutocomplete(TextBox textBox) {
+ /*-
+ * Stop the browser from showing its own suggestion popup.
+ *
+ * Using an invalid value instead of "off" as suggested by
+ * https://developer.mozilla.org/en-US/docs/Web/Security/Securing_your_site/Turning_off_form_autocompletion
+ *
+ * Leaving the non-standard Safari options autocapitalize and
+ * autocorrect untouched since those do not interfere in the same
+ * way, and they might be useful in a combo box where new items are
+ * allowed.
+ */
+ if (BrowserInfo.get().isChrome()) {
+ // Chrome supports "off" and random number does not work with
+ // Chrome
+ textBox.getElement().setAttribute("autocomplete", "off");
+ } else {
+ textBox.getElement().setAttribute("autocomplete", Math.random() + "");
+ }
+ }
}
diff --git a/client/src/main/java/com/vaadin/client/ui/VAbstractTextualDate.java b/client/src/main/java/com/vaadin/client/ui/VAbstractTextualDate.java
index bf79fec545..5fd4fe6c55 100644
--- a/client/src/main/java/com/vaadin/client/ui/VAbstractTextualDate.java
+++ b/client/src/main/java/com/vaadin/client/ui/VAbstractTextualDate.java
@@ -36,6 +36,7 @@ import com.vaadin.client.BrowserInfo;
import com.vaadin.client.Focusable;
import com.vaadin.client.LocaleNotLoadedException;
import com.vaadin.client.LocaleService;
+import com.vaadin.client.WidgetUtil;
import com.vaadin.client.ui.aria.AriaHelper;
import com.vaadin.client.ui.aria.HandlesAriaCaption;
import com.vaadin.client.ui.aria.HandlesAriaInvalid;
@@ -90,6 +91,8 @@ public abstract class VAbstractTextualDate<R extends Enum<R>>
if (BrowserInfo.get().isIE()) {
addDomHandler(this, KeyDownEvent.getType());
}
+ // Stop the browser from showing its own suggestion popup.
+ WidgetUtil.disableBrowserAutocomplete(text);
add(text);
publishJSHelpers(getElement());
}
diff --git a/client/src/main/java/com/vaadin/client/ui/VComboBox.java b/client/src/main/java/com/vaadin/client/ui/VComboBox.java
index cf06e06b2d..08c57f888a 100644
--- a/client/src/main/java/com/vaadin/client/ui/VComboBox.java
+++ b/client/src/main/java/com/vaadin/client/ui/VComboBox.java
@@ -1438,24 +1438,7 @@ public class VComboBox extends Composite implements Field, KeyDownHandler,
* @since 7.6.4
*/
public FilterSelectTextBox() {
- /*-
- * Stop the browser from showing its own suggestion popup.
- *
- * Using an invalid value instead of "off" as suggested by
- * https://developer.mozilla.org/en-US/docs/Web/Security/Securing_your_site/Turning_off_form_autocompletion
- *
- * Leaving the non-standard Safari options autocapitalize and
- * autocorrect untouched since those do not interfere in the same
- * way, and they might be useful in a combo box where new items are
- * allowed.
- */
- if (BrowserInfo.get().isChrome()) {
- // Chrome supports "off" and random number does not work with
- // Chrome
- getElement().setAttribute("autocomplete", "off");
- } else {
- getElement().setAttribute("autocomplete", Math.random() + "");
- }
+ WidgetUtil.disableBrowserAutocomplete(this);
}
/**