* Use IGNORE_EINTR instead of HANDLE_EINTR when using the `close` syscall wrapper.
* Don't leak the file descriptor used to memory map Dart related artifacts.
Switch sdk_xcode_harness to use flutter build aot
This patch moves a bunch of complexity out of FlutterApplication.xcodeproj and
into `flutter build aot`, which will make it easier for developers to create
their own FlutterApplication.xcodeproj.
This patch:
- makes dart traces (coming from the VM and the timeline API)
available to mojo:tracing
- adds --vm-complete-timeline parameter, which makes the Dart VM enable all
categories of timeline traces from the beginning, allowing to do startup
tracing
This is based on the equivalent support in dart content handler.
Fixes https://github.com/flutter/flutter/issues/3162.
Previously the AOT snapshot was packaged as a dynamic library (similar to the
scheme used on iOS). This change eliminates the need for a native code
toolchain when building for AOT.
This include build system changes for selecting Dart's precompiler mode
plus a way to locate and load the precompiled snapshot library from an
Android application
Dart invokes Start/StopTracing callbacks within the _setVMTimelineFlags service
method whenever the embedder timeline stream toggles on or off. Flutter's
implementation of these callbacks was modifying the set of enabled streams,
which could override the intended behavior of _setVMTimelineFlags.
Start/StopTracing will now only control Flutter's embedder-specific log.
Also needed to change the Flutter engine's --trace-startup flag to set the
corresponding timeline stream flag on the Dart VM.
This solves two problems:
* UIDartState was being deleted during destruction of DartController after the
isolate had been shut down. The UIDartState held persistent handles to Dart
objects, and deleting them when the isolate no longer exists caused an
assertion failure.
* DartStates created for secondary isolates were never being deleted
Fixes https://github.com/flutter/flutter/issues/2549
Dart_IsolateMakeRunnable was returning false, which can indicate that the
isolate was already running. This patch seems harmless, but I'll follow up to
understand more about what's happening here.
Fixes#2383
The FLX will contain a font manifest JSON file that maps font family names
to custom font assets. Flutter will provide a FontSelector that loads
fonts on demand and caches typeface and style data.