Skip to content

Commit d663ec6

Browse files
authored
Revert "Refactor ShellTest to allow for different ShellTestPlatformViews (flutter#15972)"
This reverts commit f6056d9.
1 parent 3ae70af commit d663ec6

11 files changed

+124
-219
lines changed

ci/licenses_golden/licenses_flutter

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -570,10 +570,6 @@ FILE: ../../../flutter/shell/common/shell_io_manager.cc
570570
FILE: ../../../flutter/shell/common/shell_io_manager.h
571571
FILE: ../../../flutter/shell/common/shell_test.cc
572572
FILE: ../../../flutter/shell/common/shell_test.h
573-
FILE: ../../../flutter/shell/common/shell_test_platform_view.cc
574-
FILE: ../../../flutter/shell/common/shell_test_platform_view.h
575-
FILE: ../../../flutter/shell/common/shell_test_platform_view_gl.cc
576-
FILE: ../../../flutter/shell/common/shell_test_platform_view_gl.h
577573
FILE: ../../../flutter/shell/common/shell_unittests.cc
578574
FILE: ../../../flutter/shell/common/skia_event_tracer_impl.cc
579575
FILE: ../../../flutter/shell/common/skia_event_tracer_impl.h

shell/common/BUILD.gn

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -166,10 +166,6 @@ if (current_toolchain == host_toolchain) {
166166
"pipeline_unittests.cc",
167167
"shell_test.cc",
168168
"shell_test.h",
169-
"shell_test_platform_view.cc",
170-
"shell_test_platform_view.h",
171-
"shell_test_platform_view_gl.cc",
172-
"shell_test_platform_view_gl.h",
173169
"shell_unittests.cc",
174170
"vsync_waiters_test.cc",
175171
"vsync_waiters_test.h",

shell/common/animator_unittests.cc

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010

1111
#include "flutter/shell/common/animator.h"
1212
#include "flutter/shell/common/shell_test.h"
13-
#include "flutter/shell/common/shell_test_platform_view.h"
1413
#include "flutter/testing/testing.h"
1514
#include "gtest/gtest.h"
1615

@@ -52,9 +51,9 @@ TEST_F(ShellTest, VSyncTargetTime) {
5251
shell = Shell::Create(
5352
task_runners, settings,
5453
[vsync_clock, &create_vsync_waiter](Shell& shell) {
55-
return ShellTestPlatformView::Create(shell, shell.GetTaskRunners(),
56-
vsync_clock,
57-
std::move(create_vsync_waiter));
54+
return std::make_unique<ShellTestPlatformView>(
55+
shell, shell.GetTaskRunners(), vsync_clock,
56+
std::move(create_vsync_waiter));
5857
},
5958
[](Shell& shell) {
6059
return std::make_unique<Rasterizer>(shell, shell.GetTaskRunners());

shell/common/shell_test.cc

Lines changed: 69 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@
55
#define FML_USED_ON_EMBEDDER
66

77
#include "flutter/shell/common/shell_test.h"
8-
#include "flutter/shell/common/shell_test_platform_view.h"
98

109
#include "flutter/flow/layers/layer_tree.h"
1110
#include "flutter/flow/layers/transform_layer.h"
1211
#include "flutter/fml/make_copyable.h"
1312
#include "flutter/fml/mapping.h"
1413
#include "flutter/runtime/dart_vm.h"
1514
#include "flutter/shell/common/vsync_waiter_fallback.h"
15+
#include "flutter/shell/gpu/gpu_surface_gl.h"
1616
#include "flutter/testing/testing.h"
1717

1818
namespace flutter {
@@ -272,9 +272,9 @@ std::unique_ptr<Shell> ShellTest::CreateShell(Settings settings,
272272
return Shell::Create(
273273
task_runners, settings,
274274
[vsync_clock, &create_vsync_waiter](Shell& shell) {
275-
return ShellTestPlatformView::Create(shell, shell.GetTaskRunners(),
276-
vsync_clock,
277-
std::move(create_vsync_waiter));
275+
return std::make_unique<ShellTestPlatformView>(
276+
shell, shell.GetTaskRunners(), vsync_clock,
277+
std::move(create_vsync_waiter));
278278
},
279279
[](Shell& shell) {
280280
return std::make_unique<Rasterizer>(shell, shell.GetTaskRunners());
@@ -301,5 +301,70 @@ void ShellTest::AddNativeCallback(std::string name,
301301
native_resolver_->AddNativeCallback(std::move(name), callback);
302302
}
303303

304+
ShellTestPlatformView::ShellTestPlatformView(
305+
PlatformView::Delegate& delegate,
306+
TaskRunners task_runners,
307+
std::shared_ptr<ShellTestVsyncClock> vsync_clock,
308+
CreateVsyncWaiter create_vsync_waiter)
309+
: PlatformView(delegate, std::move(task_runners)),
310+
gl_surface_(SkISize::Make(800, 600)),
311+
create_vsync_waiter_(std::move(create_vsync_waiter)),
312+
vsync_clock_(vsync_clock) {}
313+
314+
ShellTestPlatformView::~ShellTestPlatformView() = default;
315+
316+
std::unique_ptr<VsyncWaiter> ShellTestPlatformView::CreateVSyncWaiter() {
317+
return create_vsync_waiter_();
318+
}
319+
320+
void ShellTestPlatformView::SimulateVSync() {
321+
vsync_clock_->SimulateVSync();
322+
}
323+
324+
// |PlatformView|
325+
std::unique_ptr<Surface> ShellTestPlatformView::CreateRenderingSurface() {
326+
return std::make_unique<GPUSurfaceGL>(this, true);
327+
}
328+
329+
// |PlatformView|
330+
PointerDataDispatcherMaker ShellTestPlatformView::GetDispatcherMaker() {
331+
return [](DefaultPointerDataDispatcher::Delegate& delegate) {
332+
return std::make_unique<SmoothPointerDataDispatcher>(delegate);
333+
};
334+
}
335+
336+
// |GPUSurfaceGLDelegate|
337+
bool ShellTestPlatformView::GLContextMakeCurrent() {
338+
return gl_surface_.MakeCurrent();
339+
}
340+
341+
// |GPUSurfaceGLDelegate|
342+
bool ShellTestPlatformView::GLContextClearCurrent() {
343+
return gl_surface_.ClearCurrent();
344+
}
345+
346+
// |GPUSurfaceGLDelegate|
347+
bool ShellTestPlatformView::GLContextPresent() {
348+
return gl_surface_.Present();
349+
}
350+
351+
// |GPUSurfaceGLDelegate|
352+
intptr_t ShellTestPlatformView::GLContextFBO() const {
353+
return gl_surface_.GetFramebuffer();
354+
}
355+
356+
// |GPUSurfaceGLDelegate|
357+
GPUSurfaceGLDelegate::GLProcResolver ShellTestPlatformView::GetGLProcResolver()
358+
const {
359+
return [surface = &gl_surface_](const char* name) -> void* {
360+
return surface->GetProcAddress(name);
361+
};
362+
}
363+
364+
// |GPUSurfaceGLDelegate|
365+
ExternalViewEmbedder* ShellTestPlatformView::GetExternalViewEmbedder() {
366+
return nullptr;
367+
}
368+
304369
} // namespace testing
305370
} // namespace flutter

shell/common/shell_test.h

Lines changed: 50 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,15 @@
99

1010
#include "flutter/common/settings.h"
1111
#include "flutter/flow/layers/container_layer.h"
12-
#include "flutter/fml/build_config.h"
1312
#include "flutter/fml/macros.h"
1413
#include "flutter/lib/ui/window/platform_message.h"
1514
#include "flutter/shell/common/run_configuration.h"
1615
#include "flutter/shell/common/shell.h"
1716
#include "flutter/shell/common/thread_host.h"
1817
#include "flutter/shell/common/vsync_waiters_test.h"
18+
#include "flutter/shell/gpu/gpu_surface_gl_delegate.h"
1919
#include "flutter/testing/test_dart_native_resolver.h"
20+
#include "flutter/testing/test_gl_surface.h"
2021
#include "flutter/testing/thread_test.h"
2122

2223
namespace flutter {
@@ -88,6 +89,54 @@ class ShellTest : public ThreadTest {
8889
FML_DISALLOW_COPY_AND_ASSIGN(ShellTest);
8990
};
9091

92+
class ShellTestPlatformView : public PlatformView, public GPUSurfaceGLDelegate {
93+
public:
94+
ShellTestPlatformView(PlatformView::Delegate& delegate,
95+
TaskRunners task_runners,
96+
std::shared_ptr<ShellTestVsyncClock> vsync_clock,
97+
CreateVsyncWaiter create_vsync_waiter);
98+
99+
~ShellTestPlatformView() override;
100+
101+
void SimulateVSync();
102+
103+
private:
104+
TestGLSurface gl_surface_;
105+
106+
CreateVsyncWaiter create_vsync_waiter_;
107+
108+
std::shared_ptr<ShellTestVsyncClock> vsync_clock_;
109+
110+
// |PlatformView|
111+
std::unique_ptr<Surface> CreateRenderingSurface() override;
112+
113+
// |PlatformView|
114+
std::unique_ptr<VsyncWaiter> CreateVSyncWaiter() override;
115+
116+
// |PlatformView|
117+
PointerDataDispatcherMaker GetDispatcherMaker() override;
118+
119+
// |GPUSurfaceGLDelegate|
120+
bool GLContextMakeCurrent() override;
121+
122+
// |GPUSurfaceGLDelegate|
123+
bool GLContextClearCurrent() override;
124+
125+
// |GPUSurfaceGLDelegate|
126+
bool GLContextPresent() override;
127+
128+
// |GPUSurfaceGLDelegate|
129+
intptr_t GLContextFBO() const override;
130+
131+
// |GPUSurfaceGLDelegate|
132+
GLProcResolver GetGLProcResolver() const override;
133+
134+
// |GPUSurfaceGLDelegate|
135+
ExternalViewEmbedder* GetExternalViewEmbedder() override;
136+
137+
FML_DISALLOW_COPY_AND_ASSIGN(ShellTestPlatformView);
138+
};
139+
91140
} // namespace testing
92141
} // namespace flutter
93142

shell/common/shell_test_platform_view.cc

Lines changed: 0 additions & 21 deletions
This file was deleted.

shell/common/shell_test_platform_view.h

Lines changed: 0 additions & 35 deletions
This file was deleted.

shell/common/shell_test_platform_view_gl.cc

Lines changed: 0 additions & 77 deletions
This file was deleted.

0 commit comments

Comments
 (0)