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..3635324cf96639cb6de4cef72cc8d59be46a64d2 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}; |
+}); |
+ |
+})(); |