| // Copyright 2013 The Flutter Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #define FML_USED_ON_EMBEDDER |
| |
| #include "flutter/testing/thread_test.h" |
| |
| namespace flutter { |
| namespace testing { |
| namespace { |
| |
| fml::RefPtr<fml::TaskRunner> GetDefaultTaskRunner() { |
| fml::MessageLoop::EnsureInitializedForCurrentThread(); |
| return fml::MessageLoop::GetCurrent().GetTaskRunner(); |
| } |
| |
| } // namespace |
| |
| ThreadTest::ThreadTest() : current_task_runner_(GetDefaultTaskRunner()) {} |
| |
| fml::RefPtr<fml::TaskRunner> ThreadTest::GetCurrentTaskRunner() { |
| return current_task_runner_; |
| } |
| |
| fml::RefPtr<fml::TaskRunner> ThreadTest::CreateNewThread(std::string name) { |
| auto thread = std::make_unique<fml::Thread>(name); |
| auto runner = thread->GetTaskRunner(); |
| extra_threads_.emplace_back(std::move(thread)); |
| return runner; |
| } |
| |
| } // namespace testing |
| } // namespace flutter |