diff options
author | pfeldman@chromium.org <pfeldman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-10-27 08:25:53 +0000 |
---|---|---|
committer | pfeldman@chromium.org <pfeldman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-10-27 08:25:53 +0000 |
commit | 9896c321427ec035f45172dfc373adde373591dc (patch) | |
tree | 9b300bf3831ca532eac105aac432ee2f7438ce21 /chrome/browser/ui/webui/task_manager_handler.cc | |
parent | 7a511ffb48317edce80cca2807a2c31b8c030b1d (diff) | |
download | chromium_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.cc | 10 |
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); } |