1. 27 May, 2016 1 commit
  2. 25 May, 2016 1 commit
  3. 18 May, 2016 1 commit
  4. 17 May, 2016 2 commits
  5. 12 May, 2016 1 commit
  6. 26 Apr, 2016 1 commit
    • Adam Barth's avatar
      Delay win-by-default in gesture arena (#3552) · 51b1550d
      Adam Barth authored
      Wait until the end of the microtask to tell gesture recognizers that
      they've won in the gesture arena. This lets recognizers dispose reject
      themselves at arbitrary times without triggering gestures in awkward
      call stacks.
      
      Fixes #3183
      51b1550d
  7. 22 Apr, 2016 1 commit
  8. 21 Apr, 2016 1 commit
    • Ian Hickson's avatar
      Refactor the Gesturer's interfaces (#3459) · 3142aba4
      Ian Hickson authored
      * Refactor the Gesturer's interfaces
      
      This makes them more coherent.
      
      It also makes it easier for the tests to override each specific part of
      hit-testing, should that be necessary.
      
      * Update binding.dart
      3142aba4
  9. 15 Apr, 2016 1 commit
  10. 12 Apr, 2016 2 commits
  11. 03 Apr, 2016 1 commit
  12. 02 Apr, 2016 1 commit
    • Ian Hickson's avatar
      Rationalise all our exception handling. · ee703da9
      Ian Hickson authored
      - Create a FlutterErrorDetails struct-like class that describes an
      
        exception along with more details that aren't in the exception, like
      
        where it was caught and what was going on when it was caught.
      
      
      
      - Provide a FlutterError static API for handling these objects:
      
      
      
        - FlutterError.onError which is called whenever Flutter catches an
      
          error.
      
      
      
        - FlutterError.reportError() which handles an error.
      
      
      
        - FlutterError.dumpErrorToConsole() which is the default behavior
      
          for onError.
      
      
      
      - Removes all the existing exception handler callbacks.
      
      
      
      - Replaces all the existing places that described exceptions using
      
        debugPrint with calls to FlutterError.reportError().
      
      
      
      - Extend lockState() to also catch exceptions, so that we catch
      
        exceptions that happen during finalizers.
      
      
      
      - Make the test framework catch errors and treat them as failures.
      
      
      
      - Provide a mechanism to override this behavior in the test framework.
      
      
      
      - Make the tests that used to depend on the exception handler
      
        callbacks use this new mechanism.
      
      
      
      - Make pump() also support the phase argument.
      
      
      
      - Improve some tests using these new features.
      
      
      
      Fixes #2356, #2988, #2985, #2220.
      ee703da9
  13. 29 Mar, 2016 1 commit
  14. 24 Mar, 2016 1 commit
  15. 22 Mar, 2016 1 commit
  16. 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
  17. 14 Mar, 2016 1 commit
  18. 12 Mar, 2016 1 commit
  19. 11 Mar, 2016 1 commit
    • Ian Hickson's avatar
      Enable ALL THE LINTS · 1b9cd520
      Ian Hickson authored
      Well, all the easy ones, anyway.
      
      For some reason `// ignore:` isn't working for me so I've disabled
      lints that need that. Also disabled those that require a ton of work
      (which I'm doing, but not in this PR, to keep it reviewable).
      
      This adds:
      - avoid_init_to_null
      - library_names
      - package_api_docs
      - package_names
      - package_prefixed_library_names
      - prefer_is_not_empty
      - sort_constructors_first
      - sort_unnamed_constructors_first
      - unnecessary_getters_setters
      1b9cd520
  20. 25 Feb, 2016 2 commits
    • Adam Barth's avatar
      Remove PointerRouter and GestureArena arguments · 4b1a9ff1
      Adam Barth authored
      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.
      4b1a9ff1
    • Hixie's avatar
      Just-in-time mutations of GestureDetector · 0df3730d
      Hixie authored
      This allows us to adjust exactly which gestures we're listening for
      during layout, which I'll use to kill a SizeObserver.
      0df3730d
  21. 17 Feb, 2016 1 commit
  22. 16 Feb, 2016 1 commit
    • Adam Barth's avatar
      Enforce that we get a final move to the pointer up location · ddd58c5e
      Adam Barth authored
      Previously we asserted that we got a pointer move to the location where the
      pointer up occured, but not all sources of pointer packets respect that
      invariant. Specifically, on the iOS simulator, of you drag outside the window,
      you'll get a stream of pointers that violates that invariant.
      
      This patch teaches the converter to insert a PointerMoveEvent to move the
      pointer to the location where the up occurs, repairing the invariant.
      
      Fixes #1912
      ddd58c5e
  23. 14 Feb, 2016 1 commit
    • Adam Barth's avatar
      Add a Velocity class to be explicit about units · 4fb47600
      Adam Barth authored
      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
      4fb47600
  24. 13 Feb, 2016 1 commit
  25. 12 Feb, 2016 1 commit
  26. 11 Feb, 2016 2 commits
    • Hixie's avatar
      Provide a Draggable that starts on drag · 8e279f32
      Hixie authored
      This lets it cooperate with other gestures like tap.
      
      The way I implemented this was to refactor the entire Draggable gesture
      logic to use a new kind of gesture detector called
      MultiDragGestureRecognizer. It works a bit like
      MultiTapGestureRecognizer but for drags.
      
      Also some tweaks to the velocity estimator.
      8e279f32
    • Ian Hickson's avatar
      Clean up imports and exports. · a94999ba
      Ian Hickson authored
      Each layer is supposed to reexport the parts of the previous layer
      that are part of its API.
      
      - In painting.dart, export from dart:ui all the Canvas-related APIs
        that make sense to be used at higher levels, e.g. PaintingStyle.
      
      - Delete painting/shadows.dart. It was dead code.
      
      - In rendering/object.dart, export all of painting.dart.
      
      - In widgets/basic.dart, export all of painting.dart and
        animation.dart. Some classes in animation/ are renamed to make this
        less disruptive and confusing to the namespace.
      
      - Split out Stocks back into an import model rather than a part model,
        so that it's easier to manage its dependencies on a per-file basis.
      
      - Move Ticker to scheduler library.
      
      - Remove as many redundant imports as possible now.
      
      - Some minor nit picking cleanup in various files.
      a94999ba
  27. 05 Feb, 2016 1 commit
  28. 27 Jan, 2016 1 commit
  29. 24 Jan, 2016 1 commit
  30. 16 Jan, 2016 1 commit
  31. 11 Jan, 2016 1 commit
    • Adam Barth's avatar
      DoubleTap gesture asserts when rejected · 07a9cc75
      Adam Barth authored
      The pointer router was using an iteration pattern that always delivers
      handleEvent calls even if you remove a route during the iteration.
      That's awkward to program against and causes trouble for the double-tap
      gesture.
      
      This patch switches PointerRouter to using a re-entrant iteration
      pattern that supports removing routes (but not adding routes) during the
      iteration.
      07a9cc75
  32. 07 Jan, 2016 1 commit
  33. 15 Dec, 2015 1 commit
    • Hixie's avatar
      Catch exceptions in pointer handling · 4e23ecd6
      Hixie authored
      If we don't catch these exceptions, we get confused about what's going
      on with the pointers, and the app basically stops working.
      4e23ecd6
  34. 14 Dec, 2015 2 commits
  35. 10 Dec, 2015 1 commit