Index: chrome/browser/resources/sync_internals/sync_search.js |
diff --git a/chrome/browser/resources/sync_internals/sync_search.js b/chrome/browser/resources/sync_internals/sync_search.js |
index 99cc288dc96d0c12f0caf9ad291d254d05ba87c6..0caa30adfcaac80617e2acf6b67b8866618a38b0 100644 |
--- a/chrome/browser/resources/sync_internals/sync_search.js |
+++ b/chrome/browser/resources/sync_internals/sync_search.js |
@@ -11,10 +11,10 @@ cr.define('chrome.sync', function() { |
* Runs a search with the given query. |
* |
* @param {string} query The query to do the search with. |
- * item from. |
- * @param {function} doneCallback The callback called when the |
- * search is finished; not called if doSearch() is called again |
- * while the search is running. |
+ * @param {Array.<{id: string, title: string, isFolder: boolean}>} |
+ * callback The callback called with the search results; not |
+ * called if doSearch() is called again while the search is |
+ * running. |
*/ |
var doSearch = function(query, callback) { |
var searchId = ++currSearchId; |
@@ -22,11 +22,11 @@ cr.define('chrome.sync', function() { |
if (currSearchId != searchId) { |
return; |
} |
- chrome.sync.getNodesById(ids, function(nodeInfos) { |
+ chrome.sync.getNodeSummariesById(ids, function(nodeSummaries) { |
if (currSearchId != searchId) { |
return; |
} |
- callback(nodeInfos); |
+ callback(nodeSummaries); |
}); |
}); |
}; |
@@ -34,14 +34,14 @@ cr.define('chrome.sync', function() { |
/** |
* Decorates the various search controls. |
* |
- * @param {object} queryControl The <input> object of type=search |
- * where the user types in his query. |
- * @param {object} statusControl The <span> object display the |
- * search status. |
- * @param {object} listControl The <list> object which holds the |
- * list of returned results. |
- * @param {object} detailsControl The <pre> object which holds the |
- * details of the selected result. |
+ * @param {!HTMLInputElement} queryControl The <input> object of |
+ * type=search where the user types in his query. |
+ * @param {!HTMLElement} statusControl The <span> object display the |
+ * search status. |
+ * @param {!HTMLElement} listControl The <list> object which holds |
+ * the list of returned results. |
+ * @param {!HTMLPreElement} detailsControl The <pre> object which |
+ * holds the details of the selected result. |
*/ |
function decorateSearchControls(queryControl, statusControl, |
resultsControl, detailsControl) { |
@@ -57,17 +57,17 @@ cr.define('chrome.sync', function() { |
} |
statusControl.innerText = 'Searching for ' + query + '...'; |
var timer = chrome.sync.makeTimer(); |
- doSearch(query, function(nodeInfos) { |
+ doSearch(query, function(nodeSummaries) { |
statusControl.innerText = |
- 'Found ' + nodeInfos.length + ' nodes in ' |
+ 'Found ' + nodeSummaries.length + ' nodes in ' |
+ timer.elapsedSeconds + 's'; |
// TODO(akalin): Write a nicer list display. |
- for (var i = 0; i < nodeInfos.length; ++i) { |
- nodeInfos[i].toString = function() { |
+ for (var i = 0; i < nodeSummaries.length; ++i) { |
+ nodeSummaries[i].toString = function() { |
return this.title; |
- }.bind(nodeInfos[i]); |
+ }.bind(nodeSummaries[i]); |
} |
- resultsDataModel.push.apply(resultsDataModel, nodeInfos); |
+ resultsDataModel.push.apply(resultsDataModel, nodeSummaries); |
// Workaround for http://crbug.com/83452 . |
resultsControl.redraw(); |
}); |
@@ -81,7 +81,13 @@ cr.define('chrome.sync', function() { |
detailsControl.innerText = ''; |
var selected = resultsControl.selectedItem; |
if (selected) { |
- detailsControl.innerText = JSON.stringify(selected, null, 2); |
+ chrome.sync.getNodeDetailsById([selected.id], function(nodeDetails) { |
+ var selectedNodeDetails = nodeDetails[0] || null; |
+ if (selectedNodeDetails) { |
+ detailsControl.innerText = |
+ JSON.stringify(selectedNodeDetails, null, 2); |
+ } |
+ }); |
} |
}); |
} |