1. 26 Sep, 2019 1 commit
    • Greg Spencer's avatar
      Fix mouse hover to not schedule a frame for every mouse move. (#41014) · 05097916
      Greg Spencer authored
      This fixes the mouse hover code to not schedule frames with every mouse move.
      
      Before this, it would schedule a post frame callback, and then schedule a frame immediately, even if there was nothing that needed to be updated. Now it will schedule checks for mouse position updates synchronously, unless there's a new annotation, and skip scheduling a new frame in all cases. It has to be async in the case of a new annotation (i.e. a new MouseRegion is added), since when the annotation is added, it hasn't yet painted, and it can't hit test against the new layer until after the paint, so in that case it schedules a post frame callback, but since it's already building a frame when it does that, it doesn't need to schedule a frame.
      
      The code also used to do mouse position checks for all mice if only one mouse changed position. I fixed this part too, so that it will only check position for the mouse that changed.
      05097916
  2. 24 Sep, 2019 2 commits
    • Mehmet Fidanboylu's avatar
    • Greg Spencer's avatar
      Add fake keyboard key generation to the testing framework (#40706) · 0e6cb28d
      Greg Spencer authored
      There were four or five different implementations in various tests for sendFakeKeyEvent, which roughly all did the same thing. I was going to add yet another one, and decided that it needed to be generalized and centralized. This replaces those instances with something that just takes a LogicalKeyboardKey so that it's self-documenting, and can be used with multiple platforms.
      
      This adds two functions to widget tester: sendKeyDownEvent and sendKeyUpEvent which simulate key up/down from a physical keyboard. It also adds global functions simulateKeyDownEvent and simulateKeyUpEvent that can be called without a widget tester. All are async functions protected by the async guard.
      0e6cb28d
  3. 18 Sep, 2019 1 commit
  4. 17 Sep, 2019 3 commits
  5. 16 Sep, 2019 1 commit
  6. 13 Sep, 2019 1 commit
  7. 11 Sep, 2019 1 commit
  8. 06 Sep, 2019 2 commits
  9. 05 Sep, 2019 2 commits
  10. 03 Sep, 2019 1 commit
  11. 02 Sep, 2019 1 commit
  12. 28 Aug, 2019 1 commit
  13. 27 Aug, 2019 1 commit
  14. 22 Aug, 2019 1 commit
  15. 21 Aug, 2019 1 commit
  16. 20 Aug, 2019 1 commit
    • James D. Lin's avatar
      Instrument pending timers in tests (#37646) · b2f8d3a6
      James D. Lin authored
      Flutter widget tests assert if a test completes with timers still
      pending.  However, it can be hard to diagnose where a pending timer
      came from.  For example, a widget might consume a third-party library
      that internally uses a timer.
      
      I added a FakeAsync.pendingTimersDebugInfo getter to quiver
      (https://github.com/google/quiver-dart/pull/500).  Make flutter_test
      use it.
      
      Additionally modify Flutter's debugPrintStack to take an optional
      StackTrace argument instead of always printing StackTrace.current.
      
      Fixes #4237.
      b2f8d3a6
  17. 19 Aug, 2019 2 commits
  18. 16 Aug, 2019 3 commits
    • Yegor's avatar
      Teach render objects to reuse engine layers (#36402) · 34c69265
      Yegor authored
      Teach Layer and its implementations, RenderObject and its implementations, and PaintingContext to reuse engine layers. The idea is that a concrete RenderObject creates a Layer and holds on to it as long as it needs it (i.e. when it is composited, and the layer type does not change). In return, each Layer object holds on to an EngineLayer and reports it to the engine via addRetained and oldLayer. This allows the Web engine to reuse DOM elements across frames. Without it, each frame drops all previously rendered HTML and regenerates it from scratch.
      34c69265
    • Kate Lovett's avatar
    • Nurhan Turgut's avatar
      Navigator change backup (#38494) · c2e2f093
      Nurhan Turgut authored
      * Broadcasting popRoute and pushRoute methods via SystemChannels.navigation. These messages will be used in flutter_web to detect the route
      
      * Broadcasting popRoute and pushRoute methods via SystemChannels.navigation. These messages will be used in flutter_web to detect the route
      
      * Reverting all unrelated formatting changes.
      
      * Adding unit tests. Adding more comments.
      
      * Changing string method names with constant strings.
      
      * Fixing a constant strings.
      
      * Fixing analyzer error.
      
      * Fixing more white space.
      
      * Changing the method names. Adding comments to the SystemChannels
      
      * Comment and code name fixes
      
      * replacing the comment with reviewer suggestion.
      
      * addinf systemchannels.navigation mock to test bindings
      
      * Adding a new class for sending route change notrifications. The nottifications are only sent on web. This should fix breaking android/ios
      
      * using new class RouteNotificationMessages in navigator
      
      * Fixing analyzer issues.
      
      * fixing cycle dependency
      
      * fixing github analyze error
      
      * dartfmt two new classes. trying to fix anayze errors
      
      * Update route_notification_messages.dart
      
      * trying to fix white space errors
      c2e2f093
  19. 09 Aug, 2019 3 commits
  20. 08 Aug, 2019 1 commit
  21. 07 Aug, 2019 1 commit
  22. 02 Aug, 2019 1 commit
  23. 28 Jul, 2019 1 commit
  24. 19 Jul, 2019 1 commit
  25. 18 Jul, 2019 1 commit
  26. 16 Jul, 2019 1 commit
  27. 12 Jul, 2019 2 commits
    • Kate Lovett's avatar
      Revert "Part 1: Skia Gold Testing (#33688)" (#36094) · 8809f698
      Kate Lovett authored
      This reverts commit eb0b1790.
      Skia Gold post-submit test were failing due to the service account not being found on Cirrus.
      8809f698
    • Kate Lovett's avatar
      Part 1: Skia Gold Testing (#33688) · eb0b1790
      Kate Lovett authored
      * Fresh PR for Gold integration.
      
      * Nits
      
      * WIP
      
      * Artifacts from merge
      
      * Changed some platform dependencies for web, added library prefix notation for Skia Gold test names.
      
      * Updating for CI implementation
      
      * Write out service account
      
      * Writing to skip out
      
      * WIP
      
      * ++
      
      * Fixing depot tools deps
      
      * Windows depot_tools
      
      * Fixing setup scripts
      
      * ++
      
      * depot tools
      
      * ++
      
      * WIP
      
      * Tracing depot_tools clone
      
      * WIP
      
      * ++
      
      * analyzer
      
      * WIP
      
      * chrome typo
      
      * copy artifact
      
      * Working on tests
      
      * Code cleanup
      
      * ++
      
      * Code cleanup, updated tests
      
      * ++ review feedback
      
      * Review
      
      * Analyzer
      
      * Review feedback
      
      * Nits from review
      
      * PRogress
      
      * ++
      
      * Fixing tests
      
      * ++
      
      * Testing repo route
      
      * Just needing documention around new structures.
      
      * cleanup
      
      * Analyzer
      
      * Documentation updates
      
      * Documentation updates
      
      * Cirrus updates
      
      * cirrus nit
      
      * Review feedback
      
      * Review feedback
      
      * Fixing skip comparator
      
      * Fix base directory for Skia Gold case
      
      * ++
      
      * Feedback
      
      * ++
      
      * Fixed uri assertion
      
      * Made GoldensClient abstract, altered SkiaGoldClient constructor
      
      * Analyzer
      eb0b1790
  28. 08 Jul, 2019 1 commit
  29. 02 Jul, 2019 1 commit