chromium/components/performance_manager/decorators/process_hosted_content_types_aggregator.h

// Copyright 2021 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_DECORATORS_PROCESS_HOSTED_CONTENT_TYPES_AGGREGATOR_H_
#define COMPONENTS_PERFORMANCE_MANAGER_DECORATORS_PROCESS_HOSTED_CONTENT_TYPES_AGGREGATOR_H_

#include "components/performance_manager/public/graph/frame_node.h"
#include "components/performance_manager/public/graph/graph.h"
#include "components/performance_manager/public/graph/page_node.h"
#include "components/performance_manager/public/graph/worker_node.h"

namespace performance_manager {

// Aggregates the type of content hosted inside a process and populates the
// |hosted_content_types()| property.
class ProcessHostedContentTypesAggregator
    : public GraphOwnedDefaultImpl,
      public PageNode::ObserverDefaultImpl,
      public FrameNode::ObserverDefaultImpl,
      public WorkerNode::ObserverDefaultImpl {};

}  // namespace performance_manager

#endif  // COMPONENTS_PERFORMANCE_MANAGER_DECORATORS_PROCESS_HOSTED_CONTENT_TYPES_AGGREGATOR_H_