#include "content/public/browser/browser_thread.h"
#include <memory>
#include "base/functional/bind.h"
#include "base/functional/callback.h"
#include "base/functional/callback_helpers.h"
#include "base/location.h"
#include "base/memory/raw_ptr.h"
#include "base/message_loop/message_pump.h"
#include "base/message_loop/message_pump_type.h"
#include "base/run_loop.h"
#include "base/task/current_thread.h"
#include "base/task/sequence_manager/sequence_manager.h"
#include "base/task/sequenced_task_runner.h"
#include "base/task/sequenced_task_runner_helpers.h"
#include "base/task/single_thread_task_runner.h"
#include "base/test/mock_callback.h"
#include "base/test/task_environment.h"
#include "base/time/time.h"
#include "build/build_config.h"
#include "content/browser/browser_process_io_thread.h"
#include "content/browser/browser_thread_impl.h"
#include "content/browser/scheduler/browser_io_thread_delegate.h"
#include "content/browser/scheduler/browser_task_executor.h"
#include "content/browser/scheduler/browser_task_priority.h"
#include "content/browser/scheduler/browser_ui_thread_scheduler.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "testing/platform_test.h"
namespace content {
namespace {
Invoke;
class SequenceManagerThreadDelegate : public base::Thread::Delegate { … };
}
class BrowserThreadTest : public testing::Test { … };
class UIThreadDestructionObserver
: public base::CurrentThread::DestructionObserver { … };
TEST_F(BrowserThreadTest, PostTask) { … }
TEST_F(BrowserThreadTest, Release) { … }
TEST_F(BrowserThreadTest, ReleasedOnCorrectThread) { … }
TEST_F(BrowserThreadTest, PostTaskViaTaskRunner) { … }
TEST_F(BrowserThreadTest, PostTaskViaSequencedTaskRunner) { … }
TEST_F(BrowserThreadTest, PostTaskViaSingleThreadTaskRunner) { … }
TEST_F(BrowserThreadTest, ReleaseViaTaskRunner) { … }
TEST_F(BrowserThreadTest, PostTaskAndReply) { … }
class BrowserThreadWithCustomSchedulerTest : public testing::Test { … };
TEST_F(BrowserThreadWithCustomSchedulerTest, PostBestEffortTask) { … }
}