- 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
- 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