summaryrefslogtreecommitdiffstats
path: root/chrome/browser/task_manager/task_manager_resource_providers.cc
diff options
context:
space:
mode:
authorjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-12-02 01:57:53 +0000
committerjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-12-02 01:57:53 +0000
commit4306c379b6950cd71d016d345beedc5884158af4 (patch)
treec99e60d36cb4f55469667b9855b91398e991d22d /chrome/browser/task_manager/task_manager_resource_providers.cc
parent5aa9c09bfbe70e1e87642c2333e54cffaa71838c (diff)
downloadchromium_src-4306c379b6950cd71d016d345beedc5884158af4.zip
chromium_src-4306c379b6950cd71d016d345beedc5884158af4.tar.gz
chromium_src-4306c379b6950cd71d016d345beedc5884158af4.tar.bz2
Get rid of the ChildProcessInfo class. It was carrying unnecessary data, and the fact that some processes inherited from it was confusing. There's now a simpler struct, content::ChildProcessData. BrowserChildProcessHost uses composition instead of inheritence.
BUG=98716 Review URL: http://codereview.chromium.org/8770027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@112597 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/task_manager/task_manager_resource_providers.cc')
-rw-r--r--chrome/browser/task_manager/task_manager_resource_providers.cc33
1 files changed, 15 insertions, 18 deletions
diff --git a/chrome/browser/task_manager/task_manager_resource_providers.cc b/chrome/browser/task_manager/task_manager_resource_providers.cc
index 8e1cc11..7b3658f 100644
--- a/chrome/browser/task_manager/task_manager_resource_providers.cc
+++ b/chrome/browser/task_manager/task_manager_resource_providers.cc
@@ -787,7 +787,7 @@ base::ProcessHandle TaskManagerChildProcessResource::GetProcess() const {
}
TaskManager::Resource::Type TaskManagerChildProcessResource::GetType() const {
- // Translate types to TaskManager::ResourceType, since ChildProcessInfo's type
+ // Translate types to TaskManager::ResourceType, since ChildProcessData's type
// is not available for all TaskManager resources.
switch (type_) {
case content::PROCESS_TYPE_PLUGIN:
@@ -924,7 +924,7 @@ void TaskManagerChildProcessResourceProvider::StartUpdating() {
BrowserThread::PostTask(
BrowserThread::IO, FROM_HERE,
base::Bind(
- &TaskManagerChildProcessResourceProvider::RetrieveChildProcessInfo,
+ &TaskManagerChildProcessResourceProvider::RetrieveChildProcessData,
this));
}
@@ -952,11 +952,8 @@ void TaskManagerChildProcessResourceProvider::Observe(
int type,
const content::NotificationSource& source,
const content::NotificationDetails& details) {
- content::Details<ChildProcessInfo> child_details(details);
- ChildProcessData data;
- data.type = child_details->type();
- data.name = child_details->name();
- data.handle = child_details->handle();
+ content::ChildProcessData data =
+ *content::Details<content::ChildProcessData>(details).ptr();
switch (type) {
case content::NOTIFICATION_CHILD_PROCESS_HOST_CONNECTED:
Add(data);
@@ -971,7 +968,7 @@ void TaskManagerChildProcessResourceProvider::Observe(
}
void TaskManagerChildProcessResourceProvider::Add(
- const ChildProcessData& child_process_data) {
+ const content::ChildProcessData& child_process_data) {
if (!updating_)
return;
// Workers are handled by TaskManagerWorkerResourceProvider.
@@ -988,14 +985,14 @@ void TaskManagerChildProcessResourceProvider::Add(
}
void TaskManagerChildProcessResourceProvider::Remove(
- const ChildProcessData& child_process_data) {
+ const content::ChildProcessData& child_process_data) {
if (!updating_)
return;
if (child_process_data.type == content::PROCESS_TYPE_WORKER)
return;
ChildProcessMap::iterator iter = resources_.find(child_process_data.handle);
if (iter == resources_.end()) {
- // ChildProcessInfo disconnection notifications are asynchronous, so we
+ // ChildProcessData disconnection notifications are asynchronous, so we
// might be notified for a plugin we don't know anything about (if it was
// closed before the task manager was shown and destroyed after that).
return;
@@ -1017,7 +1014,7 @@ void TaskManagerChildProcessResourceProvider::Remove(
}
void TaskManagerChildProcessResourceProvider::AddToTaskManager(
- const ChildProcessData& child_process_data) {
+ const content::ChildProcessData& child_process_data) {
TaskManagerChildProcessResource* resource =
new TaskManagerChildProcessResource(
child_process_data.type,
@@ -1028,14 +1025,14 @@ void TaskManagerChildProcessResourceProvider::AddToTaskManager(
task_manager_->AddResource(resource);
}
-// The ChildProcessInfo::Iterator has to be used from the IO thread.
-void TaskManagerChildProcessResourceProvider::RetrieveChildProcessInfo() {
- std::vector<ChildProcessData> child_processes;
+// The ChildProcessData::Iterator has to be used from the IO thread.
+void TaskManagerChildProcessResourceProvider::RetrieveChildProcessData() {
+ std::vector<content::ChildProcessData> child_processes;
for (BrowserChildProcessHost::Iterator iter; !iter.Done(); ++iter) {
// Only add processes which are already started, since we need their handle.
if ((*iter)->handle() == base::kNullProcessHandle)
continue;
- ChildProcessData data;
+ content::ChildProcessData data;
data.type = (*iter)->type();
data.name = (*iter)->name();
data.handle = (*iter)->handle();
@@ -1046,13 +1043,13 @@ void TaskManagerChildProcessResourceProvider::RetrieveChildProcessInfo() {
BrowserThread::PostTask(
BrowserThread::UI, FROM_HERE,
base::Bind(
- &TaskManagerChildProcessResourceProvider::ChildProcessInfoRetreived,
+ &TaskManagerChildProcessResourceProvider::ChildProcessDataRetreived,
this, child_processes));
}
// This is called on the UI thread.
-void TaskManagerChildProcessResourceProvider::ChildProcessInfoRetreived(
- const std::vector<ChildProcessData>& child_processes) {
+void TaskManagerChildProcessResourceProvider::ChildProcessDataRetreived(
+ const std::vector<content::ChildProcessData>& child_processes) {
for (size_t i = 0; i < child_processes.size(); ++i)
Add(child_processes[i]);
}