* Namespaces have been updated to reflect the move from //flutter/sky/shell to //flutter/shell.
* shell/BUILD.gn file has been split into smaller GN files for each subcomponent of the shell (common, GPU, diagnostic, testing).
* GN dependencies have been rewritten to stop exposing common shell dependencies as public. Duplicates have also been removed.
* GPU subcomponent has been updated make it more suitable for Vulkan integration.
* The GLFW backend has been resurrected.
Originally, this was a step that had to be carried out manually. Presumably because we did not want developers to download the Android SDK and NDK if they were not targetting Android. In practice, this is rarely the case. Even the buildbots unconditionally run the script (though they don’t need Android artifacts on the Mac since there is no Mac to Android builder).
This adds a flutter_services package responsible for exposing the Dart
interfaces exported by the engine in a uniform fashion, regardless of
how and where the generated code for the interfaces are organized.
This patch makes three API changes:
* The dart:ui library now always communicates in physical pixels. The
framework is responsible for converting to whatever logical coordinate
system it wishes to use.
* The textBaselien property is now on TextStyle rather than ParagraphStyle,
which will let us choose which baseline to use on a per-span basis rather
than on a per-paragraph basis.
* This patch also removes the old MojoServices function endpoints.
Fixes https://github.com/flutter/flutter/issues/3779
Fixes https://github.com/flutter/flutter/issues/1360
* Added drawArc to Canvas.
Added a way to call SkCanvas::drawArc from Dart. This method is
optimized for the arc case and should be faster that drawing paths.
* Removed implementation details from docs.
* Added more details to the docs.
We used to be able to toggle observatory via a command line flag. But now, we enable or disable observatory based on the Flutter product mode.
This also allows us to fix an issue where the —non-interactive flags was being hijacked by the Dart initialization logic to enable or disable observatory. However this flag was orignally meant for the standalone runner to launch either to run tests or to run a full graphics enabled window on the desktop.
After this patch, Flutter apps on Fuchsia can access their asset
bundles. Unlike other platforms, the asset bundles are stored in memory
rather than in the file system.
This patch abstracts where the content of the zip file is stored.
Currently, zip files are stored in the file system, but in Fuchsia,
we're going to store them in memory (at least for the time being).
Rather than represent a zip file as a path in the file system, we
instead use an UnzipperProvider, which can create zip::UniqueUnzipper
objects on demand.