chromium/components/viz/service/main/viz_compositor_thread_runner_impl.h

// Copyright 2018 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_VIZ_SERVICE_MAIN_VIZ_COMPOSITOR_THREAD_RUNNER_IMPL_H_
#define COMPONENTS_VIZ_SERVICE_MAIN_VIZ_COMPOSITOR_THREAD_RUNNER_IMPL_H_

#include <memory>

#include "base/memory/scoped_refptr.h"
#include "base/memory/weak_ptr.h"
#include "base/task/single_thread_task_runner.h"
#include "build/build_config.h"
#include "components/viz/service/main/viz_compositor_thread_runner.h"
#include "gpu/command_buffer/service/shared_context_state.h"

#if BUILDFLAG(IS_ANDROID)
#include "base/android/java_handler_thread.h"
#endif

namespace base {
class Thread;
class WaitableEvent;
}  // namespace base

namespace viz {
class FrameSinkManagerImpl;
class GmbVideoFramePoolContextProvider;
class HintSessionFactory;
class InProcessGpuMemoryBufferManager;
class OutputSurfaceProvider;
class ServerSharedBitmapManager;
class SharedImageInterfaceProvider;

#if BUILDFLAG(IS_ANDROID)
using VizCompositorThreadType = base::android::JavaHandlerThread;
#else
VizCompositorThreadType;
#endif

class VizCompositorThreadRunnerImpl : public VizCompositorThreadRunner {};

}  // namespace viz

#endif  // COMPONENTS_VIZ_SERVICE_MAIN_VIZ_COMPOSITOR_THREAD_RUNNER_IMPL_H_