| Index: chrome/browser/ui/task_manager/task_manager_table_model.cc
|
| diff --git a/chrome/browser/ui/task_manager/task_manager_table_model.cc b/chrome/browser/ui/task_manager/task_manager_table_model.cc
|
| index d921daa251a020ca5ad11d04971afc14ed8afd12..874569a6f2d96d1e271be460593b0347925679a1 100644
|
| --- a/chrome/browser/ui/task_manager/task_manager_table_model.cc
|
| +++ b/chrome/browser/ui/task_manager/task_manager_table_model.cc
|
| @@ -562,17 +562,20 @@ int TaskManagerTableModel::CompareValues(int row1,
|
| void TaskManagerTableModel::GetRowsGroupRange(int row_index,
|
| int* out_start,
|
| int* out_length) {
|
| + const base::ProcessId process_id =
|
| + observed_task_manager()->GetProcessId(tasks_[row_index]);
|
| int i = row_index;
|
| - for ( ; i >= 0; --i) {
|
| - if (IsTaskFirstInGroup(i))
|
| - break;
|
| + int limit = row_index + 1;
|
| + while (i > 0 &&
|
| + observed_task_manager()->GetProcessId(tasks_[i - 1]) == process_id) {
|
| + --i;
|
| + }
|
| + while (limit < RowCount() &&
|
| + observed_task_manager()->GetProcessId(tasks_[limit]) == process_id) {
|
| + ++limit;
|
| }
|
| -
|
| - CHECK_GE(i, 0);
|
| -
|
| *out_start = i;
|
| - *out_length = observed_task_manager()->GetNumberOfTasksOnSameProcess(
|
| - tasks_[row_index]);
|
| + *out_length = limit - i;
|
| }
|
|
|
| void TaskManagerTableModel::OnTaskAdded(TaskId id) {
|
|
|