| 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 a5a6d10c5c551c74e652076ad17224e1cae42f98..7bc19ce34cc63b5421fc759c2b5105ba8bde17a7 100644
|
| --- a/chrome/browser/resources/settings/settings_main/settings_main.js
|
| +++ b/chrome/browser/resources/settings/settings_main/settings_main.js
|
| @@ -10,12 +10,6 @@ Polymer({
|
| is: 'settings-main',
|
|
|
| properties: {
|
| - /** @private */
|
| - isAdvancedMenuOpen_: {
|
| - type: Boolean,
|
| - value: false,
|
| - },
|
| -
|
| /**
|
| * Preferences state.
|
| */
|
| @@ -35,27 +29,24 @@ Polymer({
|
| },
|
|
|
| /** @private */
|
| - showAdvancedPage_: {
|
| + advancedToggleExpanded_: {
|
| type: Boolean,
|
| value: false,
|
| },
|
|
|
| /** @private */
|
| - showAdvancedToggle_: {
|
| - type: Boolean,
|
| - value: true,
|
| - },
|
| -
|
| - /** @private */
|
| - showBasicPage_: {
|
| - type: Boolean,
|
| - value: true,
|
| - },
|
| + inSubpage_: Boolean,
|
|
|
| - /** @private */
|
| - showAboutPage_: {
|
| - type: Boolean,
|
| - value: false,
|
| + /**
|
| + * Controls which main pages are displayed via dom-ifs.
|
| + * @type {!{ABOUT: boolean, ADVANCED: boolean, BASIC: boolean}}
|
| + * @private
|
| + */
|
| + showPages_: {
|
| + type: Object,
|
| + value: function() {
|
| + return {ABOUT: false, ADVANCED: false, BASIC: false};
|
| + },
|
| },
|
|
|
| toolbarSpinnerActive: {
|
| @@ -82,14 +73,13 @@ Polymer({
|
| /** @override */
|
| attached: function() {
|
| document.addEventListener('toggle-advanced-page', function(e) {
|
| - this.showAdvancedPage_ = e.detail;
|
| - this.isAdvancedMenuOpen_ = e.detail;
|
| + this.advancedToggleExpanded_ = e.detail;
|
| this.currentRoute = {
|
| - page: this.isAdvancedMenuOpen_ ? 'advanced' : 'basic',
|
| + page: this.advancedToggleExpanded_ ? 'advanced' : 'basic',
|
| section: '',
|
| subpage: [],
|
| };
|
| - if (this.showAdvancedPage_) {
|
| + if (this.advancedToggleExpanded_) {
|
| doWhenReady(
|
| function() {
|
| var advancedPage = this.$$('settings-advanced-page');
|
| @@ -115,7 +105,7 @@ Polymer({
|
| * @param {boolean} opened Whether the menu is expanded.
|
| * @return {string} Which icon to use.
|
| * @private
|
| - * */
|
| + */
|
| arrowState_: function(opened) {
|
| return opened ? 'settings:arrow-drop-up' : 'cr:arrow-drop-down';
|
| },
|
| @@ -125,24 +115,27 @@ Polymer({
|
| * @private
|
| */
|
| currentRouteChanged_: function(newRoute) {
|
| - var isSubpage = !!newRoute.subpage.length;
|
| -
|
| - this.showAboutPage_ = newRoute.page == 'about';
|
| -
|
| - this.showAdvancedToggle_ = !this.showAboutPage_ && !isSubpage;
|
| -
|
| - this.showBasicPage_ = this.showAdvancedToggle_ || newRoute.page == 'basic';
|
| -
|
| - this.showAdvancedPage_ =
|
| - (this.isAdvancedMenuOpen_ && this.showAdvancedToggle_) ||
|
| - newRoute.page == 'advanced';
|
| + this.inSubpage_ = newRoute.subpage.length > 0;
|
| + this.style.height = this.inSubpage_ ? '100%' : '';
|
| +
|
| + if (newRoute.page == 'about') {
|
| + this.showPages_ = {ABOUT: true, ADVANCED: false, BASIC: false};
|
| + } else {
|
| + this.showPages_ = {
|
| + ABOUT: false,
|
| + BASIC: newRoute.page == 'basic' || !this.inSubpage_,
|
| + ADVANCED: newRoute.page == 'advanced' ||
|
| + (!this.inSubpage_ && this.advancedToggleExpanded_),
|
| + };
|
|
|
| - this.style.height = isSubpage ? '100%' : '';
|
| + if (this.showPages_.ADVANCED)
|
| + this.advancedToggleExpanded_ = true;
|
| + }
|
| },
|
|
|
| /** @private */
|
| toggleAdvancedPage_: function() {
|
| - this.fire('toggle-advanced-page', !this.isAdvancedMenuOpen_);
|
| + this.fire('toggle-advanced-page', !this.advancedToggleExpanded_);
|
| },
|
|
|
| /**
|
| @@ -166,13 +159,13 @@ Polymer({
|
| // Trigger rendering of the basic and advanced pages and search once ready.
|
| // Even if those are already rendered, yield to the message loop before
|
| // initiating searching.
|
| - this.showBasicPage_ = true;
|
| + this.set('showPages_.BASIC', true);
|
| setTimeout(function() {
|
| settings.getSearchManager().search(
|
| query, assert(this.$$('settings-basic-page')));
|
| }.bind(this), 0);
|
|
|
| - this.showAdvancedPage_ = true;
|
| + this.set('showPages_.ADVANCED', true);
|
| setTimeout(function() {
|
| settings.getSearchManager().search(
|
| query, assert(this.$$('settings-advanced-page')));
|
|
|