`//flutter/testing` now contains a lot of utilities used by other test targets.
This includes stuff like working with render targets that use either OpenGL or
Metal, fixtures for interacting with the Dart VM, test assertion predicates,
etc.. However, these utilities themselves are not tested as part of a standalone
test suite. Instead, only the test targets that include it exercise these
utilities. Since these are no longer trivial, a new test target has been added
that tests the testing utilities directly.
Start work on flutter/flutter#30726 by adding an alternative win32 shell platform implementation for Windows that is not based on GLFW and that uses LIBANGLE for rendering and native win32 windowing and input. This change does not replace the GLFW implementation but rather runs side by side with it producing a secondary flutter_windows_win32.dll artifact. The following items must be added to attain parity with the GLFW implementation:
- Custom task scheduling
- Support for keyboard modifier keys
- Async texture uploads
- Correct high DPI handling on Windows versions < 1703
and will be added in subsequent changes.
* [fuchsia] Create command to gather fuchsia artifacts
- We will use this gathered artifacts to create the
directory tree that we will package to a far.
- Currently this is not used anywhere, we will use it
as such:
1. Build all the fuchsia artifacts
2. Gather the artifacts to a directory
3. Use `pm` to package up the directory into a far.
* reformat files
* commit chromium style
* [fuchsia] Use the directory format that fuchsia expects
* Farify the artifacts
* Create far archives and have tmp artifact dir
This converts the libtxt Paragraph and ParagraphBuilder classes into
interfaces with Minikin and SkShaper/SkParagraph based implementations.
Use the --enable-skshaper GN flag to select the Skia shaper implementation
at build time.
This is only available on Darwin & Linux host targets. On Android target builds, the logic amounted to says “Don’t build GLFW on Android targets”. Since GLFW on Android does not make sense and the target does not exist, GN was generating a warning.