OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 /** | 5 /** |
6 * @typedef {{about: boolean, settings: boolean}} | 6 * @typedef {{about: boolean, settings: boolean}} |
7 */ | 7 */ |
8 var MainPageVisibility; | 8 var MainPageVisibility; |
9 | 9 |
10 /** | 10 /** |
(...skipping 236 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
247 */ | 247 */ |
248 searchContents: function(query) { | 248 searchContents: function(query) { |
249 // Trigger rendering of the basic and advanced pages and search once ready. | 249 // Trigger rendering of the basic and advanced pages and search once ready. |
250 this.inSearchMode_ = true; | 250 this.inSearchMode_ = true; |
251 this.toolbarSpinnerActive = true; | 251 this.toolbarSpinnerActive = true; |
252 | 252 |
253 return new Promise(function(resolve, reject) { | 253 return new Promise(function(resolve, reject) { |
254 setTimeout(function() { | 254 setTimeout(function() { |
255 var whenSearchDone = | 255 var whenSearchDone = |
256 assert(this.getPage_(settings.Route.BASIC)).searchContents(query); | 256 assert(this.getPage_(settings.Route.BASIC)).searchContents(query); |
257 whenSearchDone.then(function(request) { | 257 whenSearchDone.then(function(result) { |
258 resolve(); | 258 resolve(); |
259 if (!request.finished) { | 259 if (result.canceled) { |
260 // Nothing to do here. A previous search request was canceled | 260 // Nothing to do here. A previous search request was canceled |
261 // because a new search request was issued before the first one | 261 // because a new search request was issued with a different query |
262 // completed. | 262 // before the previous completed. |
263 return; | 263 return; |
264 } | 264 } |
265 | 265 |
266 this.toolbarSpinnerActive = false; | 266 this.toolbarSpinnerActive = false; |
267 this.inSearchMode_ = !request.isSame(''); | 267 this.inSearchMode_ = !result.wasClearSearch; |
268 this.showNoResultsFound_ = | 268 this.showNoResultsFound_ = |
269 this.inSearchMode_ && !request.didFindMatches(); | 269 this.inSearchMode_ && result.didFindMatches; |
270 }.bind(this)); | 270 }.bind(this)); |
271 }.bind(this), 0); | 271 }.bind(this), 0); |
272 }.bind(this)); | 272 }.bind(this)); |
273 }, | 273 }, |
274 }); | 274 }); |
OLD | NEW |