// 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_MAIN_THREAD_H_ #define THIRD_PARTY_BLINK_RENDERER_PLATFORM_SCHEDULER_PUBLIC_MAIN_THREAD_H_ #include "base/task/single_thread_task_runner.h" #include "third_party/blink/renderer/platform/scheduler/public/thread.h" namespace blink { // This class restricts access to the `GetTaskRunner`. Only authorized callees // are allowed. Before you add a restriction consider using a frame or worker // based API instead. class MainThreadTaskRunnerRestricted { … }; class MainThreadTaskRunnerRestrictedForTesting : public MainThreadTaskRunnerRestricted { … }; // The interface of a main thread in Blink. // // This class will has a restricted GetTaskRunner method. // class PLATFORM_EXPORT MainThread : public Thread { … }; } // namespace blink #endif // THIRD_PARTY_BLINK_RENDERER_PLATFORM_SCHEDULER_PUBLIC_MAIN_THREAD_H_