Index: components/tracing/child/child_memory_dump_manager_delegate_impl.h |
diff --git a/components/tracing/child/child_memory_dump_manager_delegate_impl.h b/components/tracing/child/child_memory_dump_manager_delegate_impl.h |
deleted file mode 100644 |
index fc27d96f279dc284ddcff403d2969832b26e3680..0000000000000000000000000000000000000000 |
--- a/components/tracing/child/child_memory_dump_manager_delegate_impl.h |
+++ /dev/null |
@@ -1,85 +0,0 @@ |
-// Copyright 2015 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#ifndef COMPONENTS_TRACING_CHILD_CHILD_MEMORY_DUMP_MANAGER_DELEGATE_IMPL_H_ |
-#define COMPONENTS_TRACING_CHILD_CHILD_MEMORY_DUMP_MANAGER_DELEGATE_IMPL_H_ |
- |
-#include "base/trace_event/memory_dump_manager.h" |
- |
-#include <stdint.h> |
- |
-#include "base/macros.h" |
-#include "base/memory/ref_counted.h" |
-#include "base/memory/singleton.h" |
-#include "base/synchronization/lock.h" |
-#include "components/tracing/tracing_export.h" |
- |
-namespace base { |
-class SingleThreadTaskRunner; |
-} // namespace base |
- |
-namespace tracing { |
- |
-class ChildTraceMessageFilter; |
- |
-// This class is a simple proxy class between the MemoryDumpManager and the |
-// ChildTraceMessageFilter. It's only purpose is to adapt the lifetime of |
-// CTMF to the demands of MDM, which expects the delegate to be thread-safe |
-// and long lived. CTMF, instead, can be torn down during browser shutdown. |
-// This class is registered as MDM delegate in child processes and handles |
-// gracefully (and thread-safely) failures in the case of a lack of the CTMF. |
-class TRACING_EXPORT ChildMemoryDumpManagerDelegateImpl |
- : public base::trace_event::MemoryDumpManagerDelegate { |
- public: |
- static ChildMemoryDumpManagerDelegateImpl* GetInstance(); |
- |
- // base::trace_event::MemoryDumpManagerDelegate implementation. |
- void RequestGlobalMemoryDump( |
- const base::trace_event::MemoryDumpRequestArgs& args, |
- const base::trace_event::MemoryDumpCallback& callback) override; |
- uint64_t GetTracingProcessId() const override; |
- |
- void SetChildTraceMessageFilter(ChildTraceMessageFilter* ctmf); |
- |
- // Pass kInvalidTracingProcessId to invalidate the id. |
- void set_tracing_process_id(uint64_t id) { |
- DCHECK(tracing_process_id_ == |
- base::trace_event::MemoryDumpManager::kInvalidTracingProcessId || |
- id == |
- base::trace_event::MemoryDumpManager::kInvalidTracingProcessId || |
- id == tracing_process_id_); |
- tracing_process_id_ = id; |
- } |
- |
- protected: |
- // Make CreateProcessDump() visible to ChildTraceMessageFilter. |
- friend class ChildTraceMessageFilter; |
- |
- private: |
- friend struct base::DefaultSingletonTraits< |
- ChildMemoryDumpManagerDelegateImpl>; |
- |
- ChildMemoryDumpManagerDelegateImpl(); |
- ~ChildMemoryDumpManagerDelegateImpl() override; |
- |
- ChildTraceMessageFilter* ctmf_; // Not owned. |
- |
- // The SingleThreadTaskRunner where the |ctmf_| lives. |
- // It is NULL iff |cmtf_| is NULL. |
- scoped_refptr<base::SingleThreadTaskRunner> ctmf_task_runner_; |
- |
- // Protects from concurrent access to |ctmf_task_runner_| to allow |
- // RequestGlobalMemoryDump to be called from arbitrary threads. |
- base::Lock lock_; |
- |
- // The unique id of the child process, created for tracing and is expected to |
- // be valid only when tracing is enabled. |
- uint64_t tracing_process_id_; |
- |
- DISALLOW_COPY_AND_ASSIGN(ChildMemoryDumpManagerDelegateImpl); |
-}; |
- |
-} // namespace tracing |
- |
-#endif // COMPONENTS_TRACING_CHILD_CHILD_MEMORY_DUMP_MANAGER_DELEGATE_IMPL_H_ |