* 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 importtags/8.12.0.alpha1
import com.google.gwt.user.client.EventListener; | import com.google.gwt.user.client.EventListener; | ||||
import com.google.gwt.user.client.Window; | import com.google.gwt.user.client.Window; | ||||
import com.google.gwt.user.client.ui.RootPanel; | 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.google.gwt.user.client.ui.Widget; | ||||
import com.vaadin.shared.ui.ErrorLevel; | import com.vaadin.shared.ui.ErrorLevel; | ||||
import com.vaadin.shared.util.SharedUtil; | import com.vaadin.shared.util.SharedUtil; | ||||
return indicator; | 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() + ""); | |||||
} | |||||
} | |||||
} | } |
import com.vaadin.client.Focusable; | import com.vaadin.client.Focusable; | ||||
import com.vaadin.client.LocaleNotLoadedException; | import com.vaadin.client.LocaleNotLoadedException; | ||||
import com.vaadin.client.LocaleService; | import com.vaadin.client.LocaleService; | ||||
import com.vaadin.client.WidgetUtil; | |||||
import com.vaadin.client.ui.aria.AriaHelper; | import com.vaadin.client.ui.aria.AriaHelper; | ||||
import com.vaadin.client.ui.aria.HandlesAriaCaption; | import com.vaadin.client.ui.aria.HandlesAriaCaption; | ||||
import com.vaadin.client.ui.aria.HandlesAriaInvalid; | import com.vaadin.client.ui.aria.HandlesAriaInvalid; | ||||
if (BrowserInfo.get().isIE()) { | if (BrowserInfo.get().isIE()) { | ||||
addDomHandler(this, KeyDownEvent.getType()); | addDomHandler(this, KeyDownEvent.getType()); | ||||
} | } | ||||
// Stop the browser from showing its own suggestion popup. | |||||
WidgetUtil.disableBrowserAutocomplete(text); | |||||
add(text); | add(text); | ||||
publishJSHelpers(getElement()); | publishJSHelpers(getElement()); | ||||
} | } |
* @since 7.6.4 | * @since 7.6.4 | ||||
*/ | */ | ||||
public FilterSelectTextBox() { | 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); | |||||
} | } | ||||
/** | /** |
* @since 7.6.4 | * @since 7.6.4 | ||||
*/ | */ | ||||
public FilterSelectTextBox() { | 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() + ""); | |||||
} | |||||
// Stop the browser from showing its own suggestion popup. | |||||
WidgetUtil.disableBrowserAutocomplete(this); | |||||
} | } | ||||
/** | /** |
import com.vaadin.client.Focusable; | import com.vaadin.client.Focusable; | ||||
import com.vaadin.client.LocaleNotLoadedException; | import com.vaadin.client.LocaleNotLoadedException; | ||||
import com.vaadin.client.LocaleService; | import com.vaadin.client.LocaleService; | ||||
import com.vaadin.client.WidgetUtil; | |||||
import com.vaadin.client.ui.SubPartAware; | import com.vaadin.client.ui.SubPartAware; | ||||
import com.vaadin.client.ui.aria.AriaHelper; | import com.vaadin.client.ui.aria.AriaHelper; | ||||
import com.vaadin.client.ui.aria.HandlesAriaCaption; | import com.vaadin.client.ui.aria.HandlesAriaCaption; | ||||
if (BrowserInfo.get().isIE()) { | if (BrowserInfo.get().isIE()) { | ||||
addDomHandler(this, KeyDownEvent.getType()); | addDomHandler(this, KeyDownEvent.getType()); | ||||
} | } | ||||
// Stop the browser from showing its own suggestion popup. | |||||
WidgetUtil.disableBrowserAutocomplete(text); | |||||
add(text); | add(text); | ||||
} | } | ||||