Index: chrome/browser/resources/task_manager/main.js |
diff --git a/chrome/browser/resources/task_manager/main.js b/chrome/browser/resources/task_manager/main.js |
index 9bc0d285d2e3478f64481fbb377b71870657e812..4d07cdd96cd2254c3b38b75436a504e5fb7b90af 100644 |
--- a/chrome/browser/resources/task_manager/main.js |
+++ b/chrome/browser/resources/task_manager/main.js |
@@ -542,18 +542,30 @@ TaskManager.prototype = { |
var length = task.length; |
var tasks = task.tasks; |
- // We have to store the selected indexes and restore them after |
+ // We have to store the selected pids and restore them after |
// splice(), because it might replace some items but the replaced |
// items would lose the selection. |
var oldSelectedIndexes = sm.selectedIndexes; |
+ // Create map of selected PIDs. |
+ var oldSelectedPids = {}; |
flackr
2012/03/01 21:45:06
You can probably just call this selectedPids since
Kevin Greer
2012/03/01 22:13:44
Done.
|
+ for (var i = 0; i < oldSelectedIndexes.length; i++) { |
+ var item = dm.item(oldSelectedIndexes[i]); |
+ if (item) oldSelectedPids[item['processId'][0]] = true; |
+ } |
+ |
var args = tasks.slice(); |
args.unshift(start, dm.length); |
dm.splice.apply(dm, args); |
- sm.selectedIndexes = oldSelectedIndexes.filter(function(index) { |
- return index < dm.length; |
- }); |
+ // Create new array of selected indices from map of old PIDs. |
flackr
2012/03/01 21:45:06
nit: s/indices/indexes since that's the property n
Kevin Greer
2012/03/01 22:13:44
Done.
|
+ var newSelectedIndexes = []; |
+ for (var i = 0; i < dm.length; i++) { |
+ if (oldSelectedPids[dm.item(i)['processId'][0]]) |
+ newSelectedIndexes.push(i); |
+ } |
+ |
+ sm.selectedIndexes = newSelectedIndexes; |
var pids = []; |
for (var i = 0; i < dm.length; i++) { |