Container should expand in dimensions without constraints

... as long as it doesn't have a child. If it has a child, it should size
according to that child. Essentially, if Container doesn't have a child, it
pretends like it has a child that expands to fill its constraints.
diff --git a/packages/flutter/lib/widgets/basic.dart b/packages/flutter/lib/widgets/basic.dart
index 344dca7..2da0fd2 100644
--- a/packages/flutter/lib/widgets/basic.dart
+++ b/packages/flutter/lib/widgets/basic.dart
@@ -339,7 +339,7 @@
   Widget build() {
     Widget current = child;
 
-    if (child == null && width == null && height == null)
+    if (child == null && (width == null || height == null))
       current = new ConstrainedBox(constraints: BoxConstraints.expand);
 
     if (padding != null)
@@ -348,12 +348,13 @@
     if (decoration != null)
       current = new DecoratedBox(decoration: decoration, child: current);
 
-    if (width != null || height != null)
+    if (width != null || height != null) {
       current = new SizedBox(
         width: width,
         height: height,
         child: current
       );
+    }
 
     if (constraints != null)
       current = new ConstrainedBox(constraints: constraints, child: current);