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..29d51ad9a343ed87858f227cd18ef48af1765f1c 100644 |
--- a/chrome/browser/resources/settings/settings_menu/settings_menu.js |
+++ b/chrome/browser/resources/settings/settings_menu/settings_menu.js |
@@ -9,9 +9,11 @@ |
Polymer({ |
is: 'settings-menu', |
+ behaviors: [settings.RouteObserverBehavior], |
+ |
properties: { |
/** @private */ |
- advancedOpened_: Boolean, |
Dan Beam
2016/10/14 00:09:09
this is still referenced from the HTML, but no lon
|
+ aboutSelected_: Boolean, |
/** |
* Dictionary defining page visibility. |
@@ -43,6 +45,28 @@ Polymer({ |
}, |
/** |
+ * @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; |
+ // For routes from URL entry, we need to set selected. |
+ this.$.advancedMenu.selected = newRoute.path; |
+ this.$.basicMenu.selected = null; |
+ } else if (settings.Route.BASIC.contains(newRoute)) { |
+ this.aboutSelected_ = false; |
+ this.$.advancedMenu.selected = null; |
+ // For routes from URL entry, we need to set selected. |
+ this.$.basicMenu.selected = newRoute.path; |
+ } |
+ }, |
+ |
+ /** |
* @param {!Event} event |
* @private |
*/ |