7 Commits

Author SHA1 Message Date
Hixie
74575775bd Introduce an explicit Key type.
This fixes some theoretical bugs whereby we were using hashCode to try
to get unique keys for objects, but really we wanted object identity.
It also lays the groundwork for a new GlobalKey concept.

I tried to keep the impact on the code minimal, which is why the "Key"
constructor is actually a factory that returns a StringKey. The code
has this class hierarchy:

```
   KeyBase
    |
   Key--------------+---------------+
    |               |               |
   StringKey    ObjectKey       UniqueKey
```

...where the constructors are Key and Key.stringify (StringKey),
Key.fromObjectIdentity (ObjectKey), and Key.unique (UniqueKey).

We could instead of factory methods use regular constructors with the
following hierarchy:

```
   KeyBase
    |
   LocalKey---------+---------------+
    |               |               |
   Key      ObjectIdentityKey   UniqueKey
```

...with constructors Key, Key.stringify, ObjectIdentityKey, and
UniqueKey, but I felt that that was maybe a more confusing hierarchy.
I don't have a strong opinion on this.
2015-07-22 09:14:06 -07:00
Adam Barth
de717bafe9 Images don't appears in VariableHeightScrollables
When we build widgets during layout we weren't notifying those widgets that
they were mounted. Now we notify mount status changes when exiting build phases
inside layout.

Fixes #176
2015-07-21 14:42:21 -07:00
Hans Muller
f72d61bf5f manage listener with on,didMount 2015-07-21 08:42:14 -07:00
Hans Muller
3f70271d9b manage listener with on,didMount 2015-07-21 08:41:58 -07:00
Hans Muller
b0e0e65c09 Fixed several typos 2015-07-21 08:25:49 -07:00
Hans Muller
b954e020c6 Make it possible to identify BlockViewport children whose size or type has changed 2015-07-20 15:41:21 -07:00
Collin Jackson
633b65010c After running filter-branch, move root directory into sky/ 2015-07-16 11:54:25 -07:00