* Update to mojo ba13534f2b2af27a1d73e176f7406dbab25f8e14
* Fix build for updated mojo
* Fix android build. Undo some of the mojo roll.
* Fix iOS build.
* Remove time
* Remove rand
* Remove array buffers
* Remove more code
* Remove more image decoding code
* Remove more code
* Remove old public API
* Remove more old public headers
* Remove layout test support
* Remove WebPrivateOwnPtr
* Remove WebString
* Remove worker pool
This patch cleans up the way we expose Mojo services into Dart. It also adds a
service provider for "view services," which will evetually contain the raw
keyboard service.
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.
Currently, during application startup we:
* copy the FLX file to a Mojo pipe
* write the Mojo pipe contents back to a temporary file on disk
* unzip the FLX contents into cache storage
This contributes to startup latency and requires that we later clean up the
cache.
With this change, the assets will be extracted from the FLX archive
on demand with no writes to storage. Runtime cost should be minimal
given that most assets (except for the snapshot) are not compressed
in the archive.
This is another step towards enabling accessibility for Flutter on
Android. It exposes the semantics tree to Android's accessibility API
when accessibility is enabled.
It does not yet:
- allow one to actually interact with the application via the
accessibility API
- expose the accessibility tree to touch exploration
- implement the accessibility focus API
However, you can see the tree if you run uiautomatorviewer. It is there,
and it matches the UI. At least in Stocks. I didn't test anything else.
When the engine starts a new version of the Dart application, the animator may
have pending callbacks and other state related to the previous run of the app.
This state must be cleared before the new vsync provider is assigned.
Now that we understand window insets, we don't need to hard-code the size of
the status bar. Also, convert the viewport metrics to be consistently in
physical pixels.
We used to share memory between Dart strings and WTF::String objects by
way of the Dart externalized strings. That used to be important when the
DOM shared many strings between C++ and Dart. However, now that we don't
retain strings in C++ much anymore, we don't need this complexity.
This patch removes DartStringCache and the integration. It also unwinds
several cases where we were converting back and forth between
WTF::String and std::string for no reason. Now we use std::string more
consistently.
For the case of ParagraphBuilder::addText, we now take a raw const
char*, which more closely matches the API the DartVM exposes. That means
we do a single copy out of the VM and into the render tree at that
point.