This CL implements a basic version of screen rotation where we just relayout at
the new size. In the future, we'll want a fancy version where we transition
between the two layouts.
R=ianh@google.com
BUG=
Review URL: https://codereview.chromium.org/1177563002.
We already know how to talk to the network_service from Dart
via fetch.dart. Might as well use that for Image loading
as well insetad of having ImageLoader do it.
As part of this I've renamed *ImageLoader to *ImageDecoder
and moved all the image loading logic into Dart. This required
me to teach the idl system about mojo handles so that I could
pass the resulting MojoHandle from fetch.dart up through to
ImageDecoder.
R=abarth@chromium.org, jackson@google.com, hansmuller@google.com
Review URL: https://codereview.chromium.org/1173703002.
The popup menu in the stocks app is supposed to size its width to the max
intrinsic width of the menu. This CL teaches it how to do that.
It's a shame that we need to ceilToDouble the output of RenderParagraph. If we
don't do that, we run into floating point layout trouble and the menu triggers
a line break. The correct fix is to do layout in fixed point.
R=ianh@google.com
Review URL: https://codereview.chromium.org/1168113005
This CL splits getIntrinsicDimensions into getMinIntrinsicWidth,
getMaxIntrinsicWidth, getMinIntrinsicHeight, and getMaxIntrinsicHeight so that
we can properly shrink-wrap the stocks app menu. This CL just contains the
refactoring. The use in stocks app will come in a later CL.
R=ianh@google.com
Review URL: https://codereview.chromium.org/1167293003
The popup menu is displayed in the wrong location with the wrong width, but it
does draw. I've also removed the checkbox because the flex container was
causing me trouble. I'll add it back in a later CL.
R=ianh@google.com
Review URL: https://codereview.chromium.org/1166153002
This CL is the first step towards getting PopupMenuItem working in fn2. We
introduce the ability to add a minWidth to a Container by creating a
RenderConstrainedBox class to apply the new constraints.
R=ianh@google.com
Review URL: https://codereview.chromium.org/1155683011
This includes making SizedBox default to infinite size, and making
Container default to containing one infinite-sized SizedBox. That way,
you can use an empty Container as a spacer in a flex box.
The rendering doesn't quite work, because of a bug in flex whereby it
doesn't shrink-wrap its contents in the cross-direction, it fills the
parent. Collin is on that.
R=jackson@google.com
Review URL: https://codereview.chromium.org/1163633003
Changes:
- Remove all the old tracing logic since that was a lot of code for
just random printf debugging and nobody seems to use it
- Convert "defunct", a permanent state transition, to "mounted", a
state that can be entered and exitted arbitrarily
- Coallesce mount/unmount notifications so there's only one per frame
- Remove handleRemoved() since we don't use it
- Rename a local variable 'parent' to 'ancestor' to avoid shadowing
the field
- Replace uses of forEach() with for-in
Effects:
- Reusing a node provided to a constructor in a new place in a tree
(especially at a different depth) no longer fails (it used to fail
because the node would be marked defunct then remounted later, at
which point it would fail)
R=abarth@chromium.org
Review URL: https://codereview.chromium.org/1169673002
- several places where we use a getter knowing that it will return a
subclass of its declared type, even asserting that it does, but
where the analyzer is worried that the getter might start returning
a new value unexpectedly, solved by having a temporary local
variable shadow the getter and asserting that it doesn't change
value
- many many places where we do this with parentData specifically,
solved by type-erasing parentData.
- a place where a mixin wants to be subclassing another class, and
uses its methods, solved by saying that the mixin is abstract but
implements the superclass
R=abarth@chromium.org
Review URL: https://codereview.chromium.org/1160923008
Fixed the mojo deploy script to no longer deploy mojo.
mojo now uses a more sophisticated CDN, etc.
Fixed old fn.dart to work again. :) Looks like it was
victim of a mass rename.
Fixed engine.cc to be able to handle navigating from
WebView content to SkyView content. We can't handle
the other direction yet, but we don't need to.
/sky_home is written in the .sky system but all of our
new examples are .dart (and thus SkyView).
R=abarth@chromium.org
Review URL: https://codereview.chromium.org/1165003006