| Index: chrome/browser/resources/bluetooth_internals/descriptor_list.js
|
| diff --git a/chrome/browser/resources/bluetooth_internals/descriptor_list.js b/chrome/browser/resources/bluetooth_internals/descriptor_list.js
|
| index 3b026c30af0915d383741bf0162ea2b99f272d10..13d646b1147f21e342c0e71845cc546d7a0cb1dd 100644
|
| --- a/chrome/browser/resources/bluetooth_internals/descriptor_list.js
|
| +++ b/chrome/browser/resources/bluetooth_internals/descriptor_list.js
|
| @@ -26,13 +26,23 @@ cr.define('descriptor_list', function() {
|
| * properties, 'id' and 'uuid' within the DescriptorInfo object.
|
| * @constructor
|
| * @param {!interfaces.BluetoothDevice.DescriptorInfo} descriptorInfo
|
| + * @param {string} deviceAddress
|
| + * @param {string} serviceId
|
| + * @param {string} characteristicId
|
| */
|
| - function DescriptorListItem(descriptorInfo) {
|
| + function DescriptorListItem(
|
| + descriptorInfo, deviceAddress, serviceId, characteristicId) {
|
| var listItem = new ExpandableListItem();
|
| listItem.__proto__ = DescriptorListItem.prototype;
|
|
|
| /** @type {!interfaces.BluetoothDevice.DescriptorInfo} */
|
| listItem.info = descriptorInfo;
|
| + /** @private {string} */
|
| + listItem.deviceAddress_ = deviceAddress;
|
| + /** @private {string} */
|
| + listItem.serviceId_ = serviceId;
|
| + /** @private {string} */
|
| + listItem.characteristicId_ = characteristicId;
|
|
|
| listItem.decorate();
|
| return listItem;
|
| @@ -57,6 +67,15 @@ cr.define('descriptor_list', function() {
|
| 'uuid.uuid': this.info.uuid.uuid,
|
| });
|
|
|
| + /** @private {!value_control.ValueControl} */
|
| + this.valueControl_ = new value_control.ValueControl();
|
| + this.valueControl_.load({
|
| + deviceAddress: this.deviceAddress_,
|
| + serviceId: this.serviceId_,
|
| + characteristicId: this.characteristicId_,
|
| + descriptorId: this.info.id,
|
| + });
|
| +
|
| // Create content for display in brief content container.
|
| var descriptorHeaderText = document.createElement('div');
|
| descriptorHeaderText.textContent = 'Descriptor:';
|
| @@ -77,10 +96,15 @@ cr.define('descriptor_list', function() {
|
| descriptorDiv.classList.add('flex');
|
| descriptorDiv.appendChild(this.descriptorFieldSet_);
|
|
|
| + var valueHeader = document.createElement('h4');
|
| + valueHeader.textContent = 'Value';
|
| +
|
| var infoDiv = document.createElement('div');
|
| infoDiv.classList.add('info-container');
|
| infoDiv.appendChild(descriptorInfoHeader);
|
| infoDiv.appendChild(descriptorDiv);
|
| + infoDiv.appendChild(valueHeader);
|
| + infoDiv.appendChild(this.valueControl_);
|
|
|
| this.expandedContent_.appendChild(infoDiv);
|
| },
|
| @@ -99,6 +123,12 @@ cr.define('descriptor_list', function() {
|
| decorate: function() {
|
| ExpandableList.prototype.decorate.call(this);
|
|
|
| + /** @private {?string} */
|
| + this.deviceAddress_ = null;
|
| + /** @private {?string} */
|
| + this.serviceId_ = null;
|
| + /** @private {?string} */
|
| + this.characteristicId_ = null;
|
| /** @private {boolean} */
|
| this.descriptorsRequested_ = false;
|
|
|
| @@ -108,7 +138,8 @@ cr.define('descriptor_list', function() {
|
|
|
| /** @override */
|
| createItem: function(data) {
|
| - return new DescriptorListItem(data);
|
| + return new DescriptorListItem(
|
| + data, this.deviceAddress_, this.serviceId_, this.characteristicId_);
|
| },
|
|
|
| /**
|
| @@ -124,6 +155,9 @@ cr.define('descriptor_list', function() {
|
| if (this.descriptorsRequested_ || !this.isSpinnerShowing())
|
| return;
|
|
|
| + this.deviceAddress_ = deviceAddress;
|
| + this.serviceId_ = serviceId;
|
| + this.characteristicId_ = characteristicId;
|
| this.descriptorsRequested_ = true;
|
|
|
| device_broker.connectToDevice(deviceAddress)
|
|
|