1. 21 Apr, 2021 1 commit
  2. 29 Jan, 2021 1 commit
  3. 05 Oct, 2020 1 commit
  4. 11 Jun, 2020 1 commit
  5. 27 Jan, 2020 1 commit
  6. 17 Jan, 2020 1 commit
  7. 16 Jan, 2020 1 commit
  8. 27 Nov, 2019 1 commit
    • Ian Hickson's avatar
      License update (#45373) · 449f4a66
      Ian Hickson authored
      * Update project.pbxproj files to say Flutter rather than Chromium
      
      Also, the templates now have an empty organization so that we don't cause people to give their apps a Flutter copyright.
      
      * Update the copyright notice checker to require a standard notice on all files
      
      * Update copyrights on Dart files. (This was a mechanical commit.)
      
      * Fix weird license headers on Dart files that deviate from our conventions; relicense Shrine.
      
      Some were already marked "The Flutter Authors", not clear why. Their
      dates have been normalized. Some were missing the blank line after the
      license. Some were randomly different in trivial ways for no apparent
      reason (e.g. missing the trailing period).
      
      * Clean up the copyrights in non-Dart files. (Manual edits.)
      
      Also, make sure templates don't have copyrights.
      
      * Fix some more ORGANIZATIONNAMEs
      449f4a66
  9. 16 Oct, 2018 1 commit
  10. 12 Sep, 2018 1 commit
  11. 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
  12. 15 Apr, 2017 1 commit
    • Ian Hickson's avatar
      Support chaining await calls on controllers (#9389) · 14e728d0
      Ian Hickson authored
      With this patch, you can do:
      
      ```dart
         Future<Null> foo() async {
           try {
             await controller.forward().orCancel;
             await controller.reverse().orCancel;
             await controller.forward().orCancel;
           } on TickerCanceled {
             // did not complete
           }
         }
      ```
      
      ...in a State's async method, and so long as you dispose of the
      controller properly in your dispose, you'll have a nice way of doing
      animations in sequence without leaking the controller. try/finally
      works as well, if you need to allocate resources and discard them when
      canceled.
      
      Simultaneously, you can do:
      
      ```dart
         Future<Null> foo() async {
           await controller.forward().orCancel;
           await controller.reverse().orCancel;
           await controller.forward().orCancel;
         }
      ```
      
      ...and have the same effect, where the method will just silently hang
      (and get GC'ed) if the widget is disposed, without leaking anything,
      if you don't need to catch the controller being killed.
      
      And all this, without spurious errors for uncaught exceptions on
      controllers.
      14e728d0