summaryrefslogtreecommitdiffstats
path: root/chrome/browser/ui/webui/task_manager_handler.cc
diff options
context:
space:
mode:
authorpfeldman@chromium.org <pfeldman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-10-27 08:25:53 +0000
committerpfeldman@chromium.org <pfeldman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-10-27 08:25:53 +0000
commit9896c321427ec035f45172dfc373adde373591dc (patch)
tree9b300bf3831ca532eac105aac432ee2f7438ce21 /chrome/browser/ui/webui/task_manager_handler.cc
parent7a511ffb48317edce80cca2807a2c31b8c030b1d (diff)
downloadchromium_src-9896c321427ec035f45172dfc373adde373591dc.zip
chromium_src-9896c321427ec035f45172dfc373adde373591dc.tar.gz
chromium_src-9896c321427ec035f45172dfc373adde373591dc.tar.bz2
Browser crashing when closing the WebUI task manager.
BUG=100944 TEST= Review URL: http://codereview.chromium.org/8396044 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107541 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/ui/webui/task_manager_handler.cc')
-rw-r--r--chrome/browser/ui/webui/task_manager_handler.cc10
1 files changed, 7 insertions, 3 deletions
diff --git a/chrome/browser/ui/webui/task_manager_handler.cc b/chrome/browser/ui/webui/task_manager_handler.cc
index fbff96d..2965067 100644
--- a/chrome/browser/ui/webui/task_manager_handler.cc
+++ b/chrome/browser/ui/webui/task_manager_handler.cc
@@ -401,6 +401,10 @@ void TaskManagerHandler::OpenAboutMemory(const ListValue* indexes) {
// TaskManagerHandler, private: -----------------------------------------------
+bool TaskManagerHandler::is_alive() {
+ return web_ui_->tab_contents()->render_view_host();
+}
+
void TaskManagerHandler::UpdateResourceGroupTable(int start, int length) {
if (resource_to_group_table_.size() < static_cast<size_t>(start)) {
length += start - resource_to_group_table_.size();
@@ -426,7 +430,7 @@ void TaskManagerHandler::OnGroupChanged(const int group_start,
for (int i = 0; i < group_length; ++i)
tasks_value.Append(CreateTaskGroupValue(model_, group_start + i));
- if (is_enabled_) {
+ if (is_enabled_ && is_alive()) {
web_ui_->CallJavascriptFunction("taskChanged",
start_value, length_value, tasks_value);
}
@@ -440,7 +444,7 @@ void TaskManagerHandler::OnGroupAdded(const int group_start,
for (int i = 0; i < group_length; ++i)
tasks_value.Append(CreateTaskGroupValue(model_, group_start + i));
- if (is_enabled_) {
+ if (is_enabled_ && is_alive()) {
web_ui_->CallJavascriptFunction("taskAdded",
start_value, length_value, tasks_value);
}
@@ -450,6 +454,6 @@ void TaskManagerHandler::OnGroupRemoved(const int group_start,
const int group_length) {
base::FundamentalValue start_value(group_start);
base::FundamentalValue length_value(group_length);
- if (is_enabled_)
+ if (is_enabled_ && is_alive())
web_ui_->CallJavascriptFunction("taskRemoved", start_value, length_value);
}