| Index: chrome/browser/resources/shared/js/cr/ui/menu.js
|
| diff --git a/chrome/browser/resources/shared/js/cr/ui/menu.js b/chrome/browser/resources/shared/js/cr/ui/menu.js
|
| index 1145d0f75a5a264fa54d44908d001827107d5bf0..2ba261ebb47295f00d18d373aa1e7750d4b05ccf 100644
|
| --- a/chrome/browser/resources/shared/js/cr/ui/menu.js
|
| +++ b/chrome/browser/resources/shared/js/cr/ui/menu.js
|
| @@ -17,6 +17,8 @@ cr.define('cr.ui', function() {
|
| Menu.prototype = {
|
| __proto__: HTMLMenuElement.prototype,
|
|
|
| + selectedIndex_: -1,
|
| +
|
| /**
|
| * Initializes the menu element.
|
| */
|
| @@ -64,25 +66,6 @@ cr.define('cr.ui', function() {
|
| },
|
|
|
| /**
|
| - * The index of the selected item.
|
| - * @type {boolean}
|
| - */
|
| - // getter and default value is defined using cr.defineProperty.
|
| - set selectedIndex(selectedIndex) {
|
| - if (this.selectedIndex_ != selectedIndex) {
|
| - var oldSelectedItem = this.selectedItem;
|
| - this.selectedIndex_ = selectedIndex;
|
| - if (oldSelectedItem)
|
| - oldSelectedItem.selected = false;
|
| - var item = this.selectedItem;
|
| - if (item)
|
| - item.selected = true;
|
| -
|
| - cr.dispatchSimpleEvent(this, 'change');
|
| - }
|
| - },
|
| -
|
| - /**
|
| * The selected menu item or null if none.
|
| * @type {cr.ui.MenuItem}
|
| */
|
| @@ -144,11 +127,20 @@ cr.define('cr.ui', function() {
|
| }
|
| };
|
|
|
| + function selectedIndexChanged(selectedIndex, oldSelectedIndex) {
|
| + var oldSelectedItem = this.chidren[oldSelectedIndex];
|
| + if (oldSelectedItem)
|
| + oldSelectedItem.selected = false;
|
| + var item = this.selectedItem;
|
| + if (item)
|
| + item.selected = true;
|
| + }
|
| /**
|
| * The selected menu item.
|
| * @type {number}
|
| */
|
| - cr.defineProperty(Menu, 'selectedIndex', cr.PropertyKind.JS, -1);
|
| + cr.defineProperty(Menu, 'selectedIndex', cr.PropertyKind.JS,
|
| + selectedIndexChanged);
|
|
|
| // Export
|
| return {
|
|
|