chromium/third_party/blink/renderer/platform/scheduler/public/non_main_thread.h

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

#ifndef THIRD_PARTY_BLINK_RENDERER_PLATFORM_SCHEDULER_PUBLIC_NON_MAIN_THREAD_H_
#define THIRD_PARTY_BLINK_RENDERER_PLATFORM_SCHEDULER_PUBLIC_NON_MAIN_THREAD_H_

#include "base/task/single_thread_task_runner.h"
#include "third_party/blink/renderer/platform/scheduler/public/thread.h"

namespace blink {

// The interface of a non-main thread in Blink.
//
// This class will have an unrestricted GetTaskRunner method, anyone can use
// it. For main thread a frame based task runner should likely be used,
// so `Thread::GetTaskRunner` will eventually be removed or restricted via a
// pass key.
//
class PLATFORM_EXPORT NonMainThread : public Thread {};

}  // namespace blink

#endif  // THIRD_PARTY_BLINK_RENDERER_PLATFORM_SCHEDULER_PUBLIC_NON_MAIN_THREAD_H_