| Index: ui/login/account_picker/user_pod_row.js
|
| diff --git a/ui/login/account_picker/user_pod_row.js b/ui/login/account_picker/user_pod_row.js
|
| index 54df155a8cf1dfdc590cfccf2502624ad46c25ee..08ac15110aeab7a9fbb655305f49bb371c79238e 100644
|
| --- a/ui/login/account_picker/user_pod_row.js
|
| +++ b/ui/login/account_picker/user_pod_row.js
|
| @@ -714,8 +714,9 @@ cr.define('login', function() {
|
| this.addEventListener('mousedown', this.handlePodMouseDown_.bind(this));
|
|
|
| if (this.pinKeyboard) {
|
| + this.pinKeyboard.passwordElement = this.passwordElement;
|
| this.pinKeyboard.addEventListener('pin-change',
|
| - this.handlePinChanged_.bind(this));
|
| + this.handleInputChanged_.bind(this));
|
| }
|
|
|
| this.actionBoxAreaElement.addEventListener('mousedown',
|
| @@ -755,6 +756,8 @@ cr.define('login', function() {
|
| this.handlePasswordKeyPress_.bind(this));
|
| this.passwordElement.addEventListener('input',
|
| this.handleInputChanged_.bind(this));
|
| + this.passwordElement.addEventListener('mouseup',
|
| + this.handleInputMouseUp_.bind(this));
|
|
|
| if (this.submitButton) {
|
| this.submitButton.addEventListener('click',
|
| @@ -1167,6 +1170,8 @@ cr.define('login', function() {
|
| // Change the password placeholder based on pin keyboard visibility.
|
| this.passwordElement.placeholder = loadTimeData.getString(visible ?
|
| 'pinKeyboardPlaceholderPinPassword' : 'passwordHint');
|
| +
|
| + chrome.send('setForceDisableVirtualKeyboard', [visible]);
|
| },
|
|
|
| isPinShown: function() {
|
| @@ -1867,24 +1872,24 @@ cr.define('login', function() {
|
| },
|
|
|
| /**
|
| - * Handles pin change event from the pin keyboard.
|
| - * @param {Event} e Pin change event.
|
| + * Handles input event on the password element.
|
| + * @param {Event} e Input event.
|
| */
|
| - handlePinChanged_: function(e) {
|
| - this.passwordElement.value = e.detail.pin;
|
| + handleInputChanged_: function(e) {
|
| this.updateInput_();
|
| },
|
|
|
| /**
|
| - * Handles input event on the password element.
|
| - * @param {Event} e Input event.
|
| + * Handles mouse up event on the password element.
|
| + * @param {Event} e Mouse up event.
|
| */
|
| - handleInputChanged_: function(e) {
|
| - if (this.pinKeyboard)
|
| - this.pinKeyboard.value = this.passwordElement.value;
|
| - if (this.submitButton)
|
| - this.submitButton.disabled = this.passwordElement.value.length <= 0;
|
| - this.updateInput_();
|
| + handleInputMouseUp_: function(e) {
|
| + // If the PIN keyboard is shown and the user clicks on the password
|
| + // element, the virtual keyboard should pop up if it is enabled, so we
|
| + // must disable the virtual keyboard override.
|
| + if (this.isPinShown()) {
|
| + chrome.send('setForceDisableVirtualKeyboard', [false]);
|
| + }
|
| },
|
|
|
| /**
|
|
|