This moves the Metal `GrContext` creation utilities from `GPUSurfaceMetal` into
a separate `IOSContext` object subclass. An analogue of this object was used in
the GL regime for the management of onscreen and offscreen contexts that were
not tied to the lifecycle of the `GPUSurface`. This pattern has now been
generalized for use with all backends that need a resource context
(`IOSContextGL` and `IOContextMetal`).
The platform views controller management in the `ExternalViewEmbedder` interface
implementation was repeated three times for [Metal][metal], [OpenGL](opengl) and
[Software](software) rendering. This repetition has been removed and a single
implementation present in the base `IOSSurface` and used on all platforms.
Addition of new client rendering APIs should not affect how the engine renders
into the platform view interleaving levels.
All rendering API selection logic has been moved into a single set of utilities
in `rendering_api_selection.h`. This enables the removal of a lot of code blocks
guarded by `FLUTTER_SHELL_ENABLE_METAL`. The remaining uses of this will be
removed when unified builds are enabled.
The Metal backend now also adds traces similar to the GL backend.
The `IOGLContext` has been renamed to `IOContextGL` to be more in line with the
convention used in this library.
Fixes https://github.com/flutter/flutter/issues/41827
Adds https://github.com/flutter/flutter/issues/52150
[metal]: 1194ba2b21/shell/platform/darwin/ios/ios_surface_metal.mm (L55)
[opengl]: 1194ba2b21/shell/platform/darwin/ios/ios_surface_gl.mm (L95)
[software]: 1194ba2b21/shell/platform/darwin/ios/ios_surface_software.mm (L146)
This reverts 619acd58ca55b2a85cf70d0f7861e3c98058972d and re-lands 6cfa7fcad64e2fe70bca01cfbc4598ecd24613b1. The 6cfa7fcad64e2fe70bca01cfbc4598ecd24613b1 was good. The screenshot changes were expected.
Fixes https://github.com/flutter/flutter/issues/32215
Broke golden file tests in the framework. Reverting to unblock the
engine roll to the framework.
This reverts commit 6cfa7fcad64e2fe70bca01cfbc4598ecd24613b1.
We believe this may be implicated in a Windows-specific crash during the
Flutter Gallery integration test.
See:
https://github.com/flutter/flutter/issues/51896
This reverts commit f9b78c5db2bc3087e1793947b11ca643c2d747cf.
* Safari font collection tests skip failing methods
* add a clear to the semantics test to make sure no DOM elements are leaking to the other tests
* fix semantics_helper_test. skip for semantics_test. teardown didn't work
* skip test, the skipped method run for 8 minutes according to the logs
* history tests methods runs multiple times. only run them on linux for now. they were also already failing in edge/windows
* making edge default test browser on windows. adding some skips (not all) for methods failing on edge
* skip failing tests. make egde default for testing
* skip one more test
* addressing reviewer comments. removing extra bat file