* Add config properties to specify snapshot blob file names.
This adds the ability of the shell to override the default
dart aot snapshot blob file names, and it wires up Android's
FlutterMain to recognize the properties in the app's manifest.
This will be used for flutter applications that build their
binary snapshots into files other than the default ones
that the engine uses.
We don't yet have support for text on Fuchsia. This patch add stub
implementations of Paragraph and ParagraphBuilder so that Flutter apps
that use text don't error out. Instead, the text is 0x0 and invisible.
Also, teach MojoServices not to crash if it hasn't been created by the
time Dart tries to use it.
After this patch, we're able to run spinning_square on Fuchsia. I've
left some TODO comments about some shortcuts I've taken that we'll need
to improve in the future.
This patch should contain all the code we need to run Flutter on
Fuchsia's software framebuffer (without text). I haven't actually tried
running the code, so I'm sure it doesn't work yet.
Also, rename SkyViewClient to RuntimeDelegate. These names are more
sensible.
This patch also cleans up the RuntimeDelegate a bit, for example by
removing support for flushing real-time events, which aren't used.
* Move dart:mojo.internal to //flutter/lib/mojo
To be parallel with the other built-in libraries.
* Move DartRuntimeHooks into //flutter/lib/ui
This code manipulates natives.dart, which is part of //flutter/lib/ui.
This patch removes the //flutter/sky/engine dependency from //flutter/lib/ui,
which lets us build the bulk of the dart:ui library without needing to build
//flutter/sky/engine.
There are now three ways to start Dart applications:
1) From a precompiled snapshot
2) From a snapshot
3) From source
When loading from source, we no longer use the complex data pipe /
dependency catcher mechanism. Instead, we just load the source
synchronously from the file system. This is appropriate because running
from source is used only during development and not during production.
The previous design was built assuming we would want to run from source
over the network, which meant we needed to be able to load source
asynchronously over a high latency channel.
We should eventually rename it to something more sensible, but that's a more
disruptive change. This patch just moves the source code to somewhere easier to
find.
This change disentangles the build for the snapshotter from the main engine
build. Also, we now have all the Dart files for dart:ui in the same directory.