* 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.
* Move all private config information from skia_config to skia_library_config. This was causing most skia specific defines to be applied to all targets that depended on Skia. These defines were only used by the Skia implementation. Makes the command line invocation for our sources smaller and less confusing.
* Removes defines not present in the current Skia sources.
* Dont add both directories containing SkUserConfig.h from ext and the Skia sources. Depending on the order in which the config directory was specified on the command line, the sources would use a different config.
In older versions of Skia, there were two files named SkFontMgr_fontconfig.cpp.
We want to use the one that contains SkFontMgr_FCI. That file was renamed
to SkFontMgr_FontConfigInterface.cpp
This caused the assert in https://github.com/flutter/flutter/issues/5694