Chromium Code Reviews| 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..5e48d473b14c072c5ba65fd890712ec7c90d8a52 100644 |
| --- a/chrome/browser/resources/settings/settings_main/settings_main.js |
| +++ b/chrome/browser/resources/settings/settings_main/settings_main.js |
| @@ -41,6 +41,12 @@ Polymer({ |
| }, |
| /** @private */ |
| + whenAdvancedPageReady_: { |
| + type: Object, |
| + value: new PromiseResolver(), |
|
michaelpg
2016/06/27 23:00:04
i know this is sort of a singleton, but for the sa
dpapad
2016/06/27 23:37:26
Done.
|
| + }, |
| + |
| + /** @private */ |
| showAdvancedToggle_: { |
| type: Boolean, |
| value: true, |
| @@ -108,4 +114,37 @@ Polymer({ |
| toggleAdvancedPage_: function() { |
| this.fire('toggle-advanced-page', !this.isAdvancedMenuOpen_); |
| }, |
| + |
| + /** @private */ |
| + onAdvancedPageReady_: function() { |
| + this.whenAdvancedPageReady_.resolve(); |
| + }, |
| + |
| + /** |
| + * Navigates to the default search page (if necessary). |
| + * @private |
| + */ |
| + ensureInDefaultSearchPage_: function() { |
| + if (this.currentRoute.page != 'basic' || |
| + this.currentRoute.section != '' || |
| + this.currentRoute.subpage.length != 0) { |
| + this.currentRoute = {page: 'basic', section: '', subpage: [], url: ''}; |
| + } |
| + }, |
| + |
| + /** |
| + * @param {string} query |
| + */ |
| + searchContents: function(query) { |
| + this.ensureInDefaultSearchPage_(); |
| + |
| + // Search basic page immediately. |
| + settings.search(query, assert(this.$$('settings-basic-page'))); |
| + |
| + // Force the advanced page to be rendered and search once ready. |
| + this.showAdvancedPage_ = true; |
|
michaelpg
2016/06/27 23:00:04
without using a PromiseResolver:
var searchAdvanc
dpapad
2016/06/27 23:37:27
What is the benefit of not using PromiseResolver h
michaelpg
2016/06/29 01:18:57
PromiseResolver is sugar for creating a Promise wh
dpapad
2016/06/29 18:20:12
Yes, added a comment for the current intention. Ke
michaelpg
2016/06/29 19:40:51
Makes sense. Polymer queues effects like dom-if's
|
| + this.whenAdvancedPageReady_.promise.then(function() { |
| + settings.search(query, assert(this.$$('settings-advanced-page'))); |
| + }.bind(this)); |
| + }, |
| }); |