chromium/ios/web/content/content_thread_impl.h

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

#ifndef IOS_WEB_CONTENT_CONTENT_THREAD_IMPL_H_
#define IOS_WEB_CONTENT_CONTENT_THREAD_IMPL_H_

#include "ios/web/public/thread/web_thread.h"

namespace web {

// ContentThreadImpl is an alternate backend for WebThread that uses a
// BrowserThreadImpl as its base.
class ContentThreadImpl : public WebThread {
 public:
  // WebThread static implementation:
  static scoped_refptr<base::SingleThreadTaskRunner> GetUIThreadTaskRunner(
      const WebTaskTraits& traits);
  static scoped_refptr<base::SingleThreadTaskRunner> GetIOThreadTaskRunner(
      const WebTaskTraits& traits);
  static bool IsThreadInitialized(ID identifier);
  static bool CurrentlyOn(ID identifier);
  static std::string GetCurrentlyOnErrorMessage(ID expected);
  static bool GetCurrentThreadIdentifier(ID* identifier);
};

}  // namespace web

#endif  // IOS_WEB_CONTENT_CONTENT_THREAD_IMPL_H_