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 |