In a previous change I re-included the observatory assets in the Fuchsia build, but didn't notice this bit here.
After this, if Settings::enable_observatory can be set to true somehow, the Observatory will come up in Flutter apps on Fuchsia. Unfortunately, I'm not sure how to do that.
* Roll Dart SDK to ed00447138f95ea4ba612509a244ca8205735372
Make the VM happy with a spurious instruction snapshot.
* Revert "Snapshots: Don't use an empty array where a NULL array is expected. (#3361)"
This reverts commit c3c478ec699bba863bd422292277bb984f506d1a.
Broke iOS simulator builds; should no longer be necessary after rolling
the Dart SDK to ed00447138f95ea4ba612509a244ca8205735372.
On iOS simulator builds, we were seeing DartLookupSymbolInLibrary return
a pointer to a address of the snapshot data rather than the address of
the snapshot buffer itself. On simulator builds we don't build the
snapshot data into a buffer in app.dylib (kDartVmSnapshotData) but link
it statically into the engine itself.
* This allows the tests to add their own FLX files but still use consistent fonts.
* The test fonts are only embedded on the desktop test shells. The option is not available on mobile platforms.
* Right now, all fonts will resolve to the test font. If we want tests to be able to use the fonts they embed in FLX files but use the test font for platform fallbacks, we will need to add font selector fallbacks. I can do this in an another patch. So far, there are no users of this functionality.
The RenderView destructor does not delete its descendants.
RenderObject::destroy must be called to delete the object tree along with
other cleanup tasks.
Also associate a CustomFontData with dynamically loaded fonts in order to get
the desired FontDataCache behavior at RenderObject::destroy time.
After this patch, platform messages now take the same path through the system
that semantics data does (on Android). Support on iOS will be in another patch.
This patch prepares us to switch sending semantics information over mojom to
using dart:ui directly. Currently the recorded information is dropped on the
floor, but that will improve in future patches.
Rather than using mojom to encode pointer data, we now encode and decode it
manually. A future patch will remove the mojom codepath once the framework is
updated.
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.
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.
runtime/BUILD.gn and ..core/BUILD.gn use flutter_runtime_mode which
is defined in common.gni. If the build comes through common/BUILD.gn
this is imported (implicity) but builds that depend on specific
files, like the Fuchsia build, won't have this imported. This
imports the gni from the build files that use it instead of relying
on it already being there.