| Index: services/resource_coordinator/public/cpp/memory/process_local_dump_manager_impl.h
|
| diff --git a/services/resource_coordinator/public/cpp/memory/process_local_dump_manager_impl.h b/services/resource_coordinator/public/cpp/memory/process_local_dump_manager_impl.h
|
| deleted file mode 100644
|
| index 5ee725ed0804a64f10dcd73928718f421aa4321f..0000000000000000000000000000000000000000
|
| --- a/services/resource_coordinator/public/cpp/memory/process_local_dump_manager_impl.h
|
| +++ /dev/null
|
| @@ -1,114 +0,0 @@
|
| -// Copyright 2017 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 SERVICES_RESOURCE_COORDINATOR_PUBLIC_CPP_MEMORY_PROCESS_LOCAL_DUMP_MANAGER_IMPL_H_
|
| -#define SERVICES_RESOURCE_COORDINATOR_PUBLIC_CPP_MEMORY_PROCESS_LOCAL_DUMP_MANAGER_IMPL_H_
|
| -
|
| -#include "base/compiler_specific.h"
|
| -#include "base/single_thread_task_runner.h"
|
| -#include "base/synchronization/lock.h"
|
| -#include "base/trace_event/memory_dump_manager.h"
|
| -#include "base/trace_event/memory_dump_request_args.h"
|
| -#include "mojo/public/cpp/bindings/binding.h"
|
| -#include "services/resource_coordinator/public/cpp/memory/coordinator.h"
|
| -#include "services/resource_coordinator/public/cpp/resource_coordinator_export.h"
|
| -#include "services/resource_coordinator/public/interfaces/memory/memory_instrumentation.mojom.h"
|
| -#include "services/service_manager/public/cpp/connector.h"
|
| -
|
| -namespace memory_instrumentation {
|
| -
|
| -// This is the bridge between MemoryDumpManager and the Coordinator service.
|
| -// This indirection is needed to avoid a dependency from //base, where
|
| -// MemoryDumpManager lives, to //services, where the Coordinator service lives.
|
| -//
|
| -// This cannot just be implemented by the Coordinator service, because there is
|
| -// no Coordinator service in child processes. So, in a child process, the
|
| -// local dump manager remotely connects to the Coordinator service. In the
|
| -// browser process, it locally connects to the Coordinator service.
|
| -class SERVICES_RESOURCE_COORDINATOR_PUBLIC_CPP_EXPORT
|
| - ProcessLocalDumpManagerImpl
|
| - : public NON_EXPORTED_BASE(mojom::ProcessLocalDumpManager) {
|
| - public:
|
| - class SERVICES_RESOURCE_COORDINATOR_PUBLIC_CPP_EXPORT Config {
|
| - public:
|
| - Config(service_manager::Connector* connector,
|
| - const std::string& service_name,
|
| - mojom::ProcessType process_type)
|
| - : connector_(connector),
|
| - service_name_(service_name),
|
| - process_type_(process_type),
|
| - coordinator_(nullptr) {}
|
| - Config(Coordinator* coordinator, mojom::ProcessType process_type)
|
| - : connector_(nullptr),
|
| - process_type_(process_type),
|
| - coordinator_(coordinator) {}
|
| - ~Config();
|
| -
|
| - service_manager::Connector* connector() const { return connector_; }
|
| -
|
| - const std::string& service_name() const { return service_name_; }
|
| -
|
| - mojom::ProcessType process_type() const { return process_type_; }
|
| -
|
| - Coordinator* coordinator() const { return coordinator_; }
|
| -
|
| - private:
|
| - service_manager::Connector* connector_;
|
| - const std::string service_name_;
|
| - const mojom::ProcessType process_type_;
|
| - Coordinator* coordinator_;
|
| - bool is_test_config_;
|
| - };
|
| -
|
| - static void CreateInstance(const Config& config);
|
| -
|
| - // 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);
|
| -
|
| - Config config() { return config_; }
|
| - void SetAsNonCoordinatorForTesting();
|
| -
|
| - private:
|
| - 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(
|
| - const base::trace_event::MemoryDumpRequestArgs& args,
|
| - const RequestProcessMemoryDumpCallback& callback) override;
|
| -
|
| - // Callback passed to base::MemoryDUmpManager::CreateProcessDump().
|
| - void OnProcessMemoryDumpDone(
|
| - const RequestProcessMemoryDumpCallback&,
|
| - uint64_t dump_guid,
|
| - bool success,
|
| - const base::Optional<base::trace_event::MemoryDumpCallbackResult>&);
|
| -
|
| - // A proxy callback for updating |pending_memory_dump_guid_|.
|
| - void MemoryDumpCallbackProxy(
|
| - const base::trace_event::GlobalMemoryDumpCallback& callback,
|
| - uint64_t dump_guid,
|
| - bool success,
|
| - mojom::GlobalMemoryDumpPtr global_memory_dump);
|
| -
|
| - mojom::CoordinatorPtr coordinator_;
|
| - mojo::Binding<mojom::ProcessLocalDumpManager> binding_;
|
| - const Config config_;
|
| - scoped_refptr<base::SingleThreadTaskRunner> task_runner_;
|
| - uint64_t pending_memory_dump_guid_;
|
| -
|
| - base::Lock pending_memory_dump_guid_lock_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(ProcessLocalDumpManagerImpl);
|
| -};
|
| -
|
| -} // namespace memory_instrumentation
|
| -
|
| -#endif // SERVICES_RESOURCE_COORDINATOR_PUBLIC_CPP_MEMORY_PROCESS_LOCAL_DUMP_MANAGER_IMPL_H_
|
|
|