| Index: services/resource_coordinator/public/cpp/memory/process_local_dump_manager_impl.h
|
| diff --git a/services/resource_coordinator/public/cpp/memory/memory_dump_manager_delegate_impl.h b/services/resource_coordinator/public/cpp/memory/process_local_dump_manager_impl.h
|
| similarity index 70%
|
| rename from services/resource_coordinator/public/cpp/memory/memory_dump_manager_delegate_impl.h
|
| rename to services/resource_coordinator/public/cpp/memory/process_local_dump_manager_impl.h
|
| index ccff7191f6cde6b194b17d058d22e4396b696166..ccbd48ace65559f5bfbe55e450f81987415b9480 100644
|
| --- a/services/resource_coordinator/public/cpp/memory/memory_dump_manager_delegate_impl.h
|
| +++ b/services/resource_coordinator/public/cpp/memory/process_local_dump_manager_impl.h
|
| @@ -2,8 +2,8 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| -#ifndef SERVICES_RESOURCE_COORDINATOR_PUBLIC_CPP_MEMORY_MEMORY_DUMP_MANAGER_DELEGATE_IMPL_H_
|
| -#define SERVICES_RESOURCE_COORDINATOR_PUBLIC_CPP_MEMORY_MEMORY_DUMP_MANAGER_DELEGATE_IMPL_H_
|
| +#ifndef SERVICES_RESOURCE_COORDINATOR_PUBLIC_CPP_PROCESS_LOCAL_DUMP_MANAGER_IMPL_H_
|
| +#define SERVICES_RESOURCE_COORDINATOR_PUBLIC_CPP_PROCESS_LOCAL_DUMP_MANAGER_IMPL_H_
|
|
|
| #include "base/single_thread_task_runner.h"
|
| #include "base/synchronization/lock.h"
|
| @@ -22,11 +22,9 @@ namespace memory_instrumentation {
|
| //
|
| // This cannot just be implemented by the Coordinator service, because there is
|
| // no Coordinator service in child processes. So, in a child process, the
|
| -// delegate remotely connects to the Coordinator service. In the browser
|
| -// process, the delegate locally connects to the Coordinator service.
|
| -class MemoryDumpManagerDelegateImpl
|
| - : public base::trace_event::MemoryDumpManagerDelegate,
|
| - public mojom::ProcessLocalDumpManager {
|
| +// local dump manager remotely connects to the Coordinator service. In the
|
| +// browser process, it locally connects to the Coordinator service.
|
| +class ProcessLocalDumpManagerImpl : public mojom::ProcessLocalDumpManager {
|
| public:
|
| class Config {
|
| public:
|
| @@ -52,22 +50,23 @@ class MemoryDumpManagerDelegateImpl
|
| bool is_test_config_;
|
| };
|
|
|
| - explicit MemoryDumpManagerDelegateImpl(const Config& config);
|
| - ~MemoryDumpManagerDelegateImpl() override;
|
| + static void InitializeInstance(const Config& config);
|
|
|
| - bool IsCoordinator() const override;
|
| -
|
| - // The base::trace_event::MemoryDumpManager calls this.
|
| + // Implements base::trace_event::MemoryDumpManager::RequestGlobalDumpCallback.
|
| + // NOTE: Use MemoryDumpManager::RequestGlobalDump() to request gobal dump.
|
| void RequestGlobalMemoryDump(
|
| const base::trace_event::MemoryDumpRequestArgs& args,
|
| - const base::trace_event::GlobalMemoryDumpCallback& callback) override;
|
| + const base::trace_event::GlobalMemoryDumpCallback& callback);
|
|
|
| Config config() { return config_; }
|
| void SetAsNonCoordinatorForTesting();
|
|
|
| private:
|
| - friend std::default_delete<MemoryDumpManagerDelegateImpl>; // For testing
|
| - friend class MemoryDumpManagerDelegateImplTest; // For testing
|
| + friend std::default_delete<ProcessLocalDumpManagerImpl>; // For testing
|
| + friend class ProcessLocalDumpManagerImplTest; // For testing
|
| +
|
| + ProcessLocalDumpManagerImpl(const Config& config);
|
| + ~ProcessLocalDumpManagerImpl() override;
|
|
|
| // The ProcessLocalDumpManager interface. The coordinator calls this.
|
| void RequestProcessMemoryDump(
|
| @@ -86,15 +85,11 @@ class MemoryDumpManagerDelegateImpl
|
| scoped_refptr<base::SingleThreadTaskRunner> task_runner_;
|
| uint64_t pending_memory_dump_guid_;
|
|
|
| - // Prevents racy access to |pending_memory_dump_guid_|.
|
| base::Lock pending_memory_dump_guid_lock_;
|
|
|
| - // Prevents racy access to |initialized_|.
|
| - base::Lock initialized_lock_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(MemoryDumpManagerDelegateImpl);
|
| + DISALLOW_COPY_AND_ASSIGN(ProcessLocalDumpManagerImpl);
|
| };
|
|
|
| } // namespace memory_instrumentation
|
|
|
| -#endif // SERVICES_RESOURCE_COORDINATOR_PUBLIC_CPP_MEMORY_MEMORY_DUMP_MANAGER_DELEGATE_IMPL_H_
|
| +#endif // SERVICES_RESOURCE_COORDINATOR_PUBLIC_CPP_PROCESS_LOCAL_DUMP_MANAGER_IMPL_H_
|
|
|