chromium/components/performance_manager/resource_attribution/performance_manager_aliases.h

// Copyright 2024 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef COMPONENTS_PERFORMANCE_MANAGER_RESOURCE_ATTRIBUTION_PERFORMANCE_MANAGER_ALIASES_H_
#define COMPONENTS_PERFORMANCE_MANAGER_RESOURCE_ATTRIBUTION_PERFORMANCE_MANAGER_ALIASES_H_

#include "components/performance_manager/public/browser_child_process_host_id.h"
#include "components/performance_manager/public/render_process_host_id.h"

// This header imports performance_manager symbols that are commonly used in the
// resource attribution implementation into the resource_attribution namespace,
// for convenience. It should never be included in header files that can be
// included outside components/performance_manager/resource_attribution.

namespace performance_manager {

class FrameNode;
class FrameNodeImpl;
class Graph;
class GraphImpl;
class PageNode;
class PageNodeImpl;
class PerformanceManager;
class ProcessNode;
class ProcessNodeImpl;
class WorkerNode;
class WorkerNodeImpl;

}  // namespace performance_manager

namespace resource_attribution {

BrowserChildProcessHostId;
FrameNode;
FrameNodeImpl;
Graph;
GraphImpl;
PageNode;
PageNodeImpl;
PerformanceManager;
ProcessNode;
ProcessNodeImpl;
RenderProcessHostId;
WorkerNode;
WorkerNodeImpl;

}  // namespace resource_attribution

#endif  // COMPONENTS_PERFORMANCE_MANAGER_RESOURCE_ATTRIBUTION_PERFORMANCE_MANAGER_ALIASES_H_