Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(456)

Side by Side Diff: chrome/browser/task_manager/task_manager.cc

Issue 8343060: TaskManager: allows referencing task resources from the web ui. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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/task_manager/task_manager.h" 5 #include "chrome/browser/task_manager/task_manager.h"
6 6
7 #include "base/compiler_specific.h" 7 #include "base/compiler_specific.h"
8 #include "base/i18n/number_formatting.h" 8 #include "base/i18n/number_formatting.h"
9 #include "base/i18n/rtl.h" 9 #include "base/i18n/rtl.h"
10 #include "base/process_util.h" 10 #include "base/process_util.h"
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
71 71
72 } // namespace 72 } // namespace
73 73
74 //////////////////////////////////////////////////////////////////////////////// 74 ////////////////////////////////////////////////////////////////////////////////
75 // TaskManagerModel class 75 // TaskManagerModel class
76 //////////////////////////////////////////////////////////////////////////////// 76 ////////////////////////////////////////////////////////////////////////////////
77 77
78 TaskManagerModel::TaskManagerModel(TaskManager* task_manager) 78 TaskManagerModel::TaskManagerModel(TaskManager* task_manager)
79 : update_requests_(0), 79 : update_requests_(0),
80 update_state_(IDLE), 80 update_state_(IDLE),
81 goat_salt_(rand()) { 81 goat_salt_(rand()),
82 last_unique_id_(0) {
82 AddResourceProvider( 83 AddResourceProvider(
83 new TaskManagerBrowserProcessResourceProvider(task_manager)); 84 new TaskManagerBrowserProcessResourceProvider(task_manager));
84 AddResourceProvider( 85 AddResourceProvider(
85 new TaskManagerBackgroundContentsResourceProvider(task_manager)); 86 new TaskManagerBackgroundContentsResourceProvider(task_manager));
86 AddResourceProvider(new TaskManagerTabContentsResourceProvider(task_manager)); 87 AddResourceProvider(new TaskManagerTabContentsResourceProvider(task_manager));
87 AddResourceProvider( 88 AddResourceProvider(
88 new TaskManagerChildProcessResourceProvider(task_manager)); 89 new TaskManagerChildProcessResourceProvider(task_manager));
89 AddResourceProvider( 90 AddResourceProvider(
90 new TaskManagerExtensionProcessResourceProvider(task_manager)); 91 new TaskManagerExtensionProcessResourceProvider(task_manager));
91 92
(...skipping 19 matching lines...) Expand all
111 } 112 }
112 113
113 void TaskManagerModel::AddObserver(TaskManagerModelObserver* observer) { 114 void TaskManagerModel::AddObserver(TaskManagerModelObserver* observer) {
114 observer_list_.AddObserver(observer); 115 observer_list_.AddObserver(observer);
115 } 116 }
116 117
117 void TaskManagerModel::RemoveObserver(TaskManagerModelObserver* observer) { 118 void TaskManagerModel::RemoveObserver(TaskManagerModelObserver* observer) {
118 observer_list_.RemoveObserver(observer); 119 observer_list_.RemoveObserver(observer);
119 } 120 }
120 121
122 int TaskManagerModel::GetResourceUniqueId(int index) const {
123 CHECK_LT(index, ResourceCount());
124 return resources_[index]->get_unique_id();
125 }
126
121 string16 TaskManagerModel::GetResourceTitle(int index) const { 127 string16 TaskManagerModel::GetResourceTitle(int index) const {
122 CHECK_LT(index, ResourceCount()); 128 CHECK_LT(index, ResourceCount());
123 return resources_[index]->GetTitle(); 129 return resources_[index]->GetTitle();
124 } 130 }
125 131
126 string16 TaskManagerModel::GetResourceProfileName(int index) const { 132 string16 TaskManagerModel::GetResourceProfileName(int index) const {
127 CHECK_LT(index, ResourceCount()); 133 CHECK_LT(index, ResourceCount());
128 return resources_[index]->GetProfileName(); 134 return resources_[index]->GetProfileName();
129 } 135 }
130 136
(...skipping 423 matching lines...) Expand 10 before | Expand all | Expand 10 after
554 bool TaskManagerModel::GetV8Memory(int index, size_t* result) const { 560 bool TaskManagerModel::GetV8Memory(int index, size_t* result) const {
555 *result = 0; 561 *result = 0;
556 if (!resources_[index]->ReportsV8MemoryStats()) 562 if (!resources_[index]->ReportsV8MemoryStats())
557 return false; 563 return false;
558 564
559 *result = resources_[index]->GetV8MemoryAllocated(); 565 *result = resources_[index]->GetV8MemoryAllocated();
560 return true; 566 return true;
561 } 567 }
562 568
563 bool TaskManagerModel::CanInspect(int index) const { 569 bool TaskManagerModel::CanInspect(int index) const {
570 CHECK_LT(index, ResourceCount());
564 return resources_[index]->CanInspect(); 571 return resources_[index]->CanInspect();
565 } 572 }
566 573
567 void TaskManagerModel::Inspect(int index) const { 574 void TaskManagerModel::Inspect(int index) const {
575 CHECK_LT(index, ResourceCount());
568 resources_[index]->Inspect(); 576 resources_[index]->Inspect();
569 } 577 }
570 578
571 int TaskManagerModel::GetGoatsTeleported(int index) const { 579 int TaskManagerModel::GetGoatsTeleported(int index) const {
572 int seed = goat_salt_ * (index + 1); 580 int seed = goat_salt_ * (index + 1);
573 return (seed >> 16) & 255; 581 return (seed >> 16) & 255;
574 } 582 }
575 583
576 string16 TaskManagerModel::GetMemCellText(int64 number) const { 584 string16 TaskManagerModel::GetMemCellText(int64 number) const {
577 #if !defined(OS_MACOSX) 585 #if !defined(OS_MACOSX)
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
635 643
636 void TaskManagerModel::AddResourceProvider( 644 void TaskManagerModel::AddResourceProvider(
637 TaskManager::ResourceProvider* provider) { 645 TaskManager::ResourceProvider* provider) {
638 DCHECK(provider); 646 DCHECK(provider);
639 // AddRef matched with Release in destructor. 647 // AddRef matched with Release in destructor.
640 provider->AddRef(); 648 provider->AddRef();
641 providers_.push_back(provider); 649 providers_.push_back(provider);
642 } 650 }
643 651
644 void TaskManagerModel::AddResource(TaskManager::Resource* resource) { 652 void TaskManagerModel::AddResource(TaskManager::Resource* resource) {
653 resource->unique_id_ = ++last_unique_id_;
654
645 base::ProcessHandle process = resource->GetProcess(); 655 base::ProcessHandle process = resource->GetProcess();
646 656
647 ResourceList* group_entries = NULL; 657 ResourceList* group_entries = NULL;
648 GroupMap::const_iterator group_iter = group_map_.find(process); 658 GroupMap::const_iterator group_iter = group_map_.find(process);
649 int new_entry_index = 0; 659 int new_entry_index = 0;
650 if (group_iter == group_map_.end()) { 660 if (group_iter == group_map_.end()) {
651 group_entries = new ResourceList(); 661 group_entries = new ResourceList();
652 group_map_[process] = group_entries; 662 group_map_[process] = group_entries;
653 group_entries->push_back(resource); 663 group_entries->push_back(resource);
654 664
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
760 metrics_map_.clear(); 770 metrics_map_.clear();
761 cpu_usage_map_.clear(); 771 cpu_usage_map_.clear();
762 772
763 // Clear the network maps. 773 // Clear the network maps.
764 current_byte_count_map_.clear(); 774 current_byte_count_map_.clear();
765 displayed_network_usage_map_.clear(); 775 displayed_network_usage_map_.clear();
766 776
767 FOR_EACH_OBSERVER(TaskManagerModelObserver, observer_list_, 777 FOR_EACH_OBSERVER(TaskManagerModelObserver, observer_list_,
768 OnItemsRemoved(0, size)); 778 OnItemsRemoved(0, size));
769 } 779 }
780 last_unique_id_ = 0;
770 } 781 }
771 782
772 void TaskManagerModel::ModelChanged() { 783 void TaskManagerModel::ModelChanged() {
773 // Notify the table that the contents have changed for it to redraw. 784 // Notify the table that the contents have changed for it to redraw.
774 FOR_EACH_OBSERVER(TaskManagerModelObserver, observer_list_, OnModelChanged()); 785 FOR_EACH_OBSERVER(TaskManagerModelObserver, observer_list_, OnModelChanged());
775 } 786 }
776 787
777 void TaskManagerModel::NotifyResourceTypeStats( 788 void TaskManagerModel::NotifyResourceTypeStats(
778 base::ProcessId renderer_id, 789 base::ProcessId renderer_id,
779 const WebKit::WebCache::ResourceTypeStats& stats) { 790 const WebKit::WebCache::ResourceTypeStats& stats) {
(...skipping 347 matching lines...) Expand 10 before | Expand all | Expand 10 after
1127 // Count the number of extensions with background pages (including 1138 // Count the number of extensions with background pages (including
1128 // incognito). 1139 // incognito).
1129 count += CountExtensionBackgroundPagesForProfile(profile); 1140 count += CountExtensionBackgroundPagesForProfile(profile);
1130 if (profile->HasOffTheRecordProfile()) { 1141 if (profile->HasOffTheRecordProfile()) {
1131 count += CountExtensionBackgroundPagesForProfile( 1142 count += CountExtensionBackgroundPagesForProfile(
1132 profile->GetOffTheRecordProfile()); 1143 profile->GetOffTheRecordProfile());
1133 } 1144 }
1134 } 1145 }
1135 return count; 1146 return count;
1136 } 1147 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698