| Index: chrome/browser/resources/settings/settings_ui/settings_ui.js
|
| diff --git a/chrome/browser/resources/settings/settings_ui/settings_ui.js b/chrome/browser/resources/settings/settings_ui/settings_ui.js
|
| index f14a509792380ed6a0957c0fc8c11ef4853aaabd..7c1145356408dcdd5352a9348d480886370be1ac 100644
|
| --- a/chrome/browser/resources/settings/settings_ui/settings_ui.js
|
| +++ b/chrome/browser/resources/settings/settings_ui/settings_ui.js
|
| @@ -19,6 +19,8 @@ settings.defaultResourceLoaded = true;
|
| Polymer({
|
| is: 'settings-ui',
|
|
|
| + behaviors: [settings.RouteObserverBehavior],
|
| +
|
| properties: {
|
| /**
|
| * Preferences state.
|
| @@ -63,10 +65,6 @@ Polymer({
|
| * strict mode.
|
| */
|
| ready: function() {
|
| - this.$$('cr-toolbar').addEventListener('search-changed', function(e) {
|
| - this.$$('settings-main').searchContents(e.detail);
|
| - }.bind(this));
|
| -
|
| // Lazy-create the drawer the first time it is opened or swiped into view.
|
| var drawer = assert(this.$$('app-drawer'));
|
| listenOnce(drawer, 'track opened-changed', function() {
|
| @@ -116,6 +114,34 @@ Polymer({
|
| settings.setGlobalScrollTarget(this.$.headerPanel.scroller);
|
| },
|
|
|
| + /** @param {!settings.Route} newRoute */
|
| + currentRouteChanged: function(newRoute) {
|
| + var searchQuery = settings.getQueryParameters().get('search') || '';
|
| + var toolbar = /** @type {!CrToolbarElement} */ (this.$$('cr-toolbar'));
|
| + var searchField = /** @type {CrToolbarSearchFieldElement} */ (
|
| + toolbar.getSearchField());
|
| + searchField.setValue(searchQuery);
|
| + },
|
| +
|
| + /**
|
| + * @param {!Event} e
|
| + * @private
|
| + */
|
| + onSearchChanged_: function(e) {
|
| + var query = e.detail;
|
| +
|
| + // 'search-changed' event was fired only because the search box's value was
|
| + // updated to reflect the already existing search URL parameter, no need to
|
| + // navigate again.
|
| + var existingQuery = settings.getQueryParameters().get('search') || '';
|
| + if (query == existingQuery)
|
| + return;
|
| +
|
| + settings.navigateTo(
|
| + settings.Route.BASIC,
|
| + query.length > 0 ? new URLSearchParams(`search=${query}`) : undefined);
|
| + },
|
| +
|
| /**
|
| * @param {Event} event
|
| * @private
|
|
|