1. 03 May, 2019 1 commit
    • Greg Spencer's avatar
      Re-land: Add support for Tooltip hover (#31699) · 11e0a725
      Greg Spencer authored
      This is a re-land of #31561, after fixing performance regressions.
      
      Added change listening to the MouseTracker so that the Listener and tooltip can react to whether or not a mouse is connected at all. Added a change check to make sure Listener only repaints when something changed.
      
      Fixes #22817
      11e0a725
  2. 05 Feb, 2019 1 commit
  3. 22 Jan, 2019 1 commit
  4. 04 Oct, 2018 1 commit
  5. 12 Sep, 2018 1 commit
  6. 02 Aug, 2018 1 commit
  7. 27 Jul, 2018 1 commit
  8. 23 Jul, 2018 1 commit
  9. 16 Jul, 2018 2 commits
  10. 06 Jun, 2018 2 commits
  11. 17 Nov, 2017 1 commit
  12. 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
  13. 04 May, 2017 1 commit
  14. 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
  15. 12 Apr, 2017 2 commits
    • Ian Hickson's avatar
      Move Point to Offset (#9277) · bf017b79
      Ian Hickson authored
      * Manually fix every use of Point.x and Point.y
      
      Some of these were moved to dx/dy, but not all.
      
      * Manually convert uses of the old gradient API
      
      * Remove old reference to Point.
      
      * Mechanical changes
      
      I applied the following at the root of the Flutter repository:
      
      git ls-files -z | xargs -0 sed -i 's/\bPoint[.]origin\b/Offset.zero/g'
      git ls-files -z | xargs -0 sed -i 's/\bPoint[.]lerp\b/Offset.lerp/g'
      git ls-files -z | xargs -0 sed -i 's/\bnew Point\b/new Offset/g'
      git ls-files -z | xargs -0 sed -i 's/\bconst Point\b/const Offset/g'
      git ls-files -z | xargs -0 sed -i 's/\bstatic Point /static Offset /g'
      git ls-files -z | xargs -0 sed -i 's/\bfinal Point /final Offset /g'
      git ls-files -z | xargs -0 sed -i 's/^\( *\)Point /\1Offset /g'
      git ls-files -z | xargs -0 sed -i 's/ui[.]Point\b/ui.Offset/g'
      git ls-files -z | xargs -0 sed -i 's/(Point\b/(Offset/g'
      git ls-files -z | xargs -0 sed -i 's/\([[{,]\) Point\b/\1 Offset/g'
      git ls-files -z | xargs -0 sed -i 's/@required Point\b/@required Offset/g'
      git ls-files -z | xargs -0 sed -i 's/<Point>/<Offset>/g'
      git ls-files -z | xargs -0 sed -i 's/[.]toOffset()//g'
      git ls-files -z | xargs -0 sed -i 's/[.]toPoint()//g'
      git ls-files -z | xargs -0 sed -i 's/\bshow Point, /show /g'
      git ls-files -z | xargs -0 sed -i 's/\bshow Point;/show Offset;/g'
      
      * Mechanical changes - dartdocs
      
      I applied the following at the root of the Flutter repository:
      
      git ls-files -z | xargs -0 sed -i 's/\ba \[Point\]/an [Offset]/g'
      git ls-files -z | xargs -0 sed -i 's/\[Point\]/[Offset]/g'
      
      * Further improvements and a test
      
      * Fix minor errors from rebasing...
      
      * Roll engine
      bf017b79
    • Ian Hickson's avatar
      Fix tests to use Ahem, and helpful changes around that (#9332) · 2a545243
      Ian Hickson authored
      * Fix tests to use Ahem, and helpful changes around that
      
      - Fix fonts that had metric-specific behaviours.
      
      - LiveTestWidgetsFlutterBinding.allowAllFrames has been renamed
        to LiveTestWidgetsFlutterBinding.framePolicy.
      
      - LiveTestWidgetsFlutterBinding now defaults to using a frame policy
        that pumps slightly more frames, to animate the pointer crosshairs.
      
      - Added "flutter run --use-test-fonts" to enable Ahem on devices.
      
      - Changed how idle() works to be more effective in live mode.
      
      - Display the test name in live mode (unless ahem fonts are enabled).
      
      - Added a toString to TextSelectionPoint.
      
      - Style nit fixes.
      
      * Roll engine to get Ahem changes.
      
      * Update tests for dartdoc changes.
      
      * Fix flutter_tools tests
      2a545243
  16. 15 Mar, 2017 1 commit
  17. 04 Mar, 2017 1 commit
  18. 21 Feb, 2017 1 commit
  19. 10 Feb, 2017 1 commit
  20. 01 Feb, 2017 1 commit
    • Jason Simmons's avatar
      Some fixes for the microbenchmarks (#7781) · 59cacd71
      Jason Simmons authored
      * Return null from VM.mainView if no view exists
      * Retry in connectToServiceProtocol if a view is not yet available
      * Do not explicitly call exit from the benchmarks - it will not cleanly shut down the engine
      59cacd71
  21. 11 Jan, 2017 2 commits
  22. 09 Jan, 2017 1 commit
  23. 09 Sep, 2016 1 commit
  24. 07 Sep, 2016 1 commit
  25. 02 Jun, 2016 1 commit
  26. 23 May, 2016 1 commit