- Fix AnimationTiming to have defaults for 'interval' and 'curve' since
that seems to be how we use it.
- Merge RouteBase.build and RouteBase.buildTransition
- Get rid of HistoryEntry, since it added nothing
- Broke out RouteBase.createPerformance() so subclasses can change what
is created.
- Build the routes backwards so that we more efficiently avoid building
hidden routes.
- Introduce an explicit way (!hasContent) for RouteState to avoid
building, rather than the implicit "build returns null" we had before.
This will ensure that the width of an empty Input is consistent with the
width of an Input that contains text.
Also add a unit test for the Input widget and a way for tests to provide mock
implementations of Mojo services such as the keyboard.
Importing the public libraries caused a name conflict with dart:sky because we
assume people will import dart:sky into a namespace, so I've also changed
skysprites to import dart:sky into a namespace.
Also, introduce Colors and Typography to hold the material colors and the
typography declarations. Previously we expected clients of these libraries to
import them into a namespace, but that doesn't play nice with re-exporting them
from material.dart.
When we sync() a Component, we need to clear the old Component's _child
pointer, otherwise if we reuse that Component we'll get confused about
what the old child is.
skyx files are zips, so they can have anything at the start. Having
a shebang line at the start makes it easier to run skyx files in a mojo
environment.
We need a short name more often than a tree dump, so toString() should
be the short name.
Make debugDumpRenderTree() a global like debugDumpApp(), for
consistency. It's hard to remember the
SkyBinding.instance.dumpRenderTree() incantation.
Fixes#1179.
This command will produce an flx package. Currently, this command doesn't work
because we don't have the Flutter compiler downloaded from Google storage yet.
A future patch will make that happen.
We were not removing children if they were more recently synced than we
were. This makes no sense. We should remove all children unless they
were synced this very generation already (in which case they'll be
somewhere else in the tree by now).
This patch is part of a sequence of patches towards fewer top-level libraries.
In this patch, the gesture libraries are combined into one gestures.dart
library.