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

Unified Diff: chrome/browser/resources/shared/js/cr/ui/menu.js

Issue 6246078: Add an optional set_hook argument to defineProperty. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/chrome/browser/resources
Patch Set: Use standalone function for selectedIndexChanged. Created 9 years, 10 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
« no previous file with comments | « chrome/browser/resources/shared/js/cr.js ('k') | chrome/browser/resources/shared/js/cr_test.html » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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..ffb84e93627a41787d1f6b715875dce1b88656d2 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;
+
// 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,16 @@ cr.define('cr.ui', function() {
* The selected menu item.
arv (Not doing code reviews) 2011/02/11 22:41:38 This JSDoc should go with the defineProperty below
nduca 2011/02/12 00:22:47 Done.
* @type {number}
*/
- cr.defineProperty(Menu, 'selectedIndex', cr.PropertyKind.JS, -1);
+ function selectedIndexChanged(selectedIndex, oldSelectedIndex) {
+ var oldSelectedItem = this.chidren[oldSelectedIndex];
+ if (oldSelectedItem)
+ oldSelectedItem.selected = false;
+ var item = this.selectedItem;
+ if (item)
+ item.selected = true;
+ }
+ cr.defineProperty(Menu, 'selectedIndex', cr.PropertyKind.JS,
+ selectedIndexChanged);
// Export
return {
« no previous file with comments | « chrome/browser/resources/shared/js/cr.js ('k') | chrome/browser/resources/shared/js/cr_test.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698