1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "content/browser/renderer_host/memory_benchmark_message_filter.h" 6 7 #include "content/common/memory_benchmark_messages.h" 8 9 #if defined(USE_TCMALLOC) && (defined(OS_LINUX) || defined(OS_ANDROID)) 10 11 #include "third_party/tcmalloc/chromium/src/gperftools/heap-profiler.h" 12 13 namespace content { 14 MemoryBenchmarkMessageFilter()15MemoryBenchmarkMessageFilter::MemoryBenchmarkMessageFilter() 16 : BrowserMessageFilter(MemoryBenchmarkMsgStart) { 17 } 18 OnMessageReceived(const IPC::Message & message)19bool MemoryBenchmarkMessageFilter::OnMessageReceived( 20 const IPC::Message& message) { 21 bool handled = true; 22 IPC_BEGIN_MESSAGE_MAP(MemoryBenchmarkMessageFilter, message) 23 IPC_MESSAGE_HANDLER(MemoryBenchmarkHostMsg_HeapProfilerDump, 24 OnHeapProfilerDump) 25 IPC_MESSAGE_UNHANDLED(handled = false) 26 IPC_END_MESSAGE_MAP() 27 return handled; 28 } 29 ~MemoryBenchmarkMessageFilter()30MemoryBenchmarkMessageFilter::~MemoryBenchmarkMessageFilter() { 31 } 32 OnHeapProfilerDump(const std::string & reason)33void MemoryBenchmarkMessageFilter::OnHeapProfilerDump( 34 const std::string& reason) { 35 ::HeapProfilerDump(reason.c_str()); 36 } 37 38 } // namespace content 39 40 #endif // defined(USE_TCMALLOC) && (defined(OS_LINUX) || defined(OS_ANDROID)) 41