| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "base/trace_event/memory_dump_session_state.h" | 5 #include "base/trace_event/memory_dump_session_state.h" |
| 6 | 6 |
| 7 #include "base/memory/ptr_util.h" |
| 8 #include "base/trace_event/heap_profiler_stack_frame_deduplicator.h" |
| 9 #include "base/trace_event/heap_profiler_string_deduplicator.h" |
| 10 #include "base/trace_event/heap_profiler_type_name_deduplicator.h" |
| 11 |
| 7 namespace base { | 12 namespace base { |
| 8 namespace trace_event { | 13 namespace trace_event { |
| 9 | 14 |
| 10 MemoryDumpSessionState::MemoryDumpSessionState() | 15 MemoryDumpSessionState::MemoryDumpSessionState() |
| 11 : heap_profiler_breakdown_threshold_bytes_(0) {} | 16 : heap_profiler_breakdown_threshold_bytes_(0) {} |
| 12 MemoryDumpSessionState::~MemoryDumpSessionState() {} | 17 MemoryDumpSessionState::~MemoryDumpSessionState() {} |
| 13 | 18 |
| 14 void MemoryDumpSessionState::SetStackFrameDeduplicator( | 19 void MemoryDumpSessionState::CreateDeduplicators() { |
| 15 std::unique_ptr<StackFrameDeduplicator> stack_frame_deduplicator) { | 20 string_deduplicator_ = base::MakeUnique<StringDeduplicator>(); |
| 16 DCHECK(!stack_frame_deduplicator_); | 21 stack_frame_deduplicator_ = |
| 17 stack_frame_deduplicator_ = std::move(stack_frame_deduplicator); | 22 base::MakeUnique<StackFrameDeduplicator>(string_deduplicator_.get()); |
| 18 } | 23 type_name_deduplicator_ = |
| 19 | 24 base::MakeUnique<TypeNameDeduplicator>(string_deduplicator_.get()); |
| 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 } |
| 25 | 26 |
| 26 void MemoryDumpSessionState::SetAllowedDumpModes( | 27 void MemoryDumpSessionState::SetAllowedDumpModes( |
| 27 std::set<MemoryDumpLevelOfDetail> allowed_dump_modes) { | 28 std::set<MemoryDumpLevelOfDetail> allowed_dump_modes) { |
| 28 allowed_dump_modes_ = allowed_dump_modes; | 29 allowed_dump_modes_ = allowed_dump_modes; |
| 29 } | 30 } |
| 30 | 31 |
| 31 bool MemoryDumpSessionState::IsDumpModeAllowed( | 32 bool MemoryDumpSessionState::IsDumpModeAllowed( |
| 32 MemoryDumpLevelOfDetail dump_mode) const { | 33 MemoryDumpLevelOfDetail dump_mode) const { |
| 33 return allowed_dump_modes_.count(dump_mode) != 0; | 34 return allowed_dump_modes_.count(dump_mode) != 0; |
| 34 } | 35 } |
| 35 | 36 |
| 36 } // namespace trace_event | 37 } // namespace trace_event |
| 37 } // namespace base | 38 } // namespace base |
| OLD | NEW |