Material fixes (#5293)

* Added return value to a onNotification callback.

The LayoutChangedNotification callback was missing a return value.
This commit changes it to return true and stop notification from
bubbling up the tree.

* Changed _RenderInkFeatures to use fresh clip box.

Since it wasn't using the most current value of the RenderBox's
size, _RenderInkFeatures was rendering splashes incorrectly when
the underlying Material size was animating. This commit changes
the clip reference to use the size of the Renderbox instead of
the size method in order to get the newest value.
diff --git a/packages/flutter/lib/src/material/material.dart b/packages/flutter/lib/src/material/material.dart
index 78f3a95..a81e226 100644
--- a/packages/flutter/lib/src/material/material.dart
+++ b/packages/flutter/lib/src/material/material.dart
@@ -246,6 +246,7 @@
     contents = new NotificationListener<LayoutChangedNotification>(
       onNotification: (LayoutChangedNotification notification) {
         _inkFeatureRenderer.currentContext.findRenderObject().markNeedsPaint();
+        return true;
       },
       child: new _InkFeatures(
         key: _inkFeatureRenderer,
@@ -320,7 +321,7 @@
         clipCallback = rectCallback;
       } else {
         size = referenceBox.size;
-        clipCallback = () => Point.origin & size;
+        clipCallback = () => Point.origin & referenceBox.size;
       }
       radius = _getSplashTargetSize(size, position);
     } else {
diff --git a/packages/flutter/test/material/material_test.dart b/packages/flutter/test/material/material_test.dart
new file mode 100644
index 0000000..2633a5e
--- /dev/null
+++ b/packages/flutter/test/material/material_test.dart
@@ -0,0 +1,24 @@
+// Copyright 2016 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+import 'package:flutter/material.dart';
+import 'package:flutter_test/flutter_test.dart';
+
+class NotifyMaterial extends StatelessWidget {
+  @override
+  Widget build(BuildContext context) {
+    new LayoutChangedNotification().dispatch(context);
+    return new Container();
+  }
+}
+
+void main() {
+  testWidgets('LayoutChangedNotificaion test', (WidgetTester tester) async {
+    await tester.pumpWidget(
+      new Material(
+        child: new NotifyMaterial()
+      )
+    );
+  });
+}