| Index: chrome/browser/resources/options/chromeos/bluetooth_device_list.js
|
| diff --git a/chrome/browser/resources/options/chromeos/bluetooth_device_list.js b/chrome/browser/resources/options/chromeos/bluetooth_device_list.js
|
| deleted file mode 100644
|
| index 9bf0183a4df862ad6b0de80dec2882f0e1fcc1c8..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/resources/options/chromeos/bluetooth_device_list.js
|
| +++ /dev/null
|
| @@ -1,237 +0,0 @@
|
| -// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -cr.define('options.system.bluetooth', function() {
|
| - const ArrayDataModel = cr.ui.ArrayDataModel;
|
| - const DeletableItem = options.DeletableItem;
|
| - const DeletableItemList = options.DeletableItemList;
|
| -
|
| - /**
|
| - * Bluetooth settings constants.
|
| - */
|
| - function Constants() {}
|
| -
|
| - /**
|
| - * Enumeration of supported device types.
|
| - * @enum {string}
|
| - */
|
| - // TODO(kevers): Prune list based on the set of devices that will be
|
| - // supported for V1 of the feature. The set will likely be restricted to
|
| - // mouse and keyboard. Others are temporarily included for testing device
|
| - // discovery.
|
| - Constants.DEVICE_TYPE = {
|
| - COMPUTER: 'computer',
|
| - HEADSET: 'headset',
|
| - KEYBOARD: 'input-keyboard',
|
| - MOUSE: 'input-mouse',
|
| - PHONE: 'phone',
|
| - };
|
| -
|
| - /**
|
| - * Creates a new bluetooth list item.
|
| - * @param {{name: string,
|
| - * address: string,
|
| - * icon: Constants.DEVICE_TYPE,
|
| - * paired: boolean,
|
| - * connected: boolean,
|
| - * pairing: string|undefined,
|
| - * passkey: number|undefined,
|
| - * entered: number|undefined}} device
|
| - * Description of the Bluetooth device.
|
| - * @constructor
|
| - * @extends {options.DeletableItem}
|
| - */
|
| - function BluetoothListItem(device) {
|
| - var el = cr.doc.createElement('div');
|
| - el.__proto__ = BluetoothListItem.prototype;
|
| - el.data = {};
|
| - for (var key in device)
|
| - el.data[key] = device[key];
|
| - el.decorate();
|
| - // Only show the close button for paired devices.
|
| - el.deletable = device.paired;
|
| - return el;
|
| - }
|
| -
|
| - BluetoothListItem.prototype = {
|
| - __proto__: DeletableItem.prototype,
|
| -
|
| - /**
|
| - * Description of the Bluetooth device.
|
| - * @type {{name: string,
|
| - * address: string,
|
| - * icon: Constants.DEVICE_TYPE,
|
| - * paired: boolean,
|
| - * connected: boolean,
|
| - * pairing: string|undefined,
|
| - * passkey: number|undefined,
|
| - * entered: number|undefined}}
|
| - */
|
| - data: null,
|
| -
|
| - /** @inheritDoc */
|
| - decorate: function() {
|
| - DeletableItem.prototype.decorate.call(this);
|
| - var label = this.ownerDocument.createElement('div');
|
| - label.className = 'bluetooth-device-label';
|
| - this.classList.add('bluetooth-device');
|
| - this.connected = this.data.connected;
|
| - // Though strictly speaking, a connected device will also be paired, we
|
| - // are interested in tracking paired devices that are not connected.
|
| - this.paired = this.data.paired && !this.data.connected;
|
| - this.connecting = !!this.data.pairing;
|
| - var content = this.data.name;
|
| - // Update label for devices that are paired but not connected.
|
| - if (this.paired) {
|
| - content = content + ' (' +
|
| - templateData['bluetoothDeviceNotConnected'] + ')';
|
| - }
|
| - label.textContent = content;
|
| - this.contentElement.appendChild(label);
|
| - },
|
| - };
|
| -
|
| - /**
|
| - * Class for displaying a list of Bluetooth devices.
|
| - * @constructor
|
| - * @extends {options.DeletableItemList}
|
| - */
|
| - var BluetoothDeviceList = cr.ui.define('list');
|
| -
|
| - BluetoothDeviceList.prototype = {
|
| - __proto__: DeletableItemList.prototype,
|
| -
|
| - /** @inheritDoc */
|
| - decorate: function() {
|
| - DeletableItemList.prototype.decorate.call(this);
|
| - this.addEventListener('blur', this.onBlur_);
|
| - this.clear();
|
| - },
|
| -
|
| - /**
|
| - * When the list loses focus, unselect all items in the list.
|
| - * @private
|
| - */
|
| - onBlur_: function() {
|
| - // TODO(kevers): Should this be pushed up to the list class?
|
| - this.selectionModel.unselectAll();
|
| - },
|
| -
|
| - /**
|
| - * Adds a bluetooth device to the list of available devices. A check is
|
| - * made to see if the device is already in the list, in which case the
|
| - * existing device is updated.
|
| - * @param {{name: string,
|
| - * address: string,
|
| - * icon: Constants.DEVICE_TYPE,
|
| - * paired: boolean,
|
| - * connected: boolean,
|
| - * pairing: string|undefined,
|
| - * passkey: number|undefined,
|
| - * entered: number|undefined}} device
|
| - * Description of the bluetooth device.
|
| - * @return {boolean} True if the devies was successfully added or updated.
|
| - */
|
| - appendDevice: function(device) {
|
| - if (!this.isSupported_(device))
|
| - return false;
|
| - var index = this.find(device.address);
|
| - if (index == undefined) {
|
| - this.dataModel.push(device);
|
| - this.redraw();
|
| - } else {
|
| - this.dataModel.splice(index, 1, device);
|
| - this.redrawItem(index);
|
| - }
|
| - this.updateListVisibility_();
|
| - return true;
|
| - },
|
| -
|
| - /**
|
| - * Perges all devices from the list.
|
| - */
|
| - clear: function() {
|
| - this.dataModel = new ArrayDataModel([]);
|
| - this.redraw();
|
| - this.updateListVisibility_();
|
| - },
|
| -
|
| - /**
|
| - * Returns the index of the list entry with the matching address.
|
| - * @param {string} address Unique address of the Bluetooth device.
|
| - * @return {number|undefined} Index of the matching entry or
|
| - * undefined if no match found.
|
| - */
|
| - find: function(address) {
|
| - var size = this.dataModel.length;
|
| - for (var i = 0; i < size; i++) {
|
| - var entry = this.dataModel.item(i);
|
| - if (entry.address == address)
|
| - return i;
|
| - }
|
| - },
|
| -
|
| - /** @inheritDoc */
|
| - createItem: function(entry) {
|
| - return new BluetoothListItem(entry);
|
| - },
|
| -
|
| - /** @inheritDoc */
|
| - deleteItemAtIndex: function(index) {
|
| - var item = this.dataModel.item(index);
|
| - if (item && (item.connected || item.paired)) {
|
| - // Inform the bluetooth adapter that we are disconnecting the device.
|
| - chrome.send('updateBluetoothDevice',
|
| - [item.address, item.connected ? 'disconnect' : 'forget']);
|
| - }
|
| - this.dataModel.splice(index, 1);
|
| - // Invalidate the list since it has a stale cache after a splice
|
| - // involving a deletion.
|
| - this.invalidate();
|
| - this.redraw();
|
| - this.updateListVisibility_();
|
| - },
|
| -
|
| - /**
|
| - * Tests if the bluetooth device is supported based on the type of device.
|
| - * @param {Object.<string,string>} device Desription of the device.
|
| - * @return {boolean} true if the device is supported.
|
| - * @private
|
| - */
|
| - isSupported_: function(device) {
|
| - var target = device.icon;
|
| - for (var key in Constants.DEVICE_TYPE) {
|
| - if (Constants.DEVICE_TYPE[key] == target)
|
| - return true;
|
| - }
|
| - return false;
|
| - },
|
| -
|
| - /**
|
| - * If the list has an associated empty list placholder then update the
|
| - * visibility of the list and placeholder.
|
| - * @private
|
| - */
|
| - updateListVisibility_: function() {
|
| - var empty = this.dataModel.length == 0;
|
| - var listPlaceHolderID = this.id + '-empty-placeholder';
|
| - if ($(listPlaceHolderID)) {
|
| - this.hidden = empty;
|
| - $(listPlaceHolderID).hidden = !empty;
|
| - }
|
| - },
|
| - };
|
| -
|
| - cr.defineProperty(BluetoothListItem, 'connected', cr.PropertyKind.BOOL_ATTR);
|
| -
|
| - cr.defineProperty(BluetoothListItem, 'paired', cr.PropertyKind.BOOL_ATTR);
|
| -
|
| - cr.defineProperty(BluetoothListItem, 'connecting', cr.PropertyKind.BOOL_ATTR);
|
| -
|
| - return {
|
| - BluetoothListItem: BluetoothListItem,
|
| - BluetoothDeviceList: BluetoothDeviceList,
|
| - Constants: Constants
|
| - };
|
| -});
|
|
|