Index: chrome/browser/resources/settings/basic_page/basic_page.js |
diff --git a/chrome/browser/resources/settings/basic_page/basic_page.js b/chrome/browser/resources/settings/basic_page/basic_page.js |
index 395996069a8aea4feb5bae7a690a8a48d2e43175..840b2f41d522cb3e4d3f20ea5a3c2d38bed3e24e 100644 |
--- a/chrome/browser/resources/settings/basic_page/basic_page.js |
+++ b/chrome/browser/resources/settings/basic_page/basic_page.js |
@@ -105,19 +105,31 @@ Polymer({ |
* Queues a task to search the basic sections, then another for the advanced |
* sections. |
* @param {string} query The text to search for. |
- * @return {!Promise<!settings.SearchRequest>} A signal indicating that |
+ * @return {!Promise<!settings.SearchResult>} A signal indicating that |
* searching finished. |
*/ |
searchContents: function(query) { |
- var whenSearchDone = settings.getSearchManager().search( |
- query, assert(this.$$('#basicPage'))); |
+ var whenSearchDone = [ |
+ settings.getSearchManager().search(query, assert(this.$$('#basicPage'))), |
+ ]; |
if (this.pageVisibility.advancedSettings !== false) { |
- assert(whenSearchDone === settings.getSearchManager().search( |
+ whenSearchDone.push(settings.getSearchManager().search( |
query, assert(this.$$('#advancedPageTemplate').get()))); |
} |
- return whenSearchDone; |
+ return Promise.all(whenSearchDone).then(function(requests) { |
+ // Combine the SearchRequests results to a single SearchResult object. |
+ return { |
+ canceled: requests.some(function(r) { return r.canceled; }), |
+ didFindMatches: requests.every(function(r) { |
+ return !r.didFindMatches(); |
+ }), |
+ // All requests correspond to the same user query, so only need to check |
+ // one of them. |
+ wasClearSearch: requests[0].isSame(''), |
+ }; |
+ }); |
}, |
// <if expr="chromeos"> |