| Index: chrome/browser/resources/settings/settings_main/settings_main.js
|
| diff --git a/chrome/browser/resources/settings/settings_main/settings_main.js b/chrome/browser/resources/settings/settings_main/settings_main.js
|
| index ec56d0fb985a341ba295bd9375bb104bfdebe885..cfcfbfd01560985c35800aba2aedb5b0363cc3ee 100644
|
| --- a/chrome/browser/resources/settings/settings_main/settings_main.js
|
| +++ b/chrome/browser/resources/settings/settings_main/settings_main.js
|
| @@ -179,11 +179,8 @@ Polymer({
|
| if (route.isSubpage() || this.showPages_.about)
|
| return 0;
|
|
|
| - var query = 'settings-section[section="' + route.section + '"]';
|
| - var topSection = this.$$('settings-basic-page').$$(query);
|
| - if (!topSection && this.showPages_.advanced)
|
| - topSection = this.$$('settings-advanced-page').$$(query);
|
| -
|
| + var page = this.getPage_(route);
|
| + var topSection = page && page.getSection(route.section);
|
| if (!topSection || !topSection.offsetParent)
|
| return 0;
|
|
|
| @@ -200,6 +197,28 @@ Polymer({
|
| },
|
|
|
| /**
|
| + * Returns the root page (if it exists) for a route.
|
| + * @param {!settings.Route} route
|
| + * @return {(?SettingsAboutPageElement|?SettingsAdvancedPageElement|
|
| + * ?SettingsBasicPageElement)}
|
| + */
|
| + getPage_: function(route) {
|
| + if (settings.Route.ABOUT.contains(route)) {
|
| + return /** @type {?SettingsAboutPageElement} */(
|
| + this.$$('settings-about-page'));
|
| + }
|
| + if (settings.Route.ADVANCED.contains(route)) {
|
| + return /** @type {?SettingsAdvancedPageElement} */(
|
| + this.$$('settings-advanced-page'));
|
| + }
|
| + if (settings.Route.BASIC.contains(route)) {
|
| + return /** @type {?SettingsBasicPageElement} */(
|
| + this.$$('settings-basic-page'));
|
| + }
|
| + assertNotReached();
|
| + },
|
| +
|
| + /**
|
| * Navigates to the default search page (if necessary).
|
| * @private
|
| */
|
| @@ -228,11 +247,11 @@ Polymer({
|
| return new Promise(function(resolve, reject) {
|
| setTimeout(function() {
|
| var whenSearchDone = settings.getSearchManager().search(
|
| - query, assert(this.$$('settings-basic-page')));
|
| + query, assert(this.getPage_(settings.Route.BASIC)));
|
| assert(
|
| whenSearchDone ===
|
| settings.getSearchManager().search(
|
| - query, assert(this.$$('settings-advanced-page'))));
|
| + query, assert(this.getPage_(settings.Route.ADVANCED))));
|
|
|
| whenSearchDone.then(function(request) {
|
| resolve();
|
|
|