1 // Copyright 2015 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 "base/trace_event/memory_dump_session_state.h" 6 7 namespace base { 8 namespace trace_event { 9 10 MemoryDumpSessionState::MemoryDumpSessionState() 11 : heap_profiler_breakdown_threshold_bytes_(0) {} 12 MemoryDumpSessionState::~MemoryDumpSessionState() {} 13 14 void MemoryDumpSessionState::SetStackFrameDeduplicator( 15 std::unique_ptr<StackFrameDeduplicator> stack_frame_deduplicator) { 16 DCHECK(!stack_frame_deduplicator_); 17 stack_frame_deduplicator_ = std::move(stack_frame_deduplicator); 18 } 19 20 void MemoryDumpSessionState::SetTypeNameDeduplicator( 21 std::unique_ptr<TypeNameDeduplicator> type_name_deduplicator) { 22 DCHECK(!type_name_deduplicator_); 23 type_name_deduplicator_ = std::move(type_name_deduplicator); 24 } 25 26 void MemoryDumpSessionState::SetAllowedDumpModes( 27 std::set<MemoryDumpLevelOfDetail> allowed_dump_modes) { 28 allowed_dump_modes_ = allowed_dump_modes; 29 } 30 31 bool MemoryDumpSessionState::IsDumpModeAllowed( 32 MemoryDumpLevelOfDetail dump_mode) const { 33 return allowed_dump_modes_.count(dump_mode) != 0; 34 } 35 36 } // namespace trace_event 37 } // namespace base 38