| Index: chrome/browser/resources/history/other_devices.js
|
| diff --git a/chrome/browser/resources/history/other_devices.js b/chrome/browser/resources/history/other_devices.js
|
| index 33e4bd46f33ae04f6c3853b023a0732a187630db..9c4cd3823782532af936db5d3b1a1e680c1c14b4 100644
|
| --- a/chrome/browser/resources/history/other_devices.js
|
| +++ b/chrome/browser/resources/history/other_devices.js
|
| @@ -427,6 +427,34 @@ DevicesView.prototype.increaseRowHeight = function(row, height) {
|
| // DevicesView, Private -------------------------------------------------------
|
|
|
| /**
|
| + * Provides an implementation for a single column grid.
|
| + * @constructor
|
| + * @extends {cr.ui.FocusRow}
|
| + */
|
| +DevicesView.SingleColumnFocusRow = function() {};
|
| +
|
| +/**
|
| + * Decorates |rowElement| so that it can be treated as a SingleColumnFocusRow
|
| + * item.
|
| + * @param {Element} rowElement The element representing this row.
|
| + * @param {Node} boundary Focus events are ignored outside of this node.
|
| + */
|
| +DevicesView.SingleColumnFocusRow.decorate = function(rowElement, boundary) {
|
| + rowElement.__proto__ = DevicesView.SingleColumnFocusRow.prototype;
|
| + rowElement.decorate(boundary);
|
| + rowElement.addFocusableElement(rowElement);
|
| +};
|
| +
|
| +DevicesView.SingleColumnFocusRow.prototype = {
|
| + __proto__: cr.ui.FocusRow.prototype,
|
| +
|
| + /** @override */
|
| + getEquivalentElement: function(element) {
|
| + return this;
|
| + },
|
| +};
|
| +
|
| +/**
|
| * Update the page with results.
|
| * @private
|
| */
|
| @@ -479,16 +507,17 @@ DevicesView.prototype.displayResults_ = function() {
|
| this.focusGrids_.forEach(function(grid) { grid.destroy(); });
|
| this.focusGrids_.length = 0;
|
|
|
| - var singleColumn = function(e) { return [e]; };
|
| -
|
| var devices = this.resultDiv_.querySelectorAll('.device-contents');
|
| for (var i = 0; i < devices.length; ++i) {
|
| var rows = devices[i].querySelectorAll('.device-tab-entry, button');
|
| if (!rows.length)
|
| continue;
|
|
|
| - var grid = new cr.ui.FocusGrid(devices[i]);
|
| - grid.setGrid(Array.prototype.map.call(rows, singleColumn));
|
| + var grid = new cr.ui.FocusGrid();
|
| + for (var i = 0; i < rows.length; ++i) {
|
| + DevicesView.SingleColumnFocusRow.decorate(rows[i], devices[i]);
|
| + grid.addRow(rows[i]);
|
| + }
|
| this.focusGrids_.push(grid);
|
| }
|
| };
|
|
|