Previously, using Platform.executable (from dart:io) returned null (if
non-null-by-default was disabled) or threw an exception (if NNBD was
enabled) since we weren't setting it.
We now pass the executable name to Dart during VM startup based on the
first value in the FlutterProjectArgs::command_line_argv array passed to
FlutterEngineRun (or FlutterEngineInitialize) on startup. argv[0] (if
specified) is explicitly documented as being required to be the
executable name in embedder.h. In the case where no argv[0] is
specified, we instead set Platform.executable to "Flutter" in order to
avoid violating the (non-nullable) type annotation on
Platform.executable.
Note that dart::bin::SetExecutableName() does NOT make a copy of the
input string, so that value needs to be available for the entire lifetime
of the VM.
This also adds EmbedderConfigBuilder::SetExecutableName() to support
setting a fake executable name in unittests. By default, we continue to
set the name "embedder_unittest" unless overridden using this method.
See: https://api.flutter.dev/flutter/dart-io/Platform/executable.html
See: https://github.com/dart-lang/sdk/issues/48427
Issue: https://github.com/flutter/flutter/issues/83921
Specifying the `--enable-impeller` flag will switch the renderer to using
Impeller instead of Skia. On platforms where Impeller is not supported, this
flag is ignored.
The notion of the `flutter::SurfaceFrame` has been augmented. Now, in the
absence of a Skia surface to render to, the surface frame will render into a
display list instead.
Impeller variants of the context and surface variants have been added to
`shell/gpu` and `shell/platform`. The variants prepare surface frames that
don’t/can’t specify a Skia surface thus forcing the surface frame to render to a
display list instead. Then, in the submit callback, they forward the display
list ops to the Impeller display list dispatcher.
This scheme has been chosen as it requires the fewest updates to engine
internals which all depend on Skia data structures. Instead of updating all
call-sites to be Skia neutral, the display list interface itself is being made
graphics package agnostic.
* Generate fonts in the expected location.
Fonts-subset is generated directly in out/../zip_archives but the final
destination is expected to be inside a folder like linux-x64. This PR
generates the file directly in the expected path.
Bug: https://github.com/flutter/flutter/issues/81855
* Fix font zip tests.
* Revert changes to run_tests.py
* Update host_os_cpu_name variable to report darwin for mac.
* Fix variable names.
* Calculate prebuilts path using mac instead of darwin.
* Add platform to fontset path.
* Fix platforms map.
* Add debugging.
* Add win32 to the map of artifact locations.
* Use full_platform_name instead of host_os_name.
* Use x32 for windows font binaries.
* Fix paths for debug version in windows.
* Use x64 for win32.
* Remove additional logging.
* Add linux2 to map of platforms.
* Roll Dart SDK from e256855d07ba to a3b62f366529 (4 revisions) (#21809)
* Roll Dart SDK from e655b9a3839e to b58cfe5ab24e (1 revision) (#21920)
* Roll Dart SDK from fc82eeed7df3 to 8be6a08153cc (1 revision) (#22005)
* Roll Dart SDK from fe12b0536f42 to a188781c9fc8 (1 revision) (#22379)
* Roll Skia from 95b5fb9213d7 to 68ac3b9ec3ca (17 revisions) (#22713)
* Roll Dart SDK from 2c74e62a050c to f9760fc12871 (5 revisions) (#22881)
* Roll Dart SDK from 68d1c7504f7d to f166571c7bc4 (1 revision) (#23056)
* Roll Dart SDK from 970d74c42472 to fd72dbb5b82b (1 revision) (#23820)
* Trigger an engine build to re-open the tree (#26056)
This commit is empty and simply triggers a new build to open the tree.
Commit e9ca785106ddc672d945062758800bdf1dd0aa68 was re-built after a
succesful build; upload to the cloud storage bin failed.
* Roll Skia from d9a7c5953df3 to 827bb729a84d (2 revisions) (#26096)
* Roll Dart SDK from d616108772bd to a527411e5100 (0 revision) (#26156)
* Roll Dart SDK from bb9d96ffbafa to 7250fd6379b2 (0 revision) (#26374)
* Roll Dart SDK from 202c42e3395c to 2e9c4305a6aa (1 revision) (#26578)
* Roll buildroot to 275038b8be7196927b0f71770701f3c2c3744860 (#26945)
* [test] empty commit (#27599)
https://flutter-review.googlesource.com/c/infra/+/15660
* Roll Dart SDK from e1414001c93b to 686070850ee3 (1 revision) (#27620)
* Empty commit to apply latest LUCI config (#27767)
* Roll Dart SDK from 3b11f88c96a5 to 976f160b547f (3 revisions) (#29436)
* Empty commit to fix main tree status (#29760)
* Add option to enable serial GC
This option can be used to avoid thread contention issues for the UI thread when running on low power devices with limited number of cores.
* Fix format.
* Added test.
* Add build rule.
* Address review comments.
Co-authored-by: skia-flutter-autoroll <skia-flutter-autoroll@skia.org>
Co-authored-by: Chris Bracken <chris@bracken.jp>
Co-authored-by: Casey Hillers <chillers@google.com>