| Index: chrome/browser/resources/settings/search_engines_page/search_engines_page.js
|
| diff --git a/chrome/browser/resources/settings/search_engines_page/search_engines_page.js b/chrome/browser/resources/settings/search_engines_page/search_engines_page.js
|
| index 2f58998237c4c9d80fbf9d4602d934dd577f5f97..56fd8411c2d8ab62ce6b8fe62934139d1bee2b8f 100644
|
| --- a/chrome/browser/resources/settings/search_engines_page/search_engines_page.js
|
| +++ b/chrome/browser/resources/settings/search_engines_page/search_engines_page.js
|
| @@ -12,6 +12,8 @@
|
| Polymer({
|
| is: 'settings-search-engines-page',
|
|
|
| + behaviors: [settings.WebUIListenerBehavior],
|
| +
|
| properties: {
|
| /** @type {!Array<!SearchEngine>} */
|
| defaultEngines: {
|
| @@ -35,28 +37,12 @@ Polymer({
|
| },
|
| },
|
|
|
| - /**
|
| - * Holds WebUI listeners that need to be removed when this element is
|
| - * destroyed.
|
| - * TODO(dpapad): Move listener tracking logic to a Polymer behavior class,
|
| - * such that it can be re-used.
|
| - * @private {!Array<!WebUIListener>}
|
| - */
|
| - webUIListeners_: [],
|
| -
|
| /** @override */
|
| ready: function() {
|
| settings.SearchEnginesBrowserProxyImpl.getInstance().
|
| getSearchEnginesList().then(this.enginesChanged_.bind(this));
|
| - this.webUIListeners_.push(cr.addWebUIListener(
|
| - 'search-engines-changed', this.enginesChanged_.bind(this)));
|
| - },
|
| -
|
| - /** @override */
|
| - detached: function() {
|
| - this.webUIListeners_.forEach(function(listener) {
|
| - cr.removeWebUIListener(listener);
|
| - });
|
| + this.addWebUIListener(
|
| + 'search-engines-changed', this.enginesChanged_.bind(this));
|
| },
|
|
|
| /**
|
|
|