| 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 11cd9dd684eebba61b2ff7ec7ffed466e63f3575..38a5e0e6879ed155c98ce7c55831e5a09769d73f 100644
|
| --- a/chrome/browser/resources/settings/settings_main/settings_main.js
|
| +++ b/chrome/browser/resources/settings/settings_main/settings_main.js
|
| @@ -2,6 +2,10 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| +(function() {
|
| +
|
| +var resolver = new PromiseResolver();
|
| +
|
| /**
|
| * @fileoverview
|
| * 'settings-main' displays the selected settings page.
|
| @@ -64,15 +68,25 @@ Polymer({
|
| this.showAdvancedPage_ = e.detail;
|
| this.isAdvancedMenuOpen_ = e.detail;
|
| if (this.showAdvancedPage_) {
|
| - scrollWhenReady(
|
| + doWhenReady(
|
| function() {
|
| - return this.$$('settings-advanced-page');
|
| + var advancedPage = this.$$('settings-advanced-page');
|
| + return !!advancedPage && advancedPage.scrollHeight > 0;
|
| }.bind(this),
|
| function() {
|
| - return this.$$('#toggleContainer');
|
| + this.$$('#toggleContainer').scrollIntoView();
|
| }.bind(this));
|
| }
|
| }.bind(this));
|
| +
|
| + doWhenReady(
|
| + function() {
|
| + var basicPage = this.$$('settings-basic-page');
|
| + return !!basicPage && basicPage.scrollHeight > 0;
|
| + }.bind(this),
|
| + function() {
|
| + resolver.resolve();
|
| + });
|
| },
|
|
|
| /**
|
| @@ -89,7 +103,8 @@ Polymer({
|
| * @private
|
| */
|
| currentRouteChanged_: function(newRoute) {
|
| - var isSubpage = !!newRoute.subpage.length;
|
| + var isSubpage = newRoute.subpage.length > 0 &&
|
| + newRoute.subpage[0] != 'clear-browsing-data';
|
|
|
| this.showAboutPage_ = newRoute.page == 'about';
|
|
|
| @@ -109,3 +124,9 @@ Polymer({
|
| this.fire('toggle-advanced-page', !this.isAdvancedMenuOpen_);
|
| },
|
| });
|
| +
|
| +cr.define('settings.main', function() {
|
| + return {rendered: resolver.promise};
|
| +});
|
| +
|
| +})();
|
|
|