Chromium Code Reviews| Index: chrome/browser/resources/settings/search_engines_page/search_engine_entry.js |
| diff --git a/chrome/browser/resources/settings/search_engines_page/search_engine_entry.js b/chrome/browser/resources/settings/search_engines_page/search_engine_entry.js |
| index f25513d5f9ae094ce2bf81628aa4f477a86b0c82..c5536e49cc9750c7ad6ee0203ba52b184483d7a0 100644 |
| --- a/chrome/browser/resources/settings/search_engines_page/search_engine_entry.js |
| +++ b/chrome/browser/resources/settings/search_engines_page/search_engine_entry.js |
| @@ -14,23 +14,47 @@ Polymer({ |
| properties: { |
| /** @type {!SearchEngine} */ |
| - engine: Object |
| + engine: Object, |
| + |
| + /** @type {boolean} */ |
| + showEditSearchEngineDialog_: Boolean, |
| + }, |
| + |
| + /** @private {!settings.SearchEnginesBrowserProxy} */ |
| + browserProxy_: null, |
| + |
| + attached: function() { |
| + this.browserProxy_ = settings.SearchEnginesBrowserProxy.getInstance(); |
| }, |
| /** @private */ |
| onDeleteTap_: function() { |
| - chrome.searchEnginesPrivate.removeSearchEngine(this.engine.guid); |
| + this.browserProxy_.removeSearchEngine(this.engine.modelIndex); |
| }, |
| /** @private */ |
| onEditTap_: function() { |
| - // TODO(dpapad): Implement edit mode. |
| + this.closePopupMenu_(); |
| + |
| + this.showEditSearchEngineDialog_ = true; |
| + this.async(function() { |
| + var dialog = this.$$('settings-search-engine-dialog'); |
| + // Register listener to detect when the dialog is closed. Flip the boolean |
| + // once closed to force a restamp next time it is shown such that the |
| + // previous dialog's contents are cleared. |
| + dialog.addEventListener('iron-overlay-closed', function() { |
|
Dan Beam
2016/02/13 02:03:02
when this is event listener ever removed?
Dan Beam
2016/02/13 02:03:29
when is this event listener removed**
dpapad
2016/02/16 18:48:05
My understanding is that the dialog itself is bein
|
| + this.showEditSearchEngineDialog_ = false; |
| + }.bind(this)); |
| + }.bind(this)); |
| }, |
| /** @private */ |
| onMakeDefaultTap_: function() { |
| - chrome.searchEnginesPrivate.setSelectedSearchEngine(this.engine.guid); |
| - var popupMenu = this.$$('iron-dropdown'); |
| - popupMenu.close(); |
| + this.closePopupMenu_(); |
| + this.browserProxy_.setDefaultSearchEngine(this.engine.modelIndex); |
| + }, |
| + |
| + closePopupMenu_: function() { |
| + this.$$('iron-dropdown').close(); |
| }, |
| }); |