Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(510)

Unified Diff: chrome/browser/resources/options/chromeos/bluetooth_device_list.js

Issue 9814030: get rid of old options pages (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: more fixes Created 8 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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
- };
-});

Powered by Google App Engine
This is Rietveld 408576698