1. 02 May, 2017 1 commit
    • Ian Hickson's avatar
      Flush microtasks after transient callbacks are run. (#9702) · e8c46927
      Ian Hickson authored
      This splits the frame pipeline into two, beginFrame and drawFrame.
      
      As part of making this change I added some debugging hooks that helped
      debug the issues that came up:
      
       * I added debugPrintScheduleFrameStacks which prints a stack whenever
         a frame is actually scheduled, so you can see why frames are being
         scheduled.
      
       * I added some toString output to EditableText and RawKeyboardListener.
      
       * I added a scheduler_tester.dart library for scheduler library tests.
      
       * I changed the test framework to flush microtasks before pumping.
      
       * Some asserts that had the old string literal form were replaced by
         asserts with messages.
      
      I also fixed a few subtle bugs that this uncovered:
      
       * setState() now calls `ensureVisualUpdate`, rather than
         `scheduleFrame`. This means that calling it from an
         AnimationController callback does not actually schedule an extra
         redundant frame as it used to.
      
       * I corrected some documentation.
      e8c46927
  2. 04 Mar, 2017 1 commit
  3. 23 Jun, 2016 1 commit
  4. 22 Apr, 2016 1 commit
  5. 15 Apr, 2016 1 commit
  6. 16 Dec, 2015 1 commit
  7. 14 Dec, 2015 1 commit
  8. 02 Dec, 2015 2 commits
    • Florian Loitsch's avatar
      Rename some of the functions from the scheduler. · 72821152
      Florian Loitsch authored
      The names are probably less familiar, but more consistent:
      - FrameCallback: a callback that is relative to the frame and wants the
        frame offset (a duration) as argument.
      - addXFrameCallback: adds the given callback to the internal lists/maps.
      - scheduleXFrameCallback (currently only X = ""): add the callback, but
        also trigger a new frame.
      - handleX: the method that is invoked when the event-loop or the frame
        calls into the scheduler.
      - ensureXYZ: ensure that the callback happens.
        Unfortunately there is the ambiguity between a "callback": it can be a
        closure, or the action of doing a callback, so we end up with:
        ensureBeginFrameCallback, and ensureEventLoopCallback, where
        "callback" means the action of being called back.
      72821152
    • Florian Loitsch's avatar
      Remove animation scheduler. · 018bcbf2
      Florian Loitsch authored
      018bcbf2
  9. 01 Dec, 2015 1 commit
  10. 28 Oct, 2015 1 commit
  11. 10 Oct, 2015 1 commit
  12. 03 Oct, 2015 1 commit
  13. 08 Sep, 2015 1 commit
    • Adam Barth's avatar
      Introduce package:sky/animation.dart · b356d146
      Adam Barth authored
      Move the animation libraries into src/animation and change importers to use
      package:sky/animation.dart. Also, move scheduler.dart into the animation
      library so that the animation library can be self-contained.
      b356d146
  14. 27 Aug, 2015 1 commit