| Index: chrome/browser/resources/chromeos/login/gaia_input_form.js
|
| diff --git a/chrome/browser/resources/chromeos/login/gaia_input_form.js b/chrome/browser/resources/chromeos/login/gaia_input_form.js
|
| index a3610b058fe5d71b36151111d3884852a78d29c2..7306ba7374537c72a43cf2595de5f15116906d5e 100644
|
| --- a/chrome/browser/resources/chromeos/login/gaia_input_form.js
|
| +++ b/chrome/browser/resources/chromeos/login/gaia_input_form.js
|
| @@ -3,35 +3,59 @@
|
| * found in the LICENSE file.
|
| */
|
|
|
| -Polymer('gaia-input-form', {
|
| - inputValue: '',
|
| -
|
| - onButtonClicked: function() {
|
| - this.fire('buttonClick');
|
| - },
|
| -
|
| - onKeyDown: function(e) {
|
| - this.setValid(true);
|
| - if (e.keyCode == 13 && !this.$.button.disabled)
|
| - this.$.button.fire('tap');
|
| - },
|
| -
|
| - onTap: function() {
|
| - this.setValid(true);
|
| - },
|
| -
|
| - focus: function() {
|
| - this.$.inputForm.focus();
|
| - },
|
| -
|
| - checkValidity: function() {
|
| - var input = this.$.inputForm;
|
| - var isValid = input.validity.valid;
|
| - this.setValid(isValid);
|
| - return isValid;
|
| - },
|
| -
|
| - setValid: function(isValid) {
|
| - this.$.paperInputDecorator.isInvalid = !isValid;
|
| - }
|
| -});
|
| +Polymer('gaia-input-form', (function() {
|
| + var INPUT_EMAIL_PATTERN = "^[a-zA-Z0-9.!#$%&'*+=?^_`{|}~-]+(@[^\\s@]+)?$";
|
| +
|
| + return {
|
| +
|
| + inputValue: '',
|
| +
|
| + onButtonClicked: function() {
|
| + this.fire('buttonClick');
|
| + },
|
| +
|
| + onKeyDown: function(e) {
|
| + this.setValid(true);
|
| + this.setDomainVisibility();
|
| + if (e.keyCode == 13 && !this.$.button.disabled)
|
| + this.$.button.fire('tap');
|
| + },
|
| +
|
| + onKeyUp: function(e) {
|
| + this.setDomainVisibility();
|
| + },
|
| +
|
| + setDomainVisibility: function() {
|
| + this.$.emailDomain.hidden = !(this.inputValue.indexOf('@') === -1);
|
| + },
|
| +
|
| + ready: function() {
|
| + if (this.inputType == 'email') {
|
| + this.$.inputForm.type = 'text';
|
| + this.$.inputForm.pattern = INPUT_EMAIL_PATTERN;
|
| + this.$.inputForm.addEventListener('keyup', this.onKeyUp.bind(this));
|
| + } else {
|
| + this.$.inputForm.type = this.inputType;
|
| + }
|
| + },
|
| +
|
| + onTap: function() {
|
| + this.setValid(true);
|
| + },
|
| +
|
| + focus: function() {
|
| + this.$.inputForm.focus();
|
| + },
|
| +
|
| + checkValidity: function() {
|
| + var input = this.$.inputForm;
|
| + var isValid = input.validity.valid;
|
| + this.setValid(isValid);
|
| + return isValid;
|
| + },
|
| +
|
| + setValid: function(isValid) {
|
| + this.$.paperInputDecorator.isInvalid = !isValid;
|
| + }
|
| + };
|
| +})());
|
|
|