1. 13 Jun, 2018 1 commit
    • Chris Bracken's avatar
      Revert elimination of Dart 1 (#18460) · 2ae48845
      Chris Bracken authored
      fuchsia_tester.dart still assumes Dart 1. Previously, it ran tests directly
      from source, flutter_platform.dart automatically runs a kernel compile when
      operating in Dart 2 mode, but this assumes a functional Dart SDK is available
      in the artifacts directly, and fuchsia_tester.dart mocks out the artifacts
      directory with an empty temp dir.
      
      Remaining work is:
      1. Get the frontend server building as a dependency on Fuchsia.
      2. Patch fuchsia_tester.dart to use a valid Dart SDK and frontend server.
      
      This also reverts migration to Dart 2 typedef syntax.
      
      This reverts commit 6c56bb24. (#18362)
      This reverts commit 3daebd05. (#18316)
      2ae48845
  2. 11 Jun, 2018 1 commit
    • Greg Spencer's avatar
      Update typedef syntax to use Function notation and turn on lint for old notation. (#18362) · 6c56bb24
      Greg Spencer authored
      Now that Dart 1 is turned off, reapplying my change to turn on the prefer_generic_function_type_aliases analysis option, and fix all the typedefs to Dart 2 preferred syntax.
      
      Also eliminated the unused analysis_options_repo.yaml file and turned on public_member_api_docs in analysys_options.yaml.
      
      No logic changes, just changing the typedef syntax for all typedefs, and updating analysis options.
      6c56bb24
  3. 05 Jun, 2018 1 commit
  4. 30 May, 2018 2 commits
  5. 12 Mar, 2018 1 commit
  6. 20 Jan, 2018 1 commit
    • Ian Hickson's avatar
      [H] Move the splitting of licenses to an isolate (#14160) · a29d723c
      Ian Hickson authored
      * Move the splitting of licenses to an isolate
      
      This improves (from horrific to terrible) the performance of the
      license screen. It also introduces a feature in the foundation layer
      to make using isolates for one-off computations easier.
      
      The real problem that remains with this, though, is that transfering
      data between isolates is a stop-the-world operation and can take an
      absurd amount of time (far more than a few milliseconds), so we still
      skip frames.
      
      More work thus remains to be done.
      
      * - Add profile instrumentation to the isolate compute() method
      - Add profile instrumentation to the LicensePage
      - Add profile instrumentation to the scheduleTask method
      - Make scheduleTask support returning a value
      - Make the license page builder logic use scheduled tasks so that it doesn't blow the frame budget
      a29d723c
  7. 19 Jan, 2018 1 commit
  8. 09 Jan, 2018 1 commit
  9. 14 Dec, 2017 1 commit
  10. 09 Dec, 2017 1 commit
  11. 17 Nov, 2017 1 commit
    • Greg Spencer's avatar
      Fix spelling errors in all the dartdocs. (#13061) · 0259be90
      Greg Spencer authored
      I got tired of drive-by spelling fixes, so I figured I'd just take care of them all at once.
      
      This only corrects errors in the dartdocs, not regular comments, and I skipped any sample code in the dartdocs. It doesn't touch any identifiers in the dartdocs either. No code changes, just comments.
      0259be90
  12. 21 Sep, 2017 1 commit
  13. 14 Sep, 2017 1 commit
  14. 31 Aug, 2017 1 commit
    • Devon Carew's avatar
      More frame events (#11747) · 8c36ccf5
      Devon Carew authored
      * Revert "Revert "fire service protocol events for frames (#11565)" (#11727)"
      
      This reverts commit f25e2f52.
      
      * move the postEvent() call into a separate method
      8c36ccf5
  15. 22 Aug, 2017 2 commits
  16. 04 Aug, 2017 1 commit
  17. 27 Jul, 2017 2 commits
  18. 21 Jul, 2017 1 commit
    • Ian Hickson's avatar
      Add documentation and clean up code. (#11330) · 8f56f6fd
      Ian Hickson authored
      Mainly, this adds documentation to members that were previously
      lacking documentation.
      
      It also adds a big block of documentation about improving performance
      of widgets.
      
      This also removes some references to package:collection and adds
      global setEquals and listEquals methods in foundation that we can use.
      (setEquals in particular should be much faster than the
      package:collection equivalent, though both should be faster as they
      avoid allocating new objects.) All remaining references now qualify
      the import so we know what our remaining dependencies are.
      
      Also lots of code reordering in Flutter driver to make the code
      consistent and apply the style guide more thoroughly.
      8f56f6fd
  19. 02 Jun, 2017 1 commit
    • Ian Hickson's avatar
      Sprinkle some mixin magic incantations (#10442) · 9eae8b83
      Ian Hickson authored
      This prevents some of our mixins from being subclassed.
      
      Also, move mixins to using 'extends' instead of 'implements' for
      future compatibility with Dart changes.
      
      Also, rename a class that had Mixin in the name but was not a mixin.
      9eae8b83
  20. 05 May, 2017 1 commit
  21. 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
  22. 17 Mar, 2017 1 commit
  23. 08 Mar, 2017 1 commit
  24. 04 Mar, 2017 1 commit
  25. 02 Feb, 2017 1 commit
  26. 06 Jan, 2017 1 commit
  27. 24 Nov, 2016 1 commit
  28. 17 Nov, 2016 1 commit
  29. 01 Nov, 2016 1 commit
  30. 26 Sep, 2016 1 commit
    • Ian Hickson's avatar
      Turn off AnimationControllers when not in use (#5902) · 9e673853
      Ian Hickson authored
      This requires all AnimationController objects to be given a
      TickerProvider, a class that can create the Ticker.
      
      It also provides some nice mixins for people who want to have their
      State provide a TickerProvider. And a schedulerTickerProvider for those
      cases where you just want to see your battery burn.
      
      Also, we now enforce destruction order for elements.
      9e673853
  31. 08 Sep, 2016 1 commit
    • Ian Hickson's avatar
      Make tests more realistic (#5762) · 5bc8888e
      Ian Hickson authored
      Previously, pumpWidget() would do a partial pump (it didn't trigger
      Ticker callbacks or post-frame callbacks), and pump() would do a full
      pump. This patch brings them closer together. It also makes runApp run a
      full actual frame, rather than skipping the transient callback part of
      the frame logic. Having "half-frames" in the system was confusing and
      could lead to bugs where code expecting to run before the next layout
      pass didn't because a "half-frame" ran first.
      
      Also, make Tickers start ticking in the frame that they were started in,
      if they were started during a frame. This means we no longer spin a
      frame for t=0, we jump straight to the first actual frame.
      
      Other changes in this patch:
      
      * rename WidgetsBinding._runApp to WidgetsBinding.attachRootWidget, so
        that tests can use it to more accurately mock out runApp.
      
      * allow loadStructuredData to return synchronously.
      
      * make handleBeginFrame handle not being given a time stamp.
      
      * make DataPipeImageProvider.loadAsync protected (rather than private),
        and document it. There wasn't really a reason for it to be private.
      
      * fix ImageConfiguration.toString.
      
      * introduce debugPrintBuildScope and debugPrintScheduleBuildForStacks,
        which can help debug problems with widgets getting marked as dirty but
        not cleaned.
      
      * make debugPrintRebuildDirtyWidgets say "Building" the first time and
        "Rebuilding" the second, to make it clearer when a widget is first
        created. This makes debugging widget lifecycle issues much easier.
      
      * make debugDumpApp more resilient.
      
      * debugPrintStack now takes a label that is printed before the stack.
      
      * improve the banner shown for debugPrintBeginFrameBanner.
      
      * various and sundry documentation fixes
      5bc8888e
  32. 29 Aug, 2016 1 commit
    • Ian Hickson's avatar
      Fix some hero observer bugs (#5633) · dd2251ec
      Ian Hickson authored
      1: If a route is already dismissed when it's popped, there's no point
      trying to animate heroes, because it's going to be gone before the
      heroes code can look at it.
      
      2: If a hero animation finishes just as a new one is starting, we
      previously blew away the state for the starting one. Now we correctly
      segregate the "starting up quest" variables from the "actively ongoing
      quest" variables.
      dd2251ec
  33. 03 Aug, 2016 1 commit
  34. 29 Jul, 2016 1 commit
  35. 28 Jul, 2016 1 commit
    • Ian Hickson's avatar
      Some cleanup for hot reload (#5108) · 2b343a93
      Ian Hickson authored
      - show the next error fully after a hot reload
      - hide _AssertionError in stacks
      - immediately rebuild after a reassemble, so that hit tests work
      - catch errors when notifying global key listeners
      2b343a93
  36. 27 Jul, 2016 1 commit
  37. 15 Jul, 2016 1 commit