chromium/components/performance_manager/execution_context/execution_context_impl.h

// Copyright 2020 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_EXECUTION_CONTEXT_EXECUTION_CONTEXT_IMPL_H_
#define COMPONENTS_PERFORMANCE_MANAGER_EXECUTION_CONTEXT_EXECUTION_CONTEXT_IMPL_H_

#include "base/memory/raw_ptr.h"
#include "base/sequence_checker.h"
#include "components/performance_manager/graph/node_inline_data.h"
#include "components/performance_manager/public/execution_context/execution_context.h"

namespace performance_manager {

class FrameNode;
class WorkerNode;

namespace execution_context {

// An ExecutionContext implementation that wraps a FrameNodeImpl.
class FrameExecutionContext : public ExecutionContext,
                              public NodeInlineData<FrameExecutionContext> {};

// An ExecutionContext implementation that wraps a WorkerNodeImpl.
class WorkerExecutionContext : public ExecutionContext,
                               public NodeInlineData<WorkerExecutionContext> {};

}  // namespace execution_context
}  // namespace performance_manager

#endif  // COMPONENTS_PERFORMANCE_MANAGER_EXECUTION_CONTEXT_EXECUTION_CONTEXT_IMPL_H_