| Index: chrome/browser/resources/settings/bluetooth_page/bluetooth_device_dialog.js
|
| diff --git a/chrome/browser/resources/settings/bluetooth_page/bluetooth_device_dialog.js b/chrome/browser/resources/settings/bluetooth_page/bluetooth_device_dialog.js
|
| index f700878bf38254bd346678f34323608a805d1d43..020ab409f22f8cff99ad52173f1c22dd6cf55e51 100644
|
| --- a/chrome/browser/resources/settings/bluetooth_page/bluetooth_device_dialog.js
|
| +++ b/chrome/browser/resources/settings/bluetooth_page/bluetooth_device_dialog.js
|
| @@ -46,9 +46,7 @@ settings.BluetoothAddDeviceBehavior = {
|
| * @return {boolean}
|
| * @private
|
| */
|
| - deviceNotPaired_: function(device) {
|
| - return !device.paired;
|
| - },
|
| + deviceNotPaired_: function(device) { return !device.paired; },
|
|
|
| /**
|
| * @param {!Array<!chrome.bluetooth.Device>} deviceList
|
| @@ -65,7 +63,7 @@ settings.BluetoothAddDeviceBehavior = {
|
| */
|
| onDeviceEvent_: function(e) {
|
| this.fire('device-event', e.detail);
|
| - /** @type {Event} */(e).stopPropagation();
|
| + /** @type {Event} */ (e).stopPropagation();
|
| },
|
| };
|
|
|
| @@ -84,6 +82,9 @@ settings.BluetoothPairDeviceBehavior = {
|
| */
|
| pairingEvent: Object,
|
|
|
| + /** Pincode or passkey value, used to trigger connect enabled changes. */
|
| + pinOrPass: String,
|
| +
|
| /**
|
| * @const
|
| * @type {!Array<number>}
|
| @@ -110,6 +111,7 @@ settings.BluetoothPairDeviceBehavior = {
|
| this.fire('close-dialog', '');
|
| return;
|
| }
|
| + this.pinOrPass = '';
|
| },
|
|
|
| /**
|
| @@ -184,14 +186,27 @@ settings.BluetoothPairDeviceBehavior = {
|
| if (!pairingEvent)
|
| return false;
|
| var pairing = pairingEvent.pairing;
|
| - if (pairing == PairingEventType.REQUEST_PINCODE) {
|
| - var pincode = /** @type {{invalid: boolean}} */(this.$.pincode);
|
| - return !pincode.invalid;
|
| - } else if (pairing == PairingEventType.REQUEST_PASSKEY) {
|
| - var passkey = /** @type {{invalid: boolean}} */(this.$.passkey);
|
| - return !passkey.invalid;
|
| - }
|
| - return false;
|
| + return pairing == PairingEventType.REQUEST_PINCODE ||
|
| + pairing == PairingEventType.REQUEST_PASSKEY;
|
| + },
|
| +
|
| + /**
|
| + * @param {?chrome.bluetoothPrivate.PairingEvent} pairingEvent
|
| + * @param {string} pinOrPass Unused; call is triggered when this changes.
|
| + * @return {boolean}
|
| + * @private
|
| + */
|
| + enableConnect_: function(pairingEvent, pinOrPass) {
|
| + if (!this.showConnect_(this.pairingEvent))
|
| + return false;
|
| + var inputId =
|
| + (this.pairingEvent.pairing == PairingEventType.REQUEST_PINCODE) ?
|
| + '#pincode' :
|
| + '#passkey';
|
| + var paperInput = /** @type {!PaperInputElement} */ (this.$$(inputId));
|
| + assert(paperInput);
|
| + /** @type {string} */ var value = paperInput.value;
|
| + return !!value && paperInput.validate();
|
| },
|
|
|
| /**
|
| @@ -235,9 +250,9 @@ settings.BluetoothPairDeviceBehavior = {
|
| if (response == chrome.bluetoothPrivate.PairingResponse.CONFIRM) {
|
| var pairing = this.pairingEvent.pairing;
|
| if (pairing == PairingEventType.REQUEST_PINCODE)
|
| - options.pincode = this.$.pincode.value;
|
| + options.pincode = this.$$('#pincode').value;
|
| else if (pairing == PairingEventType.REQUEST_PASSKEY)
|
| - options.passkey = parseInt(this.$.passkey.value, 10);
|
| + options.passkey = parseInt(this.$$('#passkey').value, 10);
|
| }
|
| this.fire('response', options);
|
| },
|
| @@ -254,7 +269,7 @@ settings.BluetoothPairDeviceBehavior = {
|
| eventType == PairingEventType.REQUEST_AUTHORIZATION) {
|
| return 'bluetoothStartConnecting';
|
| }
|
| - return 'bluetooth_' + /** @type {string} */(eventType);
|
| + return 'bluetooth_' + /** @type {string} */ (eventType);
|
| },
|
|
|
| /**
|
| @@ -271,10 +286,10 @@ settings.BluetoothPairDeviceBehavior = {
|
| if (pairing == PairingEventType.DISPLAY_PINCODE && pairingEvent.pincode &&
|
| index < pairingEvent.pincode.length) {
|
| digit = pairingEvent.pincode[index];
|
| - } else if (pairingEvent.passkey &&
|
| - (pairing == PairingEventType.DISPLAY_PASSKEY ||
|
| - pairing == PairingEventType.KEYS_ENTERED ||
|
| - pairing == PairingEventType.CONFIRM_PASSKEY)) {
|
| + } else if (
|
| + pairingEvent.passkey && (pairing == PairingEventType.DISPLAY_PASSKEY ||
|
| + pairing == PairingEventType.KEYS_ENTERED ||
|
| + pairing == PairingEventType.CONFIRM_PASSKEY)) {
|
| var passkeyString = String(pairingEvent.passkey);
|
| if (index < passkeyString.length)
|
| digit = passkeyString[index];
|
| @@ -303,7 +318,7 @@ settings.BluetoothPairDeviceBehavior = {
|
| pairingEvent.pairing == PairingEventType.KEYS_ENTERED &&
|
| pairingEvent.enteredKey) {
|
| var enteredKey = pairingEvent.enteredKey; // 1-7
|
| - var lastKey = this.digits.length; // 6
|
| + var lastKey = this.digits.length; // 6
|
| if ((index == -1 && enteredKey > lastKey) || (index + 1 == enteredKey))
|
| cssClass += ' next';
|
| else if (index > enteredKey)
|
| @@ -324,21 +339,27 @@ Polymer({
|
|
|
| properties: {
|
| /** Which version of this dialog to show (adding or pairing). */
|
| - dialogType: String,
|
| + dialogId: String,
|
| },
|
|
|
| - /** @private */
|
| - deviceListChanged_: function(e) {
|
| - this.$.dialog.notifyResize();
|
| + open: function() {
|
| + this.pinOrPass = '';
|
| + this.$.dialog.open();
|
| },
|
|
|
| + close: function() { this.$.dialog.close(); },
|
| +
|
| + /** @private */
|
| + deviceListChanged_: function(e) { this.$.dialog.notifyResize(); },
|
| +
|
| /**
|
| - * @param {string} dialogType
|
| - * @return {string} The title of for that |dialogType|.
|
| + * @param {string} dialogId
|
| + * @return {string} The title of for that |dialogId|.
|
| */
|
| - getTitle_: function(dialogType) {
|
| - return this.i18n(dialogType == 'addDevice' ?
|
| - 'bluetoothAddDevicePageTitle' : 'bluetoothPairDevicePageTitle');
|
| + getTitle_: function(dialogId) {
|
| + return this.i18n(
|
| + dialogId == 'addDevice' ? 'bluetoothAddDevicePageTitle' :
|
| + 'bluetoothPairDevicePageTitle');
|
| },
|
|
|
| /**
|
| @@ -361,22 +382,12 @@ Polymer({
|
|
|
| /** @private */
|
| onIronOverlayCanceled_: function() {
|
| - if (this.dialogType == 'pairDevice')
|
| + if (this.dialogId == 'pairDevice')
|
| this.sendResponse_(chrome.bluetoothPrivate.PairingResponse.CANCEL);
|
| },
|
|
|
| /** @private */
|
| - onIronOverlayClosed_: function() {
|
| - this.fire('close-dialog', '');
|
| - },
|
| -
|
| - open: function() {
|
| - this.$.dialog.open();
|
| - },
|
| -
|
| - close: function() {
|
| - this.$.dialog.close();
|
| - },
|
| + onIronOverlayClosed_: function() { this.fire('close-dialog', ''); },
|
| });
|
|
|
| })();
|
|
|