OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 /** | 5 /** |
6 * Javascript for bluetooth_internals.html, served from | 6 * Javascript for bluetooth_internals.html, served from |
7 * chrome://bluetooth-internals/. | 7 * chrome://bluetooth-internals/. |
8 */ | 8 */ |
9 | 9 |
| 10 // Expose for testing. |
| 11 var adapterBroker = null; |
| 12 var devices = null; |
| 13 |
10 cr.define('bluetooth_internals', function() { | 14 cr.define('bluetooth_internals', function() { |
11 function initialize() { | 15 function initialize() { |
12 var adapterBroker = null; | |
13 adapter_broker.getAdapterBroker() | 16 adapter_broker.getAdapterBroker() |
14 .then(function(broker) { adapterBroker = broker; }) | 17 .then(function(broker) { adapterBroker = broker; }) |
15 .then(function() { return adapterBroker.getInfo(); }) | 18 .then(function() { return adapterBroker.getInfo(); }) |
16 .then(function(response) { console.log('adapter', response.info); }) | 19 .then(function(response) { console.log('adapter', response.info); }) |
17 .then(function() { return adapterBroker.getDevices(); }) | 20 .then(function() { return adapterBroker.getDevices(); }) |
18 .then(function(response) { | 21 .then(function(response) { |
19 // Hook up device collection events. | 22 // Hook up device collection events. |
20 var devices = new device_collection.DeviceCollection([]); | 23 devices = new device_collection.DeviceCollection([]); |
21 adapterBroker.addEventListener('deviceadded', function(event) { | 24 adapterBroker.addEventListener('deviceadded', function(event) { |
22 devices.addOrUpdate(event.deviceInfo); | 25 devices.addOrUpdate(event.deviceInfo); |
23 }); | 26 }); |
24 adapterBroker.addEventListener('devicechanged', function(event) { | 27 adapterBroker.addEventListener('devicechanged', function(event) { |
25 devices.addOrUpdate(event.deviceInfo); | 28 devices.addOrUpdate(event.deviceInfo); |
26 }); | 29 }); |
27 adapterBroker.addEventListener('deviceremoved', function(event) { | 30 adapterBroker.addEventListener('deviceremoved', function(event) { |
28 devices.remove(event.deviceInfo); | 31 devices.remove(event.deviceInfo); |
29 }); | 32 }); |
30 | 33 |
31 response.devices.forEach(devices.addOrUpdate, | 34 response.devices.forEach(devices.addOrUpdate, |
32 devices /* this */); | 35 devices /* this */); |
33 | 36 |
34 var deviceTable = new device_table.DeviceTable(); | 37 var deviceTable = new device_table.DeviceTable(); |
35 deviceTable.setDevices(devices); | 38 deviceTable.setDevices(devices); |
| 39 deviceTable.id = 'device-table'; |
| 40 |
36 document.body.appendChild(deviceTable); | 41 document.body.appendChild(deviceTable); |
37 }) | 42 }) |
38 .catch(function(error) { console.error(error); }); | 43 .catch(function(error) { console.error(error); }); |
39 } | 44 } |
40 | 45 |
41 return { | 46 return { |
42 initialize: initialize | 47 initialize: initialize |
43 }; | 48 }; |
44 | 49 |
45 }); | 50 }); |
46 | 51 |
47 document.addEventListener('DOMContentLoaded', bluetooth_internals.initialize); | 52 document.addEventListener('DOMContentLoaded', bluetooth_internals.initialize); |
OLD | NEW |