Chromium Code Reviews| Index: base/trace_event/memory_tracing_observer.cc |
| diff --git a/base/trace_event/memory_tracing_observer.cc b/base/trace_event/memory_tracing_observer.cc |
| index a5b60e48fd7e0dc0565165346024ac102644556c..78c282b6828d0556d6a644fe458d8a3672a55427 100644 |
| --- a/base/trace_event/memory_tracing_observer.cc |
| +++ b/base/trace_event/memory_tracing_observer.cc |
| @@ -4,6 +4,7 @@ |
| #include "base/trace_event/memory_tracing_observer.h" |
| +#include "base/memory/ptr_util.h" |
| #include "base/trace_event/memory_dump_manager.h" |
| #include "base/trace_event/trace_event_argument.h" |
| @@ -56,11 +57,15 @@ void MemoryTracingObserver::OnTraceLogEnabled() { |
| const TraceConfig::MemoryDumpConfig& memory_dump_config = |
| trace_config.memory_dump_config(); |
| + memory_dump_config_ = |
| + MakeUnique<TraceConfig::MemoryDumpConfig>(memory_dump_config); |
| + |
| memory_dump_manager_->Enable(memory_dump_config); |
| } |
| void MemoryTracingObserver::OnTraceLogDisabled() { |
| memory_dump_manager_->Disable(); |
| + memory_dump_config_ = nullptr; |
|
Primiano Tucci (use gerrit)
2017/05/05 13:38:25
.reset()? I thought you can't do this with unique_
hjd
2017/05/05 14:50:53
Done.
|
| } |
| bool MemoryTracingObserver::AddDumpToTraceIfEnabled( |
| @@ -71,6 +76,10 @@ bool MemoryTracingObserver::AddDumpToTraceIfEnabled( |
| // dump then ignoring the result. |
| if (!IsMemoryInfraTracingEnabled()) |
| return false; |
| + // If the dump mode is too detailed don't add to trace to avoid accidentally |
| + // including PII. |
| + if (!IsDumpModeAllowed(req_args->level_of_detail)) |
| + return false; |
| CHECK_NE(MemoryDumpType::SUMMARY_ONLY, req_args->dump_type); |
| @@ -94,5 +103,12 @@ bool MemoryTracingObserver::AddDumpToTraceIfEnabled( |
| return true; |
| } |
| +bool MemoryTracingObserver::IsDumpModeAllowed( |
| + MemoryDumpLevelOfDetail dump_mode) const { |
| + if (memory_dump_config_ == nullptr) |
|
Primiano Tucci (use gerrit)
2017/05/05 13:38:25
use the bool operator, i.e. if (!memory_dump_confi
hjd
2017/05/05 14:50:53
Done. I love that we use a static typed language w
|
| + return false; |
| + return memory_dump_config_->allowed_dump_modes.count(dump_mode) != 0; |
| +} |
| + |
| } // namespace trace_event |
| } // namespace base |