OLD | NEW |
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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/task_manager_resource_providers.h" | 5 #include "chrome/browser/task_manager_resource_providers.h" |
6 | 6 |
| 7 #include "base/basictypes.h" |
7 #include "base/file_version_info.h" | 8 #include "base/file_version_info.h" |
8 #include "base/message_loop.h" | 9 #include "base/message_loop.h" |
9 #include "base/process_util.h" | 10 #include "base/process_util.h" |
10 #include "base/string_util.h" | 11 #include "base/string_util.h" |
11 #include "chrome/app/chrome_dll_resource.h" | 12 #include "chrome/app/chrome_dll_resource.h" |
12 #include "chrome/browser/browser_process.h" | 13 #include "chrome/browser/browser_process.h" |
13 #include "chrome/browser/browser_list.h" | 14 #include "chrome/browser/browser_list.h" |
14 #include "chrome/browser/renderer_host/render_process_host.h" | 15 #include "chrome/browser/renderer_host/render_process_host.h" |
15 #include "chrome/browser/renderer_host/resource_message_filter.h" | 16 #include "chrome/browser/renderer_host/resource_message_filter.h" |
16 #include "chrome/browser/tab_contents/tab_util.h" | 17 #include "chrome/browser/tab_contents/tab_util.h" |
17 #include "chrome/browser/tab_contents/web_contents.h" | 18 #include "chrome/browser/tab_contents/web_contents.h" |
18 #include "chrome/common/child_process_host.h" | 19 #include "chrome/common/child_process_host.h" |
| 20 #include "chrome/common/l10n_util.h" |
19 #include "chrome/common/notification_service.h" | 21 #include "chrome/common/notification_service.h" |
20 #include "chrome/common/resource_bundle.h" | 22 #include "chrome/common/resource_bundle.h" |
21 #include "chrome/common/stl_util-inl.h" | 23 #include "chrome/common/stl_util-inl.h" |
| 24 #if defined(OS_WIN) |
22 #include "chrome/common/gfx/icon_util.h" | 25 #include "chrome/common/gfx/icon_util.h" |
| 26 #endif // defined(OS_WIN) |
23 #include "grit/generated_resources.h" | 27 #include "grit/generated_resources.h" |
24 #include "grit/theme_resources.h" | 28 #include "grit/theme_resources.h" |
25 | 29 |
26 //////////////////////////////////////////////////////////////////////////////// | 30 //////////////////////////////////////////////////////////////////////////////// |
27 // TaskManagerWebContentsResource class | 31 // TaskManagerWebContentsResource class |
28 //////////////////////////////////////////////////////////////////////////////// | 32 //////////////////////////////////////////////////////////////////////////////// |
29 | 33 |
30 TaskManagerWebContentsResource::TaskManagerWebContentsResource( | 34 TaskManagerWebContentsResource::TaskManagerWebContentsResource( |
31 WebContents* web_contents) | 35 WebContents* web_contents) |
32 : web_contents_(web_contents) { | 36 : web_contents_(web_contents) { |
(...skipping 27 matching lines...) Expand all Loading... |
60 l10n_util::AdjustStringForLocaleDirection(tab_title, &tab_title); | 64 l10n_util::AdjustStringForLocaleDirection(tab_title, &tab_title); |
61 } | 65 } |
62 | 66 |
63 return l10n_util::GetStringF(IDS_TASK_MANAGER_TAB_PREFIX, tab_title); | 67 return l10n_util::GetStringF(IDS_TASK_MANAGER_TAB_PREFIX, tab_title); |
64 } | 68 } |
65 | 69 |
66 SkBitmap TaskManagerWebContentsResource::GetIcon() const { | 70 SkBitmap TaskManagerWebContentsResource::GetIcon() const { |
67 return web_contents_->GetFavIcon(); | 71 return web_contents_->GetFavIcon(); |
68 } | 72 } |
69 | 73 |
70 HANDLE TaskManagerWebContentsResource::GetProcess() const { | 74 base::ProcessHandle TaskManagerWebContentsResource::GetProcess() const { |
71 return process_; | 75 return process_; |
72 } | 76 } |
73 | 77 |
74 TabContents* TaskManagerWebContentsResource::GetTabContents() const { | 78 TabContents* TaskManagerWebContentsResource::GetTabContents() const { |
75 return static_cast<TabContents*>(web_contents_); | 79 return static_cast<TabContents*>(web_contents_); |
76 } | 80 } |
77 | 81 |
78 //////////////////////////////////////////////////////////////////////////////// | 82 //////////////////////////////////////////////////////////////////////////////// |
79 // TaskManagerWebContentsResourceProvider class | 83 // TaskManagerWebContentsResourceProvider class |
80 //////////////////////////////////////////////////////////////////////////////// | 84 //////////////////////////////////////////////////////////////////////////////// |
81 | 85 |
82 TaskManagerWebContentsResourceProvider:: | 86 TaskManagerWebContentsResourceProvider:: |
83 TaskManagerWebContentsResourceProvider(TaskManager* task_manager) | 87 TaskManagerWebContentsResourceProvider(TaskManager* task_manager) |
84 : task_manager_(task_manager), | 88 : updating_(false), |
85 updating_(false) { | 89 task_manager_(task_manager) { |
86 } | 90 } |
87 | 91 |
88 TaskManagerWebContentsResourceProvider:: | 92 TaskManagerWebContentsResourceProvider:: |
89 ~TaskManagerWebContentsResourceProvider() { | 93 ~TaskManagerWebContentsResourceProvider() { |
90 } | 94 } |
91 | 95 |
92 TaskManager::Resource* TaskManagerWebContentsResourceProvider::GetResource( | 96 TaskManager::Resource* TaskManagerWebContentsResourceProvider::GetResource( |
93 int origin_pid, | 97 int origin_pid, |
94 int render_process_host_id, | 98 int render_process_host_id, |
95 int routing_id) { | 99 int routing_id) { |
(...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
273 if (title_.empty()) | 277 if (title_.empty()) |
274 title_ = child_process_.GetLocalizedTitle(); | 278 title_ = child_process_.GetLocalizedTitle(); |
275 | 279 |
276 return title_; | 280 return title_; |
277 } | 281 } |
278 | 282 |
279 SkBitmap TaskManagerChildProcessResource::GetIcon() const { | 283 SkBitmap TaskManagerChildProcessResource::GetIcon() const { |
280 return *default_icon_; | 284 return *default_icon_; |
281 } | 285 } |
282 | 286 |
283 HANDLE TaskManagerChildProcessResource::GetProcess() const { | 287 base::ProcessHandle TaskManagerChildProcessResource::GetProcess() const { |
284 return child_process_.handle(); | 288 return child_process_.handle(); |
285 } | 289 } |
286 | 290 |
287 //////////////////////////////////////////////////////////////////////////////// | 291 //////////////////////////////////////////////////////////////////////////////// |
288 // TaskManagerChildProcessResourceProvider class | 292 // TaskManagerChildProcessResourceProvider class |
289 //////////////////////////////////////////////////////////////////////////////// | 293 //////////////////////////////////////////////////////////////////////////////// |
290 | 294 |
291 TaskManagerChildProcessResourceProvider:: | 295 TaskManagerChildProcessResourceProvider:: |
292 TaskManagerChildProcessResourceProvider(TaskManager* task_manager) | 296 TaskManagerChildProcessResourceProvider(TaskManager* task_manager) |
293 : task_manager_(task_manager), | 297 : updating_(false), |
294 updating_(false), | 298 task_manager_(task_manager), |
295 ui_loop_(MessageLoop::current()) { | 299 ui_loop_(MessageLoop::current()) { |
296 } | 300 } |
297 | 301 |
298 TaskManagerChildProcessResourceProvider:: | 302 TaskManagerChildProcessResourceProvider:: |
299 ~TaskManagerChildProcessResourceProvider() { | 303 ~TaskManagerChildProcessResourceProvider() { |
300 } | 304 } |
301 | 305 |
302 TaskManager::Resource* TaskManagerChildProcessResourceProvider::GetResource( | 306 TaskManager::Resource* TaskManagerChildProcessResourceProvider::GetResource( |
303 int origin_pid, | 307 int origin_pid, |
304 int render_process_host_id, | 308 int render_process_host_id, |
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
437 existing_child_process_info_.clear(); | 441 existing_child_process_info_.clear(); |
438 } | 442 } |
439 | 443 |
440 //////////////////////////////////////////////////////////////////////////////// | 444 //////////////////////////////////////////////////////////////////////////////// |
441 // TaskManagerBrowserProcessResource class | 445 // TaskManagerBrowserProcessResource class |
442 //////////////////////////////////////////////////////////////////////////////// | 446 //////////////////////////////////////////////////////////////////////////////// |
443 | 447 |
444 SkBitmap* TaskManagerBrowserProcessResource::default_icon_ = NULL; | 448 SkBitmap* TaskManagerBrowserProcessResource::default_icon_ = NULL; |
445 | 449 |
446 TaskManagerBrowserProcessResource::TaskManagerBrowserProcessResource() | 450 TaskManagerBrowserProcessResource::TaskManagerBrowserProcessResource() |
447 : title_(), | 451 : network_usage_support_(false), |
448 network_usage_support_(false) { | 452 title_() { |
449 pid_ = GetCurrentProcessId(); | 453 pid_ = base::GetCurrentProcId(); |
450 process_ = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, | 454 bool success = base::OpenPrivilegedProcessHandle(pid_, &process_); |
451 FALSE, | 455 DCHECK(success); |
452 pid_); | 456 #if !defined(OS_WIN) |
453 DCHECK(process_); | 457 // TODO(port): Port icon code. |
| 458 NOTIMPLEMENTED(); |
| 459 #else |
454 if (!default_icon_) { | 460 if (!default_icon_) { |
455 HICON icon = LoadIcon(_AtlBaseModule.GetResourceInstance(), | 461 HICON icon = LoadIcon(_AtlBaseModule.GetResourceInstance(), |
456 MAKEINTRESOURCE(IDR_MAINFRAME)); | 462 MAKEINTRESOURCE(IDR_MAINFRAME)); |
457 if (icon) { | 463 if (icon) { |
458 ICONINFO icon_info = {0}; | 464 ICONINFO icon_info = {0}; |
459 BITMAP bitmap_info = {0}; | 465 BITMAP bitmap_info = {0}; |
460 | 466 |
461 GetIconInfo(icon, &icon_info); | 467 GetIconInfo(icon, &icon_info); |
462 GetObject(icon_info.hbmMask, sizeof(bitmap_info), &bitmap_info); | 468 GetObject(icon_info.hbmMask, sizeof(bitmap_info), &bitmap_info); |
463 | 469 |
464 gfx::Size icon_size(bitmap_info.bmWidth, bitmap_info.bmHeight); | 470 gfx::Size icon_size(bitmap_info.bmWidth, bitmap_info.bmHeight); |
465 default_icon_ = IconUtil::CreateSkBitmapFromHICON(icon, icon_size); | 471 default_icon_ = IconUtil::CreateSkBitmapFromHICON(icon, icon_size); |
466 } | 472 } |
467 } | 473 } |
| 474 #endif // defined(OS_WIN) |
468 } | 475 } |
469 | 476 |
470 TaskManagerBrowserProcessResource::~TaskManagerBrowserProcessResource() { | 477 TaskManagerBrowserProcessResource::~TaskManagerBrowserProcessResource() { |
471 CloseHandle(process_); | 478 base::CloseProcessHandle(process_); |
472 } | 479 } |
473 | 480 |
474 // TaskManagerResource methods: | 481 // TaskManagerResource methods: |
475 std::wstring TaskManagerBrowserProcessResource::GetTitle() const { | 482 std::wstring TaskManagerBrowserProcessResource::GetTitle() const { |
476 if (title_.empty()) { | 483 if (title_.empty()) { |
477 title_ = l10n_util::GetString(IDS_TASK_MANAGER_WEB_BROWSER_CELL_TEXT); | 484 title_ = l10n_util::GetString(IDS_TASK_MANAGER_WEB_BROWSER_CELL_TEXT); |
478 } | 485 } |
479 return title_; | 486 return title_; |
480 } | 487 } |
481 | 488 |
482 SkBitmap TaskManagerBrowserProcessResource::GetIcon() const { | 489 SkBitmap TaskManagerBrowserProcessResource::GetIcon() const { |
483 return *default_icon_; | 490 return *default_icon_; |
484 } | 491 } |
485 | 492 |
486 HANDLE TaskManagerBrowserProcessResource::GetProcess() const { | 493 base::ProcessHandle TaskManagerBrowserProcessResource::GetProcess() const { |
487 return GetCurrentProcess(); // process_; | 494 return base::GetCurrentProcessHandle(); // process_; |
488 } | 495 } |
489 | 496 |
490 //////////////////////////////////////////////////////////////////////////////// | 497 //////////////////////////////////////////////////////////////////////////////// |
491 // TaskManagerBrowserProcessResourceProvider class | 498 // TaskManagerBrowserProcessResourceProvider class |
492 //////////////////////////////////////////////////////////////////////////////// | 499 //////////////////////////////////////////////////////////////////////////////// |
493 | 500 |
494 TaskManagerBrowserProcessResourceProvider:: | 501 TaskManagerBrowserProcessResourceProvider:: |
495 TaskManagerBrowserProcessResourceProvider(TaskManager* task_manager) | 502 TaskManagerBrowserProcessResourceProvider(TaskManager* task_manager) |
496 : task_manager_(task_manager) { | 503 : task_manager_(task_manager) { |
497 } | 504 } |
(...skipping 12 matching lines...) Expand all Loading... |
510 | 517 |
511 return &resource_; | 518 return &resource_; |
512 } | 519 } |
513 | 520 |
514 void TaskManagerBrowserProcessResourceProvider::StartUpdating() { | 521 void TaskManagerBrowserProcessResourceProvider::StartUpdating() { |
515 task_manager_->AddResource(&resource_); | 522 task_manager_->AddResource(&resource_); |
516 } | 523 } |
517 | 524 |
518 void TaskManagerBrowserProcessResourceProvider::StopUpdating() { | 525 void TaskManagerBrowserProcessResourceProvider::StopUpdating() { |
519 } | 526 } |
OLD | NEW |