1// Copyright 2013 The Flutter Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#define FML_USED_ON_EMBEDDER
6
7#include "flutter/testing/thread_test.h"
8
9namespace flutter {
10namespace testing {
11namespace {
12
13fml::RefPtr<fml::TaskRunner> GetDefaultTaskRunner() {
14 fml::MessageLoop::EnsureInitializedForCurrentThread();
15 return fml::MessageLoop::GetCurrent().GetTaskRunner();
16}
17
18} // namespace
19
20ThreadTest::ThreadTest() : current_task_runner_(GetDefaultTaskRunner()) {}
21
22fml::RefPtr<fml::TaskRunner> ThreadTest::GetCurrentTaskRunner() {
23 return current_task_runner_;
24}
25
26fml::RefPtr<fml::TaskRunner> ThreadTest::CreateNewThread(std::string name) {
27 auto thread = std::make_unique<fml::Thread>(name);
28 auto runner = thread->GetTaskRunner();
29 extra_threads_.emplace_back(std::move(thread));
30 return runner;
31}
32
33} // namespace testing
34} // namespace flutter
35