summaryrefslogtreecommitdiffstats
path: root/content/browser/profiler_controller_impl.cc
diff options
context:
space:
mode:
authorjar@chromium.org <jar@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-07 18:29:42 +0000
committerjar@chromium.org <jar@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-07 18:29:42 +0000
commit88a7e52fece7e4eb3e891805c971c027a35fe660 (patch)
treec1014c1bbec8f6d0a4329b8b11e3be0f9002d4e7 /content/browser/profiler_controller_impl.cc
parent7defb4f01c1af33db02ca9cf399efeb328110c47 (diff)
downloadchromium_src-88a7e52fece7e4eb3e891805c971c027a35fe660.zip
chromium_src-88a7e52fece7e4eb3e891805c971c027a35fe660.tar.gz
chromium_src-88a7e52fece7e4eb3e891805c971c027a35fe660.tar.bz2
Propogate status setting for profiler to track parents
This allows child processes to track ancestry, and report it to the browser process. Parent tracking is only turned on based on an environment variable. r=rtenneti Review URL: https://chromiumcodereview.appspot.com/9181002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@120789 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser/profiler_controller_impl.cc')
-rw-r--r--content/browser/profiler_controller_impl.cc14
1 files changed, 8 insertions, 6 deletions
diff --git a/content/browser/profiler_controller_impl.cc b/content/browser/profiler_controller_impl.cc
index 1954da8..b3e40e8 100644
--- a/content/browser/profiler_controller_impl.cc
+++ b/content/browser/profiler_controller_impl.cc
@@ -1,4 +1,4 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -121,14 +121,16 @@ void ProfilerControllerImpl::GetProfilerData(int sequence_number) {
sequence_number));
}
-void ProfilerControllerImpl::SetProfilerStatusInChildProcesses(bool enable) {
+void ProfilerControllerImpl::SetProfilerStatusInChildProcesses(
+ tracked_objects::ThreadData::Status status) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
for (BrowserChildProcessHostIterator iter; !iter.Done(); ++iter)
- iter.Send(new ChildProcessMsg_SetProfilerStatus(enable));
+ iter.Send(new ChildProcessMsg_SetProfilerStatus(status));
}
-void ProfilerControllerImpl::SetProfilerStatus(bool enable) {
+void ProfilerControllerImpl::SetProfilerStatus(
+ tracked_objects::ThreadData::Status status) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
BrowserThread::PostTask(
@@ -136,12 +138,12 @@ void ProfilerControllerImpl::SetProfilerStatus(bool enable) {
FROM_HERE,
base::Bind(&ProfilerControllerImpl::SetProfilerStatusInChildProcesses,
base::Unretained(this),
- enable));
+ status));
for (content::RenderProcessHost::iterator it(
content::RenderProcessHost::AllHostsIterator());
!it.IsAtEnd(); it.Advance()) {
- it.GetCurrentValue()->Send(new ChildProcessMsg_SetProfilerStatus(enable));
+ it.GetCurrentValue()->Send(new ChildProcessMsg_SetProfilerStatus(status));
}
}
} // namespace content