Chromium Code Reviews| Index: ui/webui/resources/cr_elements/cr_search_field/cr_search_field.js |
| diff --git a/ui/webui/resources/cr_elements/cr_search_field/cr_search_field.js b/ui/webui/resources/cr_elements/cr_search_field/cr_search_field.js |
| index e24e30935380f9a1d3e6f04475e3f6b031e046cc..02567efbe8921e73b575206c00d2843edd805701 100644 |
| --- a/ui/webui/resources/cr_elements/cr_search_field/cr_search_field.js |
| +++ b/ui/webui/resources/cr_elements/cr_search_field/cr_search_field.js |
| @@ -26,15 +26,15 @@ var SearchField = Polymer({ |
| value: '', |
| }, |
| - showingSearch_: { |
| + showingSearch: { |
| type: Boolean, |
| value: false, |
| + observer: 'showingSearchChanged_', |
| }, |
| }, |
| - /** @param {SearchFieldDelegate} delegate */ |
| - setDelegate: function(delegate) { |
| - this.delegate_ = delegate; |
| + focus: function() { |
| + this.$$('#search-input').focus(); |
| }, |
| /** |
| @@ -46,6 +46,11 @@ var SearchField = Polymer({ |
| return searchInput ? searchInput.value : ''; |
| }, |
| + /** @param {SearchFieldDelegate} delegate */ |
| + setDelegate: function(delegate) { |
| + this.delegate_ = delegate; |
| + }, |
| + |
| /** @private */ |
| onSearchTermSearch_: function() { |
| if (this.delegate_) |
| @@ -54,17 +59,19 @@ var SearchField = Polymer({ |
| /** @private */ |
| onSearchTermKeydown_: function(e) { |
| - assert(this.showingSearch_); |
| if (e.keyIdentifier == 'U+001B') // Escape. |
| - this.toggleShowingSearch_(); |
| + this.showingSearch = false; |
| }, |
| /** @private */ |
| - toggleShowingSearch_: function() { |
| - this.showingSearch_ = !this.showingSearch_; |
| + showingSearchChanged_: function() { |
| this.async(function() { |
| var searchInput = this.$$('#search-input'); |
| - if (this.showingSearch_) { |
| + |
| + if (!searchInput) |
| + return; |
| + |
| + if (this.showingSearch) { |
| searchInput.focus(); |
|
Dan Beam
2016/01/21 22:14:46
^ this is why the code was still working, but I al
michaelpg
2016/01/21 22:19:01
right. Maybe just do that in focus() though:
this
|
| } else { |
| searchInput.value = ''; |
| @@ -72,4 +79,9 @@ var SearchField = Polymer({ |
| } |
| }); |
| }, |
| + |
| + /** @private */ |
| + toggleShowingSearch_: function() { |
| + this.showingSearch = !this.showingSearch; |
| + }, |
| }); |