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. 12 Sep, 2019 1 commit
  8. 11 Sep, 2019 1 commit
  9. 06 Sep, 2019 3 commits
  10. 05 Sep, 2019 2 commits
  11. 03 Sep, 2019 2 commits
    • Harry Terkelsen's avatar
      Automatically generated registrants for web plugins (#39628) · d33cf115
      Harry Terkelsen authored
      * WIP on web plugin registry
      
      * WIP on registering plugins
      
      * WIP on web plugin registration
      
      * Only generate `package:flutter_web_plugins` imports if plugins are
      defined
      
      * Add parsing test
      
      * Add documentation
      
      * Fix analyzer warnings
      
      * add license headers
      
      * Add tests for package:flutter_web_plugins
      
      * Run `flutter update-packages --force-upgrade`
      
      * Fix analyzer errors
      
      * Fix analyzer error in test
      
      * Update copyright and remove flutter SDK constraints
      
      * Enable tests since engine has rolled
      
      * add flutter_web_plugins tests to bots
      
      * Create an empty .packages file for WebFs test
      d33cf115
    • Kate Lovett's avatar
      Golden Doc Updates (#39082) · c8af729d
      Kate Lovett authored
      c8af729d
  12. 02 Sep, 2019 1 commit
  13. 29 Aug, 2019 1 commit
  14. 28 Aug, 2019 1 commit
  15. 27 Aug, 2019 1 commit
  16. 22 Aug, 2019 2 commits
  17. 21 Aug, 2019 1 commit
  18. 20 Aug, 2019 2 commits
    • Chris Bracken's avatar
      Update BUILD.gn for package:flutter_test (#38916) · a093b980
      Chris Bracken authored
      Syncs the BUILD.gn with pubspec.yaml for package:test. This fixes a
      breakage in the Fuchsia tree.
      a093b980
    • 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
  19. 19 Aug, 2019 2 commits
  20. 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
  21. 10 Aug, 2019 1 commit
  22. 09 Aug, 2019 3 commits
  23. 08 Aug, 2019 1 commit
  24. 07 Aug, 2019 1 commit
  25. 05 Aug, 2019 2 commits