| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 #include "chrome/browser/ui/cocoa/task_manager_mac.h" | 5 #include "chrome/browser/ui/cocoa/task_manager_mac.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "base/mac/mac_util.h" | 10 #include "base/mac/mac_util.h" |
| (...skipping 13 matching lines...) Expand all Loading... |
| 24 // Some of the strings below have spaces at the end or are missing letters, to | 24 // Some of the strings below have spaces at the end or are missing letters, to |
| 25 // make the columns look nicer, and to take potentially longer localized strings | 25 // make the columns look nicer, and to take potentially longer localized strings |
| 26 // into account. | 26 // into account. |
| 27 const struct ColumnWidth { | 27 const struct ColumnWidth { |
| 28 int columnId; | 28 int columnId; |
| 29 int minWidth; | 29 int minWidth; |
| 30 int maxWidth; // If this is -1, 1.5*minColumWidth is used as max width. | 30 int maxWidth; // If this is -1, 1.5*minColumWidth is used as max width. |
| 31 } columnWidths[] = { | 31 } columnWidths[] = { |
| 32 // Note that arraysize includes the trailing \0. That's intended. | 32 // Note that arraysize includes the trailing \0. That's intended. |
| 33 { IDS_TASK_MANAGER_PAGE_COLUMN, 120, 600 }, | 33 { IDS_TASK_MANAGER_PAGE_COLUMN, 120, 600 }, |
| 34 { IDS_TASK_MANAGER_PROFILE_NAME_COLUMN, 60, 200 }, |
| 34 { IDS_TASK_MANAGER_PHYSICAL_MEM_COLUMN, | 35 { IDS_TASK_MANAGER_PHYSICAL_MEM_COLUMN, |
| 35 arraysize("800 MiB") * kCharWidth, -1 }, | 36 arraysize("800 MiB") * kCharWidth, -1 }, |
| 36 { IDS_TASK_MANAGER_SHARED_MEM_COLUMN, | 37 { IDS_TASK_MANAGER_SHARED_MEM_COLUMN, |
| 37 arraysize("800 MiB") * kCharWidth, -1 }, | 38 arraysize("800 MiB") * kCharWidth, -1 }, |
| 38 { IDS_TASK_MANAGER_PRIVATE_MEM_COLUMN, | 39 { IDS_TASK_MANAGER_PRIVATE_MEM_COLUMN, |
| 39 arraysize("800 MiB") * kCharWidth, -1 }, | 40 arraysize("800 MiB") * kCharWidth, -1 }, |
| 40 { IDS_TASK_MANAGER_CPU_COLUMN, | 41 { IDS_TASK_MANAGER_CPU_COLUMN, |
| 41 arraysize("99.9") * kCharWidth, -1 }, | 42 arraysize("99.9") * kCharWidth, -1 }, |
| 42 { IDS_TASK_MANAGER_NET_COLUMN, | 43 { IDS_TASK_MANAGER_NET_COLUMN, |
| 43 arraysize("150 kiB/s") * kCharWidth, -1 }, | 44 arraysize("150 kiB/s") * kCharWidth, -1 }, |
| (...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 213 [tableView_ setDataSource:nil]; | 214 [tableView_ setDataSource:nil]; |
| 214 [super dealloc]; | 215 [super dealloc]; |
| 215 } | 216 } |
| 216 | 217 |
| 217 // Adds a column which has the given string id as title. |isVisible| specifies | 218 // Adds a column which has the given string id as title. |isVisible| specifies |
| 218 // if the column is initially visible. | 219 // if the column is initially visible. |
| 219 - (NSTableColumn*)addColumnWithId:(int)columnId visible:(BOOL)isVisible { | 220 - (NSTableColumn*)addColumnWithId:(int)columnId visible:(BOOL)isVisible { |
| 220 scoped_nsobject<NSTableColumn> column([[NSTableColumn alloc] | 221 scoped_nsobject<NSTableColumn> column([[NSTableColumn alloc] |
| 221 initWithIdentifier:[NSNumber numberWithInt:columnId]]); | 222 initWithIdentifier:[NSNumber numberWithInt:columnId]]); |
| 222 | 223 |
| 223 NSTextAlignment textAlignment = columnId == IDS_TASK_MANAGER_PAGE_COLUMN ? | 224 NSTextAlignment textAlignment = |
| 224 NSLeftTextAlignment : NSRightTextAlignment; | 225 (columnId == IDS_TASK_MANAGER_PAGE_COLUMN || |
| 226 columnId == IDS_TASK_MANAGER_PROFILE_NAME_COLUMN) ? |
| 227 NSLeftTextAlignment : NSRightTextAlignment; |
| 225 | 228 |
| 226 [[column.get() headerCell] | 229 [[column.get() headerCell] |
| 227 setStringValue:l10n_util::GetNSStringWithFixup(columnId)]; | 230 setStringValue:l10n_util::GetNSStringWithFixup(columnId)]; |
| 228 [[column.get() headerCell] setAlignment:textAlignment]; | 231 [[column.get() headerCell] setAlignment:textAlignment]; |
| 229 [[column.get() dataCell] setAlignment:textAlignment]; | 232 [[column.get() dataCell] setAlignment:textAlignment]; |
| 230 | 233 |
| 231 NSFont* font = [NSFont systemFontOfSize:[NSFont smallSystemFontSize]]; | 234 NSFont* font = [NSFont systemFontOfSize:[NSFont smallSystemFontSize]]; |
| 232 [[column.get() dataCell] setFont:font]; | 235 [[column.get() dataCell] setFont:font]; |
| 233 | 236 |
| 234 [column.get() setHidden:!isVisible]; | 237 [column.get() setHidden:!isVisible]; |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 278 [[NSButtonCell alloc] initTextCell:@""]); | 281 [[NSButtonCell alloc] initTextCell:@""]); |
| 279 [nameCell.get() setImagePosition:NSImageLeft]; | 282 [nameCell.get() setImagePosition:NSImageLeft]; |
| 280 [nameCell.get() setButtonType:NSSwitchButton]; | 283 [nameCell.get() setButtonType:NSSwitchButton]; |
| 281 [nameCell.get() setAlignment:[[nameColumn dataCell] alignment]]; | 284 [nameCell.get() setAlignment:[[nameColumn dataCell] alignment]]; |
| 282 [nameCell.get() setFont:[[nameColumn dataCell] font]]; | 285 [nameCell.get() setFont:[[nameColumn dataCell] font]]; |
| 283 [nameColumn setDataCell:nameCell.get()]; | 286 [nameColumn setDataCell:nameCell.get()]; |
| 284 | 287 |
| 285 // Initially, sort on the tab name. | 288 // Initially, sort on the tab name. |
| 286 [tableView_ setSortDescriptors: | 289 [tableView_ setSortDescriptors: |
| 287 [NSArray arrayWithObject:[nameColumn sortDescriptorPrototype]]]; | 290 [NSArray arrayWithObject:[nameColumn sortDescriptorPrototype]]]; |
| 288 | 291 [self addColumnWithId:IDS_TASK_MANAGER_PROFILE_NAME_COLUMN visible:NO]; |
| 289 [self addColumnWithId:IDS_TASK_MANAGER_PHYSICAL_MEM_COLUMN visible:YES]; | 292 [self addColumnWithId:IDS_TASK_MANAGER_PHYSICAL_MEM_COLUMN visible:YES]; |
| 290 [self addColumnWithId:IDS_TASK_MANAGER_SHARED_MEM_COLUMN visible:NO]; | 293 [self addColumnWithId:IDS_TASK_MANAGER_SHARED_MEM_COLUMN visible:NO]; |
| 291 [self addColumnWithId:IDS_TASK_MANAGER_PRIVATE_MEM_COLUMN visible:NO]; | 294 [self addColumnWithId:IDS_TASK_MANAGER_PRIVATE_MEM_COLUMN visible:NO]; |
| 292 [self addColumnWithId:IDS_TASK_MANAGER_CPU_COLUMN visible:YES]; | 295 [self addColumnWithId:IDS_TASK_MANAGER_CPU_COLUMN visible:YES]; |
| 293 [self addColumnWithId:IDS_TASK_MANAGER_NET_COLUMN visible:YES]; | 296 [self addColumnWithId:IDS_TASK_MANAGER_NET_COLUMN visible:YES]; |
| 294 [self addColumnWithId:IDS_TASK_MANAGER_PROCESS_ID_COLUMN visible:NO]; | 297 [self addColumnWithId:IDS_TASK_MANAGER_PROCESS_ID_COLUMN visible:NO]; |
| 295 [self addColumnWithId:IDS_TASK_MANAGER_WEBCORE_IMAGE_CACHE_COLUMN | 298 [self addColumnWithId:IDS_TASK_MANAGER_WEBCORE_IMAGE_CACHE_COLUMN |
| 296 visible:NO]; | 299 visible:NO]; |
| 297 [self addColumnWithId:IDS_TASK_MANAGER_WEBCORE_SCRIPTS_CACHE_COLUMN | 300 [self addColumnWithId:IDS_TASK_MANAGER_WEBCORE_SCRIPTS_CACHE_COLUMN |
| 298 visible:NO]; | 301 visible:NO]; |
| (...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 422 return model_->ResourceCount(); | 425 return model_->ResourceCount(); |
| 423 } | 426 } |
| 424 | 427 |
| 425 - (NSString*)modelTextForRow:(int)row column:(int)columnId { | 428 - (NSString*)modelTextForRow:(int)row column:(int)columnId { |
| 426 DCHECK_LT(static_cast<size_t>(row), viewToModelMap_.size()); | 429 DCHECK_LT(static_cast<size_t>(row), viewToModelMap_.size()); |
| 427 row = viewToModelMap_[row]; | 430 row = viewToModelMap_[row]; |
| 428 switch (columnId) { | 431 switch (columnId) { |
| 429 case IDS_TASK_MANAGER_PAGE_COLUMN: // Process | 432 case IDS_TASK_MANAGER_PAGE_COLUMN: // Process |
| 430 return base::SysUTF16ToNSString(model_->GetResourceTitle(row)); | 433 return base::SysUTF16ToNSString(model_->GetResourceTitle(row)); |
| 431 | 434 |
| 435 case IDS_TASK_MANAGER_PROFILE_NAME_COLUMN: // Profile Name |
| 436 return base::SysUTF16ToNSString(model_->GetResourceProfileName(row)); |
| 437 |
| 432 case IDS_TASK_MANAGER_PRIVATE_MEM_COLUMN: // Memory | 438 case IDS_TASK_MANAGER_PRIVATE_MEM_COLUMN: // Memory |
| 433 if (!model_->IsResourceFirstInGroup(row)) | 439 if (!model_->IsResourceFirstInGroup(row)) |
| 434 return @""; | 440 return @""; |
| 435 return base::SysUTF16ToNSString(model_->GetResourcePrivateMemory(row)); | 441 return base::SysUTF16ToNSString(model_->GetResourcePrivateMemory(row)); |
| 436 | 442 |
| 437 case IDS_TASK_MANAGER_SHARED_MEM_COLUMN: // Memory | 443 case IDS_TASK_MANAGER_SHARED_MEM_COLUMN: // Memory |
| 438 if (!model_->IsResourceFirstInGroup(row)) | 444 if (!model_->IsResourceFirstInGroup(row)) |
| 439 return @""; | 445 return @""; |
| 440 return base::SysUTF16ToNSString(model_->GetResourceSharedMemory(row)); | 446 return base::SysUTF16ToNSString(model_->GetResourceSharedMemory(row)); |
| 441 | 447 |
| (...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 637 // "Task Manager" so close the existing window and fall through to | 643 // "Task Manager" so close the existing window and fall through to |
| 638 // open a new one. | 644 // open a new one. |
| 639 [[instance_->window_controller_ window] close]; | 645 [[instance_->window_controller_ window] close]; |
| 640 } | 646 } |
| 641 } | 647 } |
| 642 // Create a new instance. | 648 // Create a new instance. |
| 643 instance_ = new TaskManagerMac(TaskManager::GetInstance(), | 649 instance_ = new TaskManagerMac(TaskManager::GetInstance(), |
| 644 highlight_background_resources); | 650 highlight_background_resources); |
| 645 instance_->model_->StartUpdating(); | 651 instance_->model_->StartUpdating(); |
| 646 } | 652 } |
| OLD | NEW |