Chromium Code Reviews| Index: chrome/browser/resources/settings/settings_menu/settings_menu.js |
| diff --git a/chrome/browser/resources/settings/settings_menu/settings_menu.js b/chrome/browser/resources/settings/settings_menu/settings_menu.js |
| index dd66609cf9564896c5e422e4788bccdc9ef29f9f..4ac5821ca2776efe76f883eec67c6476f4967823 100644 |
| --- a/chrome/browser/resources/settings/settings_menu/settings_menu.js |
| +++ b/chrome/browser/resources/settings/settings_menu/settings_menu.js |
| @@ -9,8 +9,13 @@ |
| Polymer({ |
| is: 'settings-menu', |
| + behaviors: [settings.RouteObserverBehavior], |
| + |
| properties: { |
| /** @private */ |
| + aboutSelected_: Boolean, |
| + |
| + /** @private */ |
| advancedOpened_: Boolean, |
|
tommycli
2016/08/22 23:23:00
I think you can axe this property declaration, sin
dschuyler
2016/08/22 23:35:09
Done.
|
| /** |
| @@ -43,6 +48,28 @@ Polymer({ |
| }, |
| /** |
| + * Handle setting selected menu item from URL routes as well as menu |
| + * selections. |
|
tommycli
2016/08/22 23:23:00
nit: clarify comment to something like:
Update me
dschuyler
2016/08/22 23:35:09
I wanted to point out that some of the code
is imp
tommycli
2016/08/22 23:36:58
Thanks. New comments helpful. This is a subtle pie
|
| + * @param {!settings.Route} newRoute |
| + */ |
| + currentRouteChanged: function(newRoute) { |
| + // Make the three menus mutually exclusive. |
| + if (settings.Route.ABOUT.contains(newRoute)) { |
| + this.aboutSelected_ = true; |
| + this.$.advancedMenu.selected = null; |
| + this.$.basicMenu.selected = null; |
| + } else if (settings.Route.ADVANCED.contains(newRoute)) { |
| + this.aboutSelected_ = false; |
| + this.$.advancedMenu.selected = newRoute.path; |
| + this.$.basicMenu.selected = null; |
| + } else if (settings.Route.BASIC.contains(newRoute)) { |
| + this.aboutSelected_ = false; |
| + this.$.advancedMenu.selected = null; |
| + this.$.basicMenu.selected = newRoute.path; |
| + } |
| + }, |
| + |
| + /** |
| * @param {!Event} event |
| * @private |
| */ |