1. 06 Sep, 2017 3 commits
  2. 23 Jun, 2017 1 commit
    • Ian Hickson's avatar
      Deep linking: automatically push the route hiearchy on load. (#10894) · 9adb4a78
      Ian Hickson authored
      The main purpose of this PR is to make it so that when you set the
      initial route and it's a hierarchical route (e.g. `/a/b/c`), it
      implies multiple pushes, one for each step of the route (so in that
      case, `/`, `/a`, `/a/b`, and `/a/b/c`, in that order). If any of those
      routes don't exist, it falls back to '/'.
      
      As part of doing that, I:
      
       * Changed the default for MaterialApp.initialRoute to honor the
         actual initial route.
      
       * Added a MaterialApp.onUnknownRoute for handling bad routes.
      
       * Added a feature to flutter_driver that allows the host test script
         and the device test app to communicate.
      
       * Added a test to make sure `flutter drive --route` works.
         (Hopefully that will also prove `flutter run --route` works, though
         this isn't testing the `flutter` tool's side of that. My main
         concern is over whether the engine side works.)
      
       * Fixed `flutter drive` to output the right target file name.
      
       * Changed how the stocks app represents its data, so that we can
         show a page for a stock before we know if it exists.
      
       * Made it possible to show a stock page that doesn't exist. It shows
         a progress indicator if we're loading the data, or else shows a
         message saying it doesn't exist.
      
       * Changed the pathing structure of routes in stocks to work more
         sanely.
      
       * Made search in the stocks app actually work (before it only worked
         if we happened to accidentally trigger a rebuild). Added a test.
      
       * Replaced some custom code in the stocks app with a BackButton.
      
       * Added a "color" feature to BackButton to support the stocks use case.
      
       * Spaced out the ErrorWidget text a bit more.
      
       * Added `RouteSettings.copyWith`, which I ended up not using.
      
       * Improved the error messages around routing.
      
      While I was in some files I made a few formatting fixes, fixed some
      code health issues, and also removed `flaky: true` from some devicelab
      tests that have been stable for a while. Also added some documentation
      here and there.
      9adb4a78
  3. 10 May, 2017 1 commit
  4. 10 Mar, 2017 2 commits
  5. 04 Mar, 2017 1 commit
  6. 28 Feb, 2017 1 commit
  7. 23 Feb, 2017 1 commit
  8. 14 Feb, 2017 1 commit
    • Adam Barth's avatar
      Switch benchmarks to thread duration (#8113) · be865544
      Adam Barth authored
      For measuring the Dart thread, we care about thread duration (tdur) rather than
      wall duration (dur) because we don't want to count the time when the Dart
      thread is descheduled (e.g., in preference to the raster thread).
      
      Prior to this change, these benchmarks were mostly measuring whether the OS
      decided to finish the Dart thread's time slice or hand over the CPU to the
      raster thread to complete the visual part of the frame. Now we actually measure
      the work done on the Dart thread.
      be865544
  9. 10 Feb, 2017 1 commit
  10. 08 Feb, 2017 1 commit
  11. 27 Jan, 2017 1 commit
  12. 09 Jan, 2017 1 commit
  13. 10 Dec, 2016 1 commit
  14. 25 Oct, 2016 1 commit
  15. 10 May, 2016 1 commit
  16. 04 May, 2016 2 commits
    • pq's avatar
      Literals get type annotations. · bcede8df
      pq authored
      As per the recent fix to the `always_specify_types` lint (https://github.com/dart-lang/linter/issues/199), literal maps and lists are now expected to be explicitly typed.
      
      Running that lint on the repo identifies quite a few spots to update.  This focuses on `flutter_driver` and `flutter_sprites` (somewhat arbitrarily) but the changes are fairly representative.
      
      Note there are a number of places where I made a quick judgement on how specific to make the types.  Feedback on those is welcome.  (Especially as we move forward with more.)
      bcede8df
    • Hans Muller's avatar
      Gallery demo start-time performance test (#3655) · a9b965cb
      Hans Muller authored
      *  Gallery demo start-time performance test
      a9b965cb
  17. 03 May, 2016 1 commit
  18. 19 Apr, 2016 2 commits
    • Ian Hickson's avatar
      Refactor service extensions (#3397) · 261923e5
      Ian Hickson authored
      Bindings now have a debugRegisterServiceExtensions() method that is
      invoked in debug mode (only). (Once we have a profile mode, there'll be
      a registerProfileServiceExtensions() method that gets called in that
      mode only to register extensions that apply then.)
      
      The BindingBase class provides convenience methods for registering
      service extensions that do the equivalent of:
      
      ```dart
      void extension() { ... }
      bool extension([bool enabled]) { ... }
      double extension([double extension])  { ... }
      Map<String, String> extension([Map<String, String> parameters]) { ... }
      ```
      
      The BindingBase class also itself registers ext.flutter.reassemble,
      which it has call a function on the binding called
      reassembleApplication().
      
      The Scheduler binding now exposes the preexisting
      ext.flutter.timeDilation.
      
      The Renderer binding now exposes the preexisting ext.flutter.debugPaint.
      
      The Renderer binding hooks reassembleApplication to trigger the
      rendering tree to be reprocessed (in particular, to fix up the
      optimisation closures).
      
      All the logic from rendering/debug.dart about service extensions is
      replaced by the above.
      
      I moved basic_types to foundation.
      
      The FlutterWidgets binding hooks reassembleApplication to trigger the
      widget tree to be entirely rebuilt.
      
      Flutter Driver now uses ext.flutter.driver instead of
      ext.flutter_driver, and is hooked using the same binding mechanism.
      Eventually we'll probably move the logic into the Flutter library so
      that you just get it without having to invoke a special method first.
      261923e5
    • Yegor's avatar
      [driver] "waitFor" command in place of broken "exists" (#3373) · e7657b94
      Yegor authored
      * [driver] "waitFor" command in place of broken "exits"
      
      * [driver] wait using frame callback
      e7657b94
  19. 15 Apr, 2016 1 commit
  20. 14 Apr, 2016 1 commit
  21. 08 Apr, 2016 1 commit
  22. 07 Apr, 2016 1 commit
  23. 05 Apr, 2016 1 commit
  24. 02 Apr, 2016 1 commit
  25. 30 Mar, 2016 1 commit
  26. 29 Mar, 2016 1 commit
    • Yegor Jbanov's avatar
      [driver] fix observatory port # and timeline data extraction · bfa16b2b
      Yegor Jbanov authored
      The way we pick observatory port # has changed and we have broken
      logic that handles port 8181. To fix the buildbot, switch to port
      8182. We can later figure out what we want to do when we clean up
      port handling.
      
      The old VM extention for extracting the timeline data is gone.
      Switch to the new '_getVMTimeline' API.
      bfa16b2b
  27. 14 Mar, 2016 1 commit
  28. 10 Mar, 2016 1 commit
  29. 03 Mar, 2016 1 commit
  30. 02 Mar, 2016 1 commit
  31. 01 Mar, 2016 1 commit
  32. 26 Feb, 2016 1 commit
  33. 24 Feb, 2016 3 commits