Index: chrome/browser/resources/bluetooth_internals/device_details_page.js |
diff --git a/chrome/browser/resources/bluetooth_internals/device_details_page.js b/chrome/browser/resources/bluetooth_internals/device_details_page.js |
index 9f00805541eea8c299d015ba14afe368ec049870..a7f28acd67f3074a95155510db33ad1e624d19f9 100644 |
--- a/chrome/browser/resources/bluetooth_internals/device_details_page.js |
+++ b/chrome/browser/resources/bluetooth_internals/device_details_page.js |
@@ -9,6 +9,7 @@ |
*/ |
cr.define('device_details_page', function() { |
+ /** @const */ var ArrayDataModel = cr.ui.ArrayDataModel; |
/** @const */ var Page = cr.ui.pageManager.Page; |
/** @const */ var Snackbar = snackbar.Snackbar; |
/** @const */ var SnackbarType = snackbar.SnackbarType; |
@@ -41,7 +42,7 @@ cr.define('device_details_page', function() { |
this.deviceInfo = deviceInfo; |
- /** @type {interfaces.BluetoothDevice.Device.ptrClass} */ |
+ /** @type {?interfaces.BluetoothDevice.Device.ptrClass} */ |
this.devicePtr = null; |
/** @private {!device_collection.ConnectionStatus} */ |
this.status_ = device_collection.ConnectionStatus.DISCONNECTED; |
@@ -74,6 +75,10 @@ cr.define('device_details_page', function() { |
this.pageDiv.querySelector('.device-details').appendChild( |
this.deviceFieldSet); |
+ this.serviceList = new service_list.ServiceList(); |
+ this.serviceList.setLoading(true); |
+ this.pageDiv.querySelector('.services').appendChild(this.serviceList); |
+ |
this.redraw(); |
} |
@@ -100,7 +105,10 @@ cr.define('device_details_page', function() { |
// Fetch services asynchronously. |
return this.devicePtr.getServices(); |
}.bind(this)).then(function(response) { |
- this.deviceInfo.services = response.services; |
+ this.serviceList.setData(new ArrayDataModel(response.services)); |
+ this.deviceInfo.services = this.serviceList.dataModel; |
+ this.serviceList.setLoading(false); |
+ |
this.redraw(); |
this.fireDeviceInfoChanged_(); |
}.bind(this)).catch(function(error) { |
@@ -153,6 +161,7 @@ cr.define('device_details_page', function() { |
}; |
this.deviceFieldSet.setObject(deviceViewObj); |
+ this.serviceList.redraw(); |
}, |
/** |