Index: content/browser/tracing/trace_message_filter.cc |
diff --git a/content/browser/tracing/trace_message_filter.cc b/content/browser/tracing/trace_message_filter.cc |
index 223fbd6186c54a532fce89848816d21ee062aed8..2cb67f1cf083d5e8f5d808539c077c780ee16d98 100644 |
--- a/content/browser/tracing/trace_message_filter.cc |
+++ b/content/browser/tracing/trace_message_filter.cc |
@@ -51,6 +51,10 @@ bool TraceMessageFilter::OnMessageReceived(const IPC::Message& message) { |
OnWatchEventMatched) |
IPC_MESSAGE_HANDLER(TracingHostMsg_TraceLogStatusReply, |
OnTraceLogStatusReply) |
+ IPC_MESSAGE_HANDLER(TracingHostMsg_GlobalMemoryDumpRequest, |
+ OnGlobalMemoryDumpRequest) |
+ IPC_MESSAGE_HANDLER(TracingHostMsg_ProcessMemoryDumpResponse, |
+ OnProcessMemoryDumpResponse) |
IPC_MESSAGE_UNHANDLED(handled = false) |
IPC_END_MESSAGE_MAP() |
return handled; |
@@ -109,6 +113,18 @@ void TraceMessageFilter::SendCancelWatchEvent() { |
Send(new TracingMsg_CancelWatchEvent); |
} |
+// Called by TracingControllerImpl, which handles the multiprocess coordination. |
+void TraceMessageFilter::SendProcessMemoryDumpRequest( |
+ const base::trace_event::MemoryDumpRequestArgs& args) { |
+ Send(new TracingMsg_ProcessMemoryDumpRequest(args)); |
+} |
+ |
+// Called by TracingControllerImpl, which handles the multiprocess coordination. |
+void TraceMessageFilter::SendGlobalMemoryDumpResponse(uint64 dump_guid, |
+ bool success) { |
+ Send(new TracingMsg_GlobalMemoryDumpResponse(dump_guid, success)); |
+} |
+ |
void TraceMessageFilter::OnChildSupportsTracing() { |
has_child_ = true; |
TracingControllerImpl::GetInstance()->AddTraceMessageFilter(this); |
@@ -167,4 +183,17 @@ void TraceMessageFilter::OnTraceLogStatusReply( |
} |
} |
+void TraceMessageFilter::OnGlobalMemoryDumpRequest( |
+ const base::trace_event::MemoryDumpRequestArgs& args) { |
+ TracingControllerImpl::GetInstance()->RequestGlobalMemoryDump( |
+ args, base::Bind(&TraceMessageFilter::SendGlobalMemoryDumpResponse, |
+ make_scoped_refptr(this))); |
Sami
2015/03/31 14:54:36
I think make_scoped_refptr is redundant in a bind
Primiano Tucci (use gerrit)
2015/04/01 11:05:41
Oh, right. Absolutely.
|
+} |
+ |
+void TraceMessageFilter::OnProcessMemoryDumpResponse(uint64 dump_guid, |
+ bool success) { |
+ TracingControllerImpl::GetInstance()->OnProcessMemoryDumpResponse( |
+ this, dump_guid, success); |
+} |
+ |
} // namespace content |