Home | History | Annotate | Download | only in trace_event
      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