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..e010668bc289aa0031fb24514ebf45e0ac575e34 100644 |
--- a/chrome/browser/resources/shared/js/cr/ui/menu.js |
+++ b/chrome/browser/resources/shared/js/cr/ui/menu.js |
@@ -24,6 +24,8 @@ cr.define('cr.ui', function() { |
this.addEventListener('mouseover', this.handleMouseOver_); |
this.addEventListener('mouseout', this.handleMouseOut_); |
+ this.selectedIndex = -1; |
arv (Not doing code reviews)
2011/02/10 21:30:14
This should probably be done using
{
...
sele
nduca
2011/02/11 20:40:04
Isn't this worse? You'd be baking in knowledge tha
|
+ |
// Decorate the children as menu items. |
var children = this.children; |
for (var i = 0, child; child = children[i]; i++) { |
@@ -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} |
*/ |
@@ -148,7 +131,15 @@ cr.define('cr.ui', function() { |
* The selected menu item. |
* @type {number} |
*/ |
- cr.defineProperty(Menu, 'selectedIndex', cr.PropertyKind.JS, -1); |
+ cr.defineProperty(Menu, 'selectedIndex', cr.PropertyKind.JS, |
+ function(selectedIndex, oldSelectedIndex) { |
arv (Not doing code reviews)
2011/02/10 21:30:14
This is fine but I think this would be easier to r
nduca
2011/02/11 20:40:04
Done.
|
+ var oldSelectedItem = this.chidren[oldSelectedIndex]; |
+ if (oldSelectedItem) |
+ oldSelectedItem.selected = false; |
+ var item = this.selectedItem; |
+ if (item) |
+ item.selected = true; |
+ }); |
// Export |
return { |