Flutter Engine
Loading...
Searching...
No Matches
embedder_test.cc
Go to the documentation of this file.
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
#include "
flutter/shell/platform/embedder/tests/embedder_test.h
"
6
7
#include <exception>
8
#include <utility>
9
10
#include "
flutter/shell/platform/embedder/tests/embedder_test_context_software.h
"
11
12
namespace
flutter::testing
{
13
14
EmbedderTest::EmbedderTest
() =
default
;
15
16
std::string
EmbedderTest::GetFixturesDirectory
()
const
{
17
return
GetFixturesPath
();
18
}
19
20
EmbedderTestContext
&
EmbedderTest::GetSoftwareContext
() {
21
if
(!
software_context_
) {
22
software_context_
=
23
std::make_unique<EmbedderTestContextSoftware>(
GetFixturesDirectory
());
24
}
25
return
*
software_context_
.get();
26
}
27
28
#ifndef SHELL_ENABLE_GL
29
// Fallback implementation.
30
// See: flutter/shell/platform/embedder/tests/embedder_test_gl.cc.
31
EmbedderTestContext
&
EmbedderTest::GetGLContext
() {
32
FML_LOG
(FATAL) <<
"OpenGL is not supported in this build"
;
33
std::terminate();
34
}
35
#endif
36
37
#ifndef SHELL_ENABLE_METAL
38
// Fallback implementation.
39
// See: flutter/shell/platform/embedder/tests/embedder_test_metal.mm.
40
EmbedderTestContext
&
EmbedderTest::GetMetalContext
() {
41
FML_LOG
(FATAL) <<
"Metal is not supported in this build"
;
42
std::terminate();
43
}
44
#endif
45
46
#ifndef SHELL_ENABLE_VULKAN
47
// Fallback implementation.
48
// See: flutter/shell/platform/embedder/tests/embedder_test_vulkan.cc.
49
EmbedderTestContext
&
EmbedderTest::GetVulkanContext
() {
50
FML_LOG
(FATAL) <<
"Vulkan is not supported in this build"
;
51
std::terminate();
52
}
53
#endif
54
55
EmbedderTestContext
&
EmbedderTestMultiBackend::GetEmbedderContext
(
56
EmbedderTestContextType
type
) {
57
switch
(
type
) {
58
case
EmbedderTestContextType::kOpenGLContext
:
59
return
GetGLContext
();
60
case
EmbedderTestContextType::kMetalContext
:
61
return
GetMetalContext
();
62
case
EmbedderTestContextType::kSoftwareContext
:
63
return
GetSoftwareContext
();
64
case
EmbedderTestContextType::kVulkanContext
:
65
return
GetVulkanContext
();
66
}
67
}
68
69
}
// namespace flutter::testing
type
GLenum type
Definition
blit_command_gles.cc:153
flutter::testing::EmbedderTestContext
Definition
embedder_test_context.h:58
flutter::testing::EmbedderTest::software_context_
std::unique_ptr< EmbedderTestContext > software_context_
Definition
embedder_test.h:70
flutter::testing::EmbedderTest::EmbedderTest
EmbedderTest()
flutter::testing::EmbedderTest::GetFixturesDirectory
std::string GetFixturesDirectory() const
Definition
embedder_test.cc:16
flutter::testing::EmbedderTest::GetEmbedderContext
T & GetEmbedderContext()
Definition
embedder_test.h:31
flutter::testing::EmbedderTest::GetGLContext
EmbedderTestContext & GetGLContext()
Definition
embedder_test.cc:31
flutter::testing::EmbedderTest::GetMetalContext
EmbedderTestContext & GetMetalContext()
Definition
embedder_test.cc:40
flutter::testing::EmbedderTest::GetVulkanContext
EmbedderTestContext & GetVulkanContext()
Definition
embedder_test.cc:49
flutter::testing::EmbedderTest::GetSoftwareContext
EmbedderTestContext & GetSoftwareContext()
Definition
embedder_test.cc:20
embedder_test.h
embedder_test_context_software.h
FML_LOG
#define FML_LOG(severity)
Definition
logging.h:101
flutter::testing
Definition
native_assets_unittests.cc:10
flutter::testing::GetFixturesPath
const char * GetFixturesPath()
Returns the directory containing the test fixture for the target if this target has fixtures configur...
flutter::testing::EmbedderTestContextType
EmbedderTestContextType
Definition
embedder_test_context.h:51
flutter::testing::EmbedderTestContextType::kSoftwareContext
@ kSoftwareContext
flutter::testing::EmbedderTestContextType::kMetalContext
@ kMetalContext
flutter::testing::EmbedderTestContextType::kVulkanContext
@ kVulkanContext
flutter::testing::EmbedderTestContextType::kOpenGLContext
@ kOpenGLContext
shell
platform
embedder
tests
embedder_test.cc
Generated on Thu Nov 6 2025 16:11:27 for Flutter Engine by
1.9.8