#include "components/performance_manager/browser_child_process_watcher.h"
#include <memory>
#include <utility>
#include <vector>
#include "base/check.h"
#include "base/containers/contains.h"
#include "base/functional/bind.h"
#include "base/memory/ptr_util.h"
#include "base/process/process.h"
#include "components/performance_manager/graph/process_node_impl.h"
#include "components/performance_manager/performance_manager_impl.h"
#include "components/performance_manager/public/render_process_host_proxy.h"
#include "content/public/browser/child_process_data.h"
#include "content/public/browser/child_process_termination_info.h"
#include "content/public/common/process_type.h"
namespace performance_manager {
BrowserChildProcessWatcher::BrowserChildProcessWatcher() = default;
BrowserChildProcessWatcher::~BrowserChildProcessWatcher() { … }
void BrowserChildProcessWatcher::Initialize() { … }
void BrowserChildProcessWatcher::TearDown() { … }
ProcessNodeImpl* BrowserChildProcessWatcher::GetChildProcessNode(
BrowserChildProcessHostId id) { … }
void BrowserChildProcessWatcher::CreateChildProcessNodeForTesting(
const content::ChildProcessData& data) { … }
void BrowserChildProcessWatcher::DeleteChildProcessNodeForTesting(
const content::ChildProcessData& data) { … }
void BrowserChildProcessWatcher::DeleteBrowserProcessNodeForTesting() { … }
void BrowserChildProcessWatcher::BrowserChildProcessLaunchedAndConnected(
const content::ChildProcessData& data) { … }
void BrowserChildProcessWatcher::BrowserChildProcessHostDisconnected(
const content::ChildProcessData& data) { … }
void BrowserChildProcessWatcher::BrowserChildProcessCrashed(
const content::ChildProcessData& data,
const content::ChildProcessTerminationInfo& info) { … }
void BrowserChildProcessWatcher::BrowserChildProcessKilled(
const content::ChildProcessData& data,
const content::ChildProcessTerminationInfo& info) { … }
void BrowserChildProcessWatcher::TrackedProcessExited(
BrowserChildProcessHostId id,
int exit_code) { … }
void BrowserChildProcessWatcher::OnProcessLaunched(
const base::Process& process,
const std::string& metrics_name,
ProcessNodeImpl* process_node) { … }
}