TEST(MainThreadTaskRunnerTest, PostTask) { RawPtr<NullExecutionContext> context = new NullExecutionContext(); RawPtr<MainThreadTaskRunner> runner = MainThreadTaskRunner::create(context.get()); bool isMarked = false; runner->postTask(BLINK_FROM_HERE, createSameThreadTask(&markBoolean, &isMarked)); EXPECT_FALSE(isMarked); blink::testing::runPendingTasks(); EXPECT_TRUE(isMarked); }
TEST(MainThreadTaskRunnerTest, RemoveRunner) { RawPtr<NullExecutionContext> context = new NullExecutionContext(); RawPtr<MainThreadTaskRunner> runner = MainThreadTaskRunner::create(context.get()); bool isMarked = false; context->setTasksNeedSuspension(true); runner->postTask(BLINK_FROM_HERE, createSameThreadTask(&markBoolean, &isMarked)); runner.clear(); blink::testing::runPendingTasks(); EXPECT_FALSE(isMarked); }
void LocalFileSystem::fileSystemNotAllowedInternal( RawPtr<ExecutionContext> context, CallbackWrapper* callbacks) { context->postTask(BLINK_FROM_HERE, createSameThreadTask(&reportFailure, callbacks->release(), FileError::ABORT_ERR)); }