Index: base/trace_event/memory_dump_manager.h |
diff --git a/base/trace_event/memory_dump_manager.h b/base/trace_event/memory_dump_manager.h |
index dfaf3a1fc9e0e16a226a5f833c50d648e4629fde..240524d0f4a5580d286bde204874f770d4f19a87 100644 |
--- a/base/trace_event/memory_dump_manager.h |
+++ b/base/trace_event/memory_dump_manager.h |
@@ -17,6 +17,10 @@ |
#include "base/trace_event/process_memory_dump.h" |
#include "base/trace_event/trace_event.h" |
+namespace content { |
+class MemoryTracingTest; |
Primiano Tucci (use gerrit)
2015/08/24 17:23:34
Hmm no, base should never know anything about cont
Ruud van Asseldonk
2015/08/25 09:51:17
I made |ignore_dumper_registrations_for_testing()|
|
+} |
+ |
namespace base { |
class SingleThreadTaskRunner; |
@@ -107,6 +111,7 @@ class BASE_EXPORT MemoryDumpManager : public TraceLog::EnabledStateObserver { |
friend struct DefaultSingletonTraits<MemoryDumpManager>; |
friend class MemoryDumpManagerDelegate; |
friend class MemoryDumpManagerTest; |
+ friend class content::MemoryTracingTest; |
FRIEND_TEST_ALL_PREFIXES(MemoryDumpManagerTest, DisableFailingDumpers); |
FRIEND_TEST_ALL_PREFIXES(MemoryDumpManagerTest, |
UnregisterDumperFromThreadWhileDumping); |
@@ -208,7 +213,7 @@ class BASE_EXPORT MemoryDumpManager : public TraceLog::EnabledStateObserver { |
// Protects from concurrent accesses to the |dump_providers_*| and |delegate_| |
// to guard against disabling logging while dumping on another thread. |
- Lock lock_; |
+ mutable Lock lock_; |
Primiano Tucci (use gerrit)
2015/08/24 17:23:34
See comment below, you don't need to use the lock
|
// Optimization to avoid attempting any memory dump (i.e. to not walk an empty |
// dump_providers_enabled_ list) when tracing is not enabled. |
@@ -224,8 +229,18 @@ class BASE_EXPORT MemoryDumpManager : public TraceLog::EnabledStateObserver { |
// Name of the allocated_objects dump. |
const char* system_allocator_pool_name_; |
- // Skips the auto-registration of the core dumpers during Initialize(). |
- bool skip_core_dumpers_auto_registration_for_testing_; |
+ // When true, calling RegisterMemoryDumpProvider is a no-op. |
+ bool ignore_registrations_for_testing_; |
Primiano Tucci (use gerrit)
2015/08/24 17:23:34
I'd name this (and the setter) ignore_dumper_regis
Ruud van Asseldonk
2015/08/25 09:51:17
Done.
|
+ |
+ bool ignore_registrations_for_testing() const { |
+ AutoLock lock(lock_); |
Primiano Tucci (use gerrit)
2015/08/24 17:23:34
If this was production code would have been fine.
Ruud van Asseldonk
2015/08/25 09:51:17
It is used in |MemoryDumpManagerTest::EnableTracin
|
+ return ignore_registrations_for_testing_; |
+ } |
+ |
+ void set_ignore_registrations_for_testing(bool ignore) { |
+ AutoLock lock(lock_); |
+ ignore_registrations_for_testing_ = ignore; |
+ } |
// When true, the initialization phase does not start the periodic memory |
// dumps. |