120 Commits

Author SHA1 Message Date
Hixie
c7339de6bc Enable always_declare_return_types lint
And fix a zillion omissions this uncovered.
2016-03-09 17:57:39 -08:00
Hixie
5810cd80bd Avoid 'as' keyword
It has performance implications in release mode.

We'll enable the lint once https://github.com/dart-lang/linter/issues/195 is fixed.
2016-03-09 15:00:55 -08:00
Adam Barth
0d7b0f9ec1 Test harness should check for running Timers and AnimationControllers
After running a widget test, we now clear out the widget tree and check that we
didn't leak any timers or animations.

Also, fix several bugs that this addtional check revealed.

Fixes #2481
2016-03-09 13:37:24 -08:00
Hans Muller
efa36de7f0 Merge pull request #2482 from HansMuller/dismiss_action
Support undo in the leave-behind demo
2016-03-08 15:44:50 -08:00
Hans Muller
73d7378cee Support undo in the leave-behind demo 2016-03-08 15:31:29 -08:00
Adam Barth
e8483fb366 Support reparenting state from MultiChildRenderObjectElement
Fixes #2085
2016-03-08 15:21:20 -08:00
Adam Barth
22dc5590c9 Merge pull request #2488 from abarth/custom_sized_by_parent
RenderCustomMultiChildLayoutBox shouldn't be sizedByParent
2016-03-08 12:49:11 -08:00
Adam Barth
cdc2aefc69 ImageFit.cover doesn't respect alignment
We need to apply the alignment to the source rect because the ouput rect fills
the destination rect.

Fixes #1514
2016-03-08 12:39:46 -08:00
Adam Barth
3fb0df878d RenderCustomMultiChildLayoutBox shouldn't be sizedByParent
The getSize function from MultiChildLayoutDelegate might depend on information
other than the incomming constraints.

Fixes #2077
2016-03-08 12:10:00 -08:00
Hans Muller
2662ea5283 Added support for List leave-behind items 2016-03-07 14:50:25 -08:00
Ian Hickson
8a2865ced3 Merge pull request #2249 from Hixie/size-obs-11
SizeObserver crusade: Remove SizeObserver
2016-03-07 10:11:06 -08:00
Ian Hickson
6bef1736c1 Remove the second argument to MultiChildLayoutDelegate.performLayout()
Fixes https://github.com/flutter/flutter/issues/2403

I have an e-mail ready to send to flutter-dev about this.
2016-03-06 12:28:28 -08:00
Adam Barth
688da091dd Flinging continuously should have one scroll start/end pair
Previously we got confused and started sending start/end pairs for each tick of
the fling animation.

Fixes #2430
2016-03-05 19:42:05 -08:00
Adam Barth
fbc0950da4 Factor MojoShell into shell.dart
Putting this code in a separate library let's services that depend only on the
shell be clearer about their dependencies.
2016-03-04 13:48:28 -08:00
krisgiesing
1655ca800a Merge pull request #2405 from krisgiesing/scaling_test
Add tests for AssetVendor and resolution-dependent image loading
2016-03-03 20:48:12 -08:00
Hans Muller
d04ab2e001 BoxDecoration borders define padding 2016-03-03 16:56:27 -08:00
Kris Giesing
fca41bc2c5 Add tests for AssetVendor and resolution-dependent image loading
Fixes #2198
2016-03-03 16:51:42 -08:00
Hans Muller
44cd57f2f2 Add DismissDirection onDismissed() callback parameter 2016-03-03 11:47:15 -08:00
Adam Barth
00a00deffc Add a test for icon opacity crash
Fixes #2361
2016-03-03 10:33:57 -08:00
Adam Barth
59664e4f80 Disable test that's causing bot to hang
This test causes the buildbot to hang. We don't currently have any hang
protection, which means this test ends up killing the bot. Disable the
test for now why we work on the root issues.
2016-03-02 19:29:18 -08:00
Hans Muller
4eae547c87 Fixed tab scrolling 2016-03-02 16:06:40 -08:00
Adam Barth
c51ae28d87 Add "form" parameter to AnimationController forward and reverse
Fixes #2324
2016-03-02 12:05:16 -08:00
Hixie
cb5017d17d Convert LinearGradient and RadialGradient to fractional units
Makes it easier to use without a SizeObserver
2016-03-02 09:56:37 -08:00
Hixie
dfac9f9bd7 SizeObserver crusade: Remove SizeObserver 2016-02-26 18:55:34 -08:00
Hixie
d7bc93b7f0 SizeObserver crusade: The Last Test 2016-02-26 18:49:54 -08:00
Adam Barth
6f7ceff048 Merge pull request #2235 from abarth/animation_status
Elide fewer AnimationStatus callbacks
2016-02-26 16:36:04 -08:00
Adam Barth
25ab5555b7 Elide fewer AnimationStatus callbacks
Previously we would elide forward and reverse callbacks that canceled each
other out, which broke the expected state machine. Now we synchronously deliver
status callbacks when start an animation.

Fixes #1913
2016-02-26 16:29:14 -08:00
Adam Barth
c629006748 Scrollable's callbacks should follow a state machine
Now onScroll callbacks are always bracketed by onScrollStart and onScrollEnd
callbacks.

Fixes #1822
2016-02-26 14:39:50 -08:00
Hixie
f808055756 Remove size observers from scrollables.
Also:
 - add operator==/hashCode/toString to ViewportDimensions
 - add toString to BindingBase
 - add toString and debugFillDescription to ScrollBehavior
 - fix a bug in the RawGestureDetectorState's replaceGestureRecognizers
 - rename MixedViewport's onExtentsUpdate to onExtentChanged
 - replace ExtentsUpdateCallback with ValueChanged<double>
 - remove a microtask for dispatching scroll start, since it
   did not appear to have any purpose
 - added dartdocs to Instrumentation until I understood it
 - made all event dispatch in Instrumentation drain microtasks
2016-02-25 10:55:12 -08:00
Adam Barth
4b1a9ff14c Remove PointerRouter and GestureArena arguments
There's no reason to make clients supply a PointerRounter and a
GestureArena when constructing gesture recognizers. These objects are
statics and the gesture recognizers can just grab them directly.

Also, remove the callback constructor arguments. Almost no code used
them. Instead, people seem to prefer using the `..` operator to set
callbacks on the recognizers. Removing the arguments removes a bunch of
boilerplate.
2016-02-24 22:23:00 -08:00
Adam Barth
9d4e0e8551 Merge pull request #2142 from abarth/interactive_text
Add the ability to recognize gestures on text spans
2016-02-24 17:32:30 -08:00
Hixie
512b2e1972 Fix move() to call markNeedsLayout().
Otherwise, changing the order of your children (e.g. shuffling a list of
children) will have no visible effect.
2016-02-24 17:10:59 -08:00
Adam Barth
8e326d724a Add the ability to recognize gestures on text spans
Currently the interface for recognizing gestures on text spans is pretty ugly,
but hopefully we can improve it with time.

Fixes #156
2016-02-24 17:07:35 -08:00
Adam Barth
25219277f6 Fix TextSpan's operator==
We forgot to compare the lengths of the lists.
2016-02-24 16:53:22 -08:00
Eric Seidel
fbe4cdf5c6 Merge pull request #2129 from eseidelGoogle/space_per_flex
Don't give children negative sizes when overconstrained
2016-02-24 15:30:16 -08:00
Eric Seidel
4e7a9de578 Fix two bugs in Flex exposed by the Game in landscape mode
One bug was masking the other, hence they both needed to be fixed
and tested separately.

@Hixie
2016-02-24 15:30:05 -08:00
Adam Barth
fb4dbf4584 Improve TextSpan
Now we just have one TextSpan class that handles both simple strings, trees of
children, and styling both. This approach simplifies the interface for most
clients.

This patch also removes StyledText, which was weakly typed and tricky to use
correctly. The replacement is RichText, which is strongly typed and uses
TextSpan.
2016-02-24 14:07:10 -08:00
Hans Muller
ba93987c6e Added bottom_sheet_rebuild_test 2016-02-24 07:49:08 -08:00
Adam Barth
1484add104 Add TestGesture
This helper makes it easier to write correct tests that involve
gestures.

Fixes #1855
2016-02-21 14:32:58 -08:00
Adam Barth
6722e3d516 Animation status callbacks should be re-entrant
We should mutate the status of the AnimationController before calling
the status callbacks so that we're prepared to be re-entered.

Fixes #1911
2016-02-20 22:06:00 -08:00
Adam Barth
4fb47600e4 Add a Velocity class to be explicit about units
We were using an Offset, which represented pixels/second, but it wasn't
clear to clients whether that was pixels/ms. Now we use a Velocity class
that is explict about the units.

Fixes #1510
Fixes #785
2016-02-13 22:59:09 -08:00
Ian Hickson
b3d964145f Disable flakey test.
See https://github.com/flutter/flutter/issues/1854
2016-02-13 17:11:39 -08:00
Adam Barth
948ae15ca5 Clean up the standalone examples
Our examples have been growing organically over time. This patch cleans
them up to illustrate specific aspects of Flutter.
2016-02-13 11:00:58 -08:00
Hixie
19a2f5ef74 Horizontal and Vertical Draggables 2016-02-12 17:16:39 -08:00
Adam Barth
baca514f99 Merge pull request #1827 from abarth/scrollable_list_padding
Fix padding for ScrollableList
2016-02-12 13:59:59 -08:00
Adam Barth
ad2fa5a6e7 Fix padding for ScrollableList
Previously we had totally wrong behavior. Now we have more correct behavior and
testing.

Fixes #1808
2016-02-12 13:39:05 -08:00
Ian Hickson
b00773a306 Merge pull request #1803 from Hixie/canvas-crash
Reenable canvas test.
2016-02-12 12:52:55 -08:00
Hixie
fd7be69df0 SizeObserver crusade: snap alignment
Remove the SizeObserver you need to use snap alignment in lists by
having the lists provide the size themselves in the callback.

Also, remove snapAlignmentOffset since we couldn't figure out how to
explain it and it's not really needed.
2016-02-12 12:40:44 -08:00
Hixie
edac70a5dd Reenable canvas test.
I'm guessing the recent changes to the bindings fixed this crash.

Closes https://github.com/flutter/flutter/issues/248.
2016-02-12 08:39:59 -08:00
Hixie
6b487e4ecc Refactor MultiDragPointerState to support delays
...even after winning the arena.
2016-02-11 16:48:17 -08:00