1. 15 Mar, 2016 1 commit
    • Adam Barth's avatar
      Tapping drawer during animation causes it to stick · a710676d
      Adam Barth authored
      The problem was we were using a tap gesture to stop the motion of the
      drawer and a drag gesture to settle it. That can cause a broken
      lifecycle. Now we use a single drag recognizer to drive the whole
      lifecycle.
      
      Fixes #775
      Fixes #1276
      a710676d
  2. 13 Mar, 2016 1 commit
  3. 16 Dec, 2015 1 commit
  4. 03 Dec, 2015 1 commit
    • Adam Barth's avatar
      Fix a large number of Drawer bugs · 1d195cb9
      Adam Barth authored
      This patch restructures how we handle drawer. The drawer is now a child of the
      Scaffold, which wraps the Drawer in a DrawerController. The DrawerController
      manages the interaction with the navigator as well as the edge swiping. The
      DrawerController's state machine is driven almost entirely off its Performance,
      which it now owns completely.
      
      Fixes #90
      Fixes #187
      Fixes #192
      Fixes #194
      Fixes #604
      1d195cb9
  5. 30 Nov, 2015 1 commit
    • Hixie's avatar
      NavigatorTransaction · f9ea1ce8
      Hixie authored
      To make it easier to avoid pushing twice in one frame, provide a
      transaction mechanism for the navigator.
      f9ea1ce8
  6. 23 Nov, 2015 1 commit
  7. 16 Nov, 2015 1 commit
    • Hixie's avatar
      More resilient Widget tests · d041f3ea
      Hixie authored
      - force the time dilation to 1.0 for the Widget tests, so that a local
        change doesn't break all the tests during development.
      - add missing license block to all the files.
      - set ui.window.onBeginFrame to null when you use WidgetTester, so that
        the engine doesn't trigger any confusing frames after our fake frames.
      d041f3ea
  8. 27 Oct, 2015 1 commit
    • Ian Hickson's avatar
      Track scroll position · 8a900f90
      Ian Hickson authored
      - Change RouteArguments to pass the route's BuildContext rather than
        the Navigator. This caused the bulk of the examples/ and .../test/
        changes (those are mostly mechanical changes). It also meant I could
        simplify Navigator.of().
      
      - Make initState() actually get called when the State's Element is in
        the tree, so you can use Foo.of() functions there. Added a test for
        this also.
      
      - Provide a RouteWidget so that routes have a position in the Widget
        tree. The bulk of the route logic is still in a longer-lived Route
        object for now.
      
      - Make Route.setState() only rebuild the actual route, not the whole
        navigator.
      
      - Provided a Route.of().
      
      - Provided a Route.writeState / Route.readState API that tries to
        identify the clients by their runtimeType, their key, and their
        ancestors keys, up to the nearest ancestor with a GlobalKey.
      
      - Made scrollables hook into this API to track state. Added a test to
        make sure this works.
      
      - Fix the debug output of GestureDetector and the hashCode of
        MixedViewport.
      
      - Fixed ScrollableWidgetListState<T> to handle infinite lists.
      8a900f90
  9. 22 Oct, 2015 1 commit
    • Adam Barth's avatar
      Add Navigator.of · de395582
      Adam Barth authored
      Now you don't need to pass the navigator around everywhere.
      de395582
  10. 16 Oct, 2015 1 commit
    • Hixie's avatar
      Sundry debugging aids and fixes · d0d84e16
      Hixie authored
      (These are all the debugging-related fixes and trivial typo fixes that I
      extracted out of my heroes branch.)
      
      Fix rendering.dart import order.
      
      Introduce a debugLabel for Performances so that when you create a
      performance, you can tag it so that if later you print it out, you can
      figure out which performance it is.
      
      Allow the progress of a PerformanceView to be determined (but not set).
      
      Allow subclasses of PerformanceView that are constants to be created by
      defining a constant constructor for PerformanceView.
      
      Introduce a debugPrint() method that throttles its output. This is a
      test to see if it resolves the problems people have been having with
      debugDumpRenderTree() et al having their output corrupted on Android. It
      turns out (according to some things I read On The Internets) that
      Android only has a 64KB kernel buffer for its logs and and if you output
      to it too fast, it'll drop data on the floor. If this does in fact
      reliably resolve this problem, we should probably move the fix over to
      C++ land (where "print" is implemented) so that any use of print is
      handled (avoiding the interleaving problem we have now if you use both
      debugPrint() and print()).
      
      Fix a bug with the debugging code for "size". In the specific case of a
      RenderBox having a parent that doesn't set parentUsesSize, then later
      the parent setting parentUsesSize but the child having its layout
      short-circuited (e.g. because the constraints didn't change), we didn't
      update the _DebugSize object to know that now it's ok that the size be
      used by the parent, and we'd assert.
      
      Also, allow a _DebugSize to be used to set the size of yourself.
      Previously you could only set your size from a regular Size or from your
      child's _DebugSize.
      
      Add more debugging information to various Widgets where it might be
      helpful.
      
      Make GlobalKey's toString() include the runtimeType so that when
      subclassing it the new class doesn't claim to be a GlobalKey instance.
      
      Include the Widget's key in the Element's description since we don't
      include it in the detailed description normally (it's in the name part).
      
      Fix a test that was returning null from a route.
      d0d84e16
  11. 15 Oct, 2015 1 commit
  12. 10 Oct, 2015 1 commit
  13. 09 Oct, 2015 2 commits
  14. 08 Oct, 2015 1 commit