| Index: ui/webui/resources/js/cr/ui/focus_row.js
|
| diff --git a/ui/webui/resources/js/cr/ui/focus_row.js b/ui/webui/resources/js/cr/ui/focus_row.js
|
| index b989f538f80d338d267082661389e03217fed0cd..0b982f42f1a5722f4bd5b19042fb9813a12fde6e 100644
|
| --- a/ui/webui/resources/js/cr/ui/focus_row.js
|
| +++ b/ui/webui/resources/js/cr/ui/focus_row.js
|
| @@ -56,7 +56,7 @@ cr.define('cr.ui', function() {
|
| if (item != document.activeElement)
|
| item.tabIndex = -1;
|
|
|
| - this.eventTracker_.add(item, 'click', this.onClick_.bind(this));
|
| + this.eventTracker_.add(item, 'mousedown', this.onMousedown_.bind(this));
|
| }, this);
|
|
|
| /**
|
| @@ -76,8 +76,16 @@ cr.define('cr.ui', function() {
|
| * |e|'s default is prevented, further processing is skipped.
|
| * @param {cr.ui.FocusRow} row The row that detected a keydown.
|
| * @param {Event} e The keydown event.
|
| + * @return {boolean} Whether the event was handled.
|
| */
|
| onKeydown: assertNotReached,
|
| +
|
| + /**
|
| + * @param {cr.ui.FocusRow} row The row that detected the mouse going down.
|
| + * @param {Event} e The mousedown event.
|
| + * @return {boolean} Whether the event was handled.
|
| + */
|
| + onMousedown: assertNotReached,
|
| };
|
|
|
| /** @interface */
|
| @@ -157,10 +165,7 @@ cr.define('cr.ui', function() {
|
| if (item < 0)
|
| return;
|
|
|
| - if (this.delegate_)
|
| - this.delegate_.onKeydown(this, e);
|
| -
|
| - if (e.defaultPrevented)
|
| + if (this.delegate_ && this.delegate_.onKeydown(this, e))
|
| return;
|
|
|
| var index = -1;
|
| @@ -185,7 +190,10 @@ cr.define('cr.ui', function() {
|
| * @param {Event} e A click event.
|
| * @private
|
| */
|
| - onClick_: function(e) {
|
| + onMousedown_: function(e) {
|
| + if (this.delegate_ && this.delegate_.onMousedown(this, e))
|
| + return;
|
| +
|
| if (!e.button)
|
| this.activeIndex = this.items.indexOf(e.currentTarget);
|
| },
|
|
|