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 a0e97d1b3c13c58ff3b1afbcd9d054d7f7cfd7b4..70089d96101dafd2f90e6fb321a4ca21167f5eb4 100644 |
--- a/content/browser/tracing/trace_message_filter.cc |
+++ b/content/browser/tracing/trace_message_filter.cc |
@@ -46,6 +46,10 @@ |
OnTraceDataCollected) |
IPC_MESSAGE_HANDLER(TracingHostMsg_TraceLogStatusReply, |
OnTraceLogStatusReply) |
+ IPC_MESSAGE_HANDLER(TracingHostMsg_GlobalMemoryDumpRequest, |
+ OnGlobalMemoryDumpRequest) |
+ IPC_MESSAGE_HANDLER(TracingHostMsg_ProcessMemoryDumpResponse, |
+ OnProcessMemoryDumpResponse) |
IPC_MESSAGE_HANDLER(TracingHostMsg_TriggerBackgroundTrace, |
OnTriggerBackgroundTrace) |
IPC_MESSAGE_HANDLER(TracingHostMsg_AbortBackgroundTrace, |
@@ -83,6 +87,18 @@ |
Send(new TracingMsg_GetTraceLogStatus); |
} |
+// 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_t dump_guid, |
+ bool success) { |
+ Send(new TracingMsg_GlobalMemoryDumpResponse(dump_guid, success)); |
+} |
+ |
void TraceMessageFilter::OnChildSupportsTracing() { |
has_child_ = true; |
TracingControllerImpl::GetInstance()->AddTraceMessageFilter(this); |
@@ -117,6 +133,19 @@ |
} |
} |
+void TraceMessageFilter::OnGlobalMemoryDumpRequest( |
+ const base::trace_event::MemoryDumpRequestArgs& args) { |
+ TracingControllerImpl::GetInstance()->RequestGlobalMemoryDump( |
+ args, |
+ base::Bind(&TraceMessageFilter::SendGlobalMemoryDumpResponse, this)); |
+} |
+ |
+void TraceMessageFilter::OnProcessMemoryDumpResponse(uint64_t dump_guid, |
+ bool success) { |
+ TracingControllerImpl::GetInstance()->OnProcessMemoryDumpResponse( |
+ this, dump_guid, success); |
+} |
+ |
void TraceMessageFilter::OnTriggerBackgroundTrace(const std::string& name) { |
BackgroundTracingManagerImpl::GetInstance()->OnHistogramTrigger(name); |
} |