- constructors first
- have either a blank line at the top and bottom of each class, or no blank line in either place (it's still inconsistent about which we should do)
- hide clamp()
R=abarth@chromium.org
Review URL: https://codereview.chromium.org/1172173002
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.
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
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
- 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
This makes debugging the render tree a lot easier. Just print the node
you care about, and you get an indented tree view of its subtree,
including settings. New subclasses should implement the new virtual
method debugDescribeSettings() to expose new settings.
R=eseidel@chromium.org
Review URL: https://codereview.chromium.org/1157993005
This CL makes FixedHeightScrollable able to measure heights. In the DOM-based
version, FixedHeightScrollable forced a synchronous layout in a microtask in
order to measure the size of itself and its children. In the DOM-less version,
we now require the subclass to tell us the item height and we measure our own
height using a layout callback.
R=ianh@google.com
Review URL: https://codereview.chromium.org/1161063005
The root cause of the crash was threefold:
- you can't enumerate enums, in dart; you have to enumerate their values.
- RenderNodeWrapper was trying to call remove(child.root) on its root, but that's
not something that all RenderNodes have
- when a RenderNode was deparented, its relayoutSubtreeRoot wasn't removed, so
the node ended up in an inconsistent state regarding its parent tree
R=abarth@chromium.org
Review URL: https://codereview.chromium.org/1151573020
Previously, we were not adjusting the minimum width, so we ended up
offsetting the child but not shrinking it, when the parent expected
the child to be exactly fit to its dimensions.
R=abarth@chromium.org
Review URL: https://codereview.chromium.org/1155303005