We were declaring that the function passed to setState should return a
Function. In reality, we want the function to return void (and everyone calls
it with a function that returns void).
The first one is that we weren't setting up a
FontCachePurgePreventer during drawText. It's not clear
that this is the correct fix, since Blink doesn't have
this FontCachePurgePreventer here either, but it's also
possible that they would hit this same ASSERT and just
not care (since ASSERTs are disabled on clusterfuzz).
The second fix is making ExceptionState actually track
whether it has thrown an exception or not. The c++ code
was depending on this working in order to return early
from dom functions and not crash!
R=abarth@google.com
It turns out that we aren't really using these. The identity logic is sufficient.
Also, add some asserts for a crash I had once but couldn't reproduce, in case that helps catch it next time.
Route (named routes) no longer have a key, and have their own storage for their names.
RouseState no longer has a key, and uses an owner field pointing to a StatefulComponent instead.
As such, RouteBase no longer has a key.
HistoryEntry no longer uses a global int to ensure uniqueness.
Propagated this to stocks app.
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
This change makes it easier to defined only the width or the height of an image
and let the other value be filled in from the image's intrinsic aspect ratio.
Fixes#175
Measurement tracking for fitness app.
There is an issue with the input control that prevents actually creating a measurement. Working on this with eseidel.
R=eseidel