Index: content/common/child_trace_message_filter.cc |
diff --git a/content/common/child_trace_message_filter.cc b/content/common/child_trace_message_filter.cc |
index ccc2b0377167451fcd730b8274871c395927ba3f..629aea5af727a48f942ee123c771d7510fade733 100644 |
--- a/content/common/child_trace_message_filter.cc |
+++ b/content/common/child_trace_message_filter.cc |
@@ -4,26 +4,33 @@ |
#include "content/common/child_trace_message_filter.h" |
+#include "base/bind.h" |
+#include "base/debug/trace_event.h" |
#include "base/message_loop.h" |
#include "content/common/child_process.h" |
#include "content/common/child_process_messages.h" |
-#include "gpu/common/gpu_trace_event.h" |
ChildTraceMessageFilter::ChildTraceMessageFilter() : channel_(NULL) { |
} |
ChildTraceMessageFilter::~ChildTraceMessageFilter() { |
scheib
2011/05/09 23:39:51
Shutdown crash was caused by cycle of destructor -
|
- gpu::TraceLog::GetInstance()->SetOutputCallback(NULL); |
- gpu::TraceLog::GetInstance()->SetBufferFullCallback(NULL); |
} |
void ChildTraceMessageFilter::OnFilterAdded(IPC::Channel* channel) { |
channel_ = channel; |
- gpu::TraceLog::GetInstance()->SetOutputCallback( |
- NewCallback(this, &ChildTraceMessageFilter::OnTraceDataCollected)); |
- gpu::TraceLog::GetInstance()->SetBufferFullCallback( |
- NewCallback(this, &ChildTraceMessageFilter::OnTraceBufferFull)); |
+ base::debug::TraceLog::GetInstance()->SetOutputCallback( |
+ base::Bind(&ChildTraceMessageFilter::OnTraceDataCollected, this)); |
+ base::debug::TraceLog::GetInstance()->SetBufferFullCallback( |
+ base::Bind(&ChildTraceMessageFilter::OnTraceBufferFull, this)); |
+} |
+ |
+void ChildTraceMessageFilter::OnFilterRemoved() |
+{ |
Sigurður Ásgeirsson
2011/05/10 13:44:52
nit: move up to previous line
|
+ base::debug::TraceLog::GetInstance()->SetOutputCallback( |
+ base::debug::TraceLog::OutputCallback()); |
+ base::debug::TraceLog::GetInstance()->SetBufferFullCallback( |
+ base::debug::TraceLog::BufferFullCallback()); |
} |
bool ChildTraceMessageFilter::OnMessageReceived(const IPC::Message& message) { |
@@ -39,7 +46,7 @@ bool ChildTraceMessageFilter::OnMessageReceived(const IPC::Message& message) { |
} |
void ChildTraceMessageFilter::OnBeginTracing() { |
- gpu::TraceLog::GetInstance()->SetEnabled(true); |
+ base::debug::TraceLog::GetInstance()->SetEnabled(true); |
} |
void ChildTraceMessageFilter::OnEndTracing() { |
@@ -48,26 +55,29 @@ void ChildTraceMessageFilter::OnEndTracing() { |
// EndTracingAck below. |
// We are already on the IO thread, so it is guaranteed that |
// OnTraceDataCollected is not deferred. |
- gpu::TraceLog::GetInstance()->SetEnabled(false); |
+ base::debug::TraceLog::GetInstance()->SetEnabled(false); |
channel_->Send(new ChildProcessHostMsg_EndTracingAck); |
} |
void ChildTraceMessageFilter::OnGetTraceBufferPercentFull() { |
- float bpf = gpu::TraceLog::GetInstance()->GetBufferPercentFull(); |
+ float bpf = base::debug::TraceLog::GetInstance()->GetBufferPercentFull(); |
channel_->Send(new ChildProcessHostMsg_TraceBufferPercentFullReply(bpf)); |
} |
-void ChildTraceMessageFilter::OnTraceDataCollected(const std::string& data) { |
+void ChildTraceMessageFilter::OnTraceDataCollected( |
+ const scoped_refptr<base::debug::TraceLog::RefCountedString>& |
+ json_events_str_ptr) { |
if (MessageLoop::current() != ChildProcess::current()->io_message_loop()) { |
ChildProcess::current()->io_message_loop()->PostTask(FROM_HERE, |
NewRunnableMethod(this, &ChildTraceMessageFilter::OnTraceDataCollected, |
- data)); |
+ json_events_str_ptr)); |
return; |
} |
- channel_->Send(new ChildProcessHostMsg_TraceDataCollected(data)); |
+ channel_->Send(new ChildProcessHostMsg_TraceDataCollected( |
+ json_events_str_ptr->data)); |
} |
void ChildTraceMessageFilter::OnTraceBufferFull() { |