1. 10 Oct, 2019 1 commit
  2. 09 Oct, 2019 2 commits
    • Greg Spencer's avatar
      Enables setting of semantics focused and focusable attributes within Focus widgets. (#41814) · 89d6c8d9
      Greg Spencer authored
      This adds a Semantics node to the Focus and FocusScope widgets, setting the focused and focusable attributes so that the accessibility subsystem can be told when a control has the input focus.
      
      Includes an engine roll to flutter/engine@77252d2, and the following 8 engine changes:
      
      flutter/engine@77252d2 Greg Spencer Add missing focusable testing info (flutter/engine#13013)
      flutter/engine@0e42a29 skia-flutter-.. Roll src/third_party/skia 54548626a977..e27a503a0a21 (1 commits) (flutter/engine#13024)
      flutter/engine@6b56ed7 gaaclarke Refactor: FlutterDartProject (flutter/engine#13006)
      flutter/engine@393480c skia-flutter-.. Roll src/third_party/skia 77dde599c98a..54548626a977 (1 commits) (flutter/engine#13023)
      flutter/engine@080b89d skia-flutter-.. Roll src/third_party/skia 2b1a25a4d324..77dde599c98a (1 commits) (flutter/engine#13021)
      flutter/engine@90b0f30 Ben Konyi Roll src/third_party/dart f4a72bfc64..bb04f145b2 (18 commits) (flutter/engine#13020)
      flutter/engine@049fb89 skia-flutter-.. Roll fuchsia/sdk/core/linux-amd64 from q_uYX... to cknsi... (flutter/engine#13019)
      flutter/engine@6925b2a skia-flutter-.. Roll fuchsia/sdk/core/mac-amd64 from wuAtw... to u0JpE... (flutter/engine#13018)
      
      Related Issues
      Addresses #40101
      
      Landing on red in order to fix the build: it's red because of the needed engine roll.
      89d6c8d9
    • Kate Lovett's avatar
      Incorporating Link Semantics (#41327) · 1ec44a0c
      Kate Lovett authored
      1ec44a0c
  3. 30 Sep, 2019 1 commit
  4. 24 Sep, 2019 1 commit
  5. 18 Sep, 2019 1 commit
  6. 17 Sep, 2019 3 commits
  7. 29 Aug, 2019 1 commit
  8. 23 Aug, 2019 1 commit
    • Greg Spencer's avatar
      Normalize assert checking of clipBehavior (#38568) · 365f577c
      Greg Spencer authored
      I noticed that we were pretty inconsistent with the way that we checked the value of clipBehavior in the framework, so I normalized the usages and updated docs where necessary.
      
      This is a breaking change if you used to pass null explicitly to FlatButton, OutlineButton or RaisedButton constructors, expecting to get Clip.none. It will now assert if you do that. Existing implementations that pass null implicitly by not specifying clipBehavior won't need to change their call sites. It always implicitly defaulted to Clip.none before, and it will continue to do that, it's only places where it was explicitly set to null in order to get the implicit default that it will fail.
      365f577c
  9. 16 Aug, 2019 1 commit
    • 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
  10. 08 Aug, 2019 2 commits
    • Tong Mu's avatar
      Fix mouse region crash when using closures (#37342) · 55fd5f15
      Tong Mu authored
      This PR fixes an issue where MouseRegion crashes when being passed with closures instead of methods.
      
      It changes how a RenderMouseRegion handles its MouseTrackingAnnotation.
      
      Instead of creating a new annotation every time it becomes active and destroys it when deactivated, it now creates an annotation during the constructor and holds onto it until the end of its lifecycle.
      Instead of directly passing the argument callbacks to the annotation, it proxies them using methods.
      55fd5f15
    • Tong Mu's avatar
      Fix mouse region double render (#37344) · e4a909fb
      Tong Mu authored
      Fix an issue where MouseRegion will render its children twice.
      e4a909fb
  11. 01 Aug, 2019 1 commit
    • Tong Mu's avatar
      Split Mouse from Listener (#36217) · 5bb8d8fc
      Tong Mu authored
      - Splits on{Enter,Hover,Exit} from Listener to MouseRegion. Deprecated API is kept for compatibility.
      - Splits on{Enter,Hover,Exit} from RenderPointerListener to RenderMouseRegion.
      5bb8d8fc
  12. 18 Jul, 2019 1 commit
  13. 03 Jul, 2019 1 commit
  14. 25 Jun, 2019 1 commit
  15. 19 Jun, 2019 1 commit
  16. 13 Jun, 2019 1 commit
  17. 04 Jun, 2019 1 commit
  18. 03 Jun, 2019 1 commit
  19. 16 May, 2019 1 commit
  20. 15 May, 2019 1 commit
    • Greg Spencer's avatar
      Fix needsCompositing propagation from child widgets. (#32717) · ed90d055
      Greg Spencer authored
      This fixes propagation of needsCompositing from child widgets.
      
      When needsCompositing is turned on by a child widget, it necessarily sets the needsCompositing bit of its parent widget, but RenderPointerListener was ignoring that piece of information and only turning on compositing if it thought it needed it for itself.
      
      This corrects that, and adds a test for the condition, and updates a test that was affected by the change.
      
      Fixes #32525 (again)
      ed90d055
  21. 13 May, 2019 2 commits
    • Greg Spencer's avatar
      Fix transforms for things with RenderPointerListeners (#32535) · a5053bfb
      Greg Spencer authored
      This fixes #32525, because it now marks the compositing bits as needing to be recalculated if the mouse tracker changes its idea of whether or not a mouse is attached.
      
      This bug occurred because the test framework was leaking state from one test to the next (the state about whether a mouse pointer was active), and so even though there was a "passing" test when run in order with the other tests in the file, when the test was run individually (or first), it would have failed and caught the bug.
      
      This adds an assert to make sure that after each test there are no simulated mouse pointers connected, and now calls removePointer in all of the tests where this was a problem.
      a5053bfb
    • liyuqian's avatar
      Reland matrix check (#32521) · 06f86c8b
      liyuqian authored
      This relands flutter/flutter#31701 with missing const added
      
      This reverts commit 549b4126.
      06f86c8b
  22. 10 May, 2019 2 commits
  23. 09 May, 2019 1 commit
  24. 08 May, 2019 1 commit
    • Greg Spencer's avatar
      Fix RenderPointerListener so that callbacks aren't called at the wrong time. (#32142) · 23baae0e
      Greg Spencer authored
      I recently added some code to keep hover events from being propagated when a mouse wasn't attached. While that works, there are times when it can fire callbacks during the building of other components, since they can now be called from detach/attach. This is not ideal, since it will assert then. This changes the code so that it won't update the annotations during attach/detach, but also won't push the annotation layer unless a mouse is connected, achieving the same result as before, but with better semantics.
      
      The basic problem is that in the detach for RenderPointerListener, it would detach the annotation, which could cause onExit to be called on the annotation, since the widget was disappearing under the mouse, and thus needs to receive an onExit, but that onExit might be (and probably will be) calling setState, which marks the owning widget as needing to be built, sometimes when it already has been.
      
      The fix creates a new _ListenerElement that overrides activate and deactivate in order to tell the render object ahead of the detach that it might be detached, and so the onExit gets called before the detach instead of during it.
      
      In addition, I now avoid scheduling more than one check for mouse positions per frame.
      23baae0e
  25. 06 May, 2019 1 commit
  26. 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
  27. 30 Apr, 2019 1 commit
    • liyuqian's avatar
      Support clipBehavior changes in hot reload (#31761) · 7cab6d5e
      liyuqian authored
      ## Description
      
      Make `_RenderCustomClip`'s `clipBehavior` non-final so we can update it during `updateRenderObject`. This will support `clipBehavior` changes in hot reload.
      
      ## Related Issues
      
      Fixes #30863
      
      ## Tests
      
      I added the following tests:
      
      * ClipRect updates clipBehavior in updateRenderObject
      * ClipRRect updates clipBehavior in updateRenderObject
      * ClipOval updates clipBehavior in updateRenderObject
      * ClipPath updates clipBehavior in updateRenderObject
      * PhysicalModel updates clipBehavior in updateRenderObject
      * PhysicalShape updates clipBehavior in updateRenderObject
      7cab6d5e
  28. 29 Apr, 2019 1 commit
  29. 11 Apr, 2019 1 commit
  30. 10 Apr, 2019 1 commit
  31. 26 Mar, 2019 1 commit
  32. 21 Mar, 2019 1 commit
  33. 20 Mar, 2019 1 commit
    • Alexandre Ardhuin's avatar
      some spaces formatting (#29452) · a6af4228
      Alexandre Ardhuin authored
      * some space formattings
      
      * always use blocks in if-else if a block is used
      
      * format spaces in for and while
      
      * allow multiline if conditions
      
      * fix missing space
      a6af4228
  34. 19 Mar, 2019 1 commit