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

Unified Diff: chrome/browser/task_manager/task_manager.cc

Issue 286143010: Remove knowledge of nacl from content. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 7 months 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/task_manager/task_manager.h ('k') | components/nacl/browser/nacl_browser.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/task_manager/task_manager.cc
diff --git a/chrome/browser/task_manager/task_manager.cc b/chrome/browser/task_manager/task_manager.cc
index f8834a1112ab30d3a4463bec17884a414340edac..fc09375493291ad7d14daa6e29352609be89156a 100644
--- a/chrome/browser/task_manager/task_manager.cc
+++ b/chrome/browser/task_manager/task_manager.cc
@@ -31,6 +31,7 @@
#include "chrome/browser/ui/browser_navigator.h"
#include "chrome/common/pref_names.h"
#include "chrome/common/url_constants.h"
+#include "components/nacl/browser/nacl_browser.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/gpu_data_manager.h"
#include "content/public/browser/gpu_data_manager_observer.h"
@@ -191,9 +192,7 @@ class TaskManagerModelGpuDataManagerObserver
};
TaskManagerModel::PerResourceValues::PerResourceValues()
- : is_nacl_debug_stub_port_valid(false),
- nacl_debug_stub_port(0),
- is_title_valid(false),
+ : is_title_valid(false),
is_profile_name_valid(false),
network_usage(0),
is_process_id_valid(false),
@@ -229,7 +228,9 @@ TaskManagerModel::PerProcessValues::PerProcessValues()
gdi_handles_peak(0),
is_user_handles_valid(0),
user_handles(0),
- user_handles_peak(0) {}
+ user_handles_peak(0),
+ is_nacl_debug_stub_port_valid(false),
+ nacl_debug_stub_port(0) {}
TaskManagerModel::PerProcessValues::~PerProcessValues() {}
@@ -292,10 +293,10 @@ int TaskManagerModel::GroupCount() const {
}
int TaskManagerModel::GetNaClDebugStubPort(int index) const {
- PerResourceValues& values(GetPerResourceValues(index));
+ base::ProcessHandle handle = GetResource(index)->GetProcess();
+ PerProcessValues& values(per_process_cache_[handle]);
if (!values.is_nacl_debug_stub_port_valid) {
- values.is_nacl_debug_stub_port_valid = true;
- values.nacl_debug_stub_port = GetResource(index)->GetNaClDebugStubPort();
+ return nacl::kGdbDebugStubPortUnknown;
}
return values.nacl_debug_stub_port;
}
@@ -417,7 +418,9 @@ const base::string16& TaskManagerModel::GetResourceProfileName(
base::string16 TaskManagerModel::GetResourceNaClDebugStubPort(int index) const {
int port = GetNaClDebugStubPort(index);
- if (port == 0) {
+ if (port == nacl::kGdbDebugStubPortUnknown) {
+ return base::ASCIIToUTF16("Unknown");
+ } else if (port == nacl::kGdbDebugStubPortUnused) {
return base::ASCIIToUTF16("N/A");
} else {
return base::IntToString16(port);
@@ -1179,7 +1182,12 @@ void TaskManagerModel::Refresh() {
per_resource_cache_.clear();
per_process_cache_.clear();
- // Compute the CPU usage values.
+#if !defined(DISABLE_NACL)
+ nacl::NaClBrowser* nacl_browser = nacl::NaClBrowser::GetInstance();
+#endif // !defined(DISABLE_NACL)
+
+ // Compute the CPU usage values and check if NaCl GDB debug stub port is
+ // known.
// Note that we compute the CPU usage for all resources (instead of doing it
// lazily) as process_util::GetCPUUsage() returns the CPU usage since the last
// time it was called, and not calling it everytime would skew the value the
@@ -1189,6 +1197,16 @@ void TaskManagerModel::Refresh() {
iter != resources_.end(); ++iter) {
base::ProcessHandle process = (*iter)->GetProcess();
PerProcessValues& values(per_process_cache_[process]);
+#if !defined(DISABLE_NACL)
+ // Debug stub port doesn't change once known.
+ if (!values.is_nacl_debug_stub_port_valid) {
+ values.nacl_debug_stub_port = nacl_browser->GetProcessGdbDebugStubPort(
+ (*iter)->GetUniqueChildProcessId());
+ if (values.nacl_debug_stub_port != nacl::kGdbDebugStubPortUnknown) {
+ values.is_nacl_debug_stub_port_valid = true;
+ }
+ }
+#endif // !defined(DISABLE_NACL)
if (values.is_cpu_usage_valid && values.is_idle_wakeups_valid)
continue;
MetricsMap::iterator metrics_iter = metrics_map_.find(process);
« no previous file with comments | « chrome/browser/task_manager/task_manager.h ('k') | components/nacl/browser/nacl_browser.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698