1. 10 Jan, 2018 2 commits
    • Michael Goderbauer's avatar
      Do not crash when toggling Semantics on, off, on (#13999) · 46629b71
      Michael Goderbauer authored
      * Do not crash when toggeling Semantics on, off, on
      
      * review comments
      46629b71
    • Ian Hickson's avatar
      Make DecoratedBox repaint after being reparented (#13927) · 316d8e1c
      Ian Hickson authored
      Fixes https://github.com/flutter/flutter/issues/12553
      
      The root cause of https://github.com/flutter/flutter/issues/12553 was that when the refresh indicator went away, which happened after the avatars had started their image loads but before the avatars had loaded, the DecoratedBoxes, along with the rest of the list, got GlobalKey-reparented, which caused the RenderDecoratedBox objects to unregister from the DecorationImagePainters, but they never re-registered since the whole subtree was in a RepaintBoundary and was therefore not explicitly repainted when the tree got reattached.
      
      This fixes the bug by explicitly requiring any RenderDecoratedBox to repaint when it's reattached. This is probably a little more aggressive than required; we could probably expose a flag on Decoration that says whether or not the onChanged handler will ever be invoked, and only call markNeedsPaint if that's true, but we'll do that if it turns out that there's a performance issue here.
      
      (This patch also introduces a bunch of improved debugging information that I used to track down the bug.)
      316d8e1c
  2. 09 Jan, 2018 10 commits
  3. 08 Jan, 2018 1 commit
  4. 06 Jan, 2018 1 commit
  5. 05 Jan, 2018 2 commits
  6. 04 Jan, 2018 2 commits
  7. 03 Jan, 2018 2 commits
  8. 02 Jan, 2018 1 commit
  9. 22 Dec, 2017 3 commits
    • Todd Volkert's avatar
      Partially revert #13711 (#13745) · 7132083b
      Todd Volkert authored
      This reverts the change to `user_accounts_drawer_header.dart`
      (and the associated test), as it was causing regressions in layout
      of the drawer header.
      
      https://github.com/flutter/flutter/issues/13743
      7132083b
    • xster's avatar
      Add Cupertino scrollbar (#13290) · 4fcdb50d
      xster authored
      * Create CupertinoScrollbar
      
      * handle main axis margin
      
      * Adaptive material scrollbar and tests
      
      * Small tweaks
      
      * reapply changes on head
      
      * Docs
      
      * start
      
      * Refactored ScrollbarPainter to be more immutable
      
      * fix tests
      
      * fix bug: one animationcontroller pointed to multiple painters
      
      * some docs tweak
      
      * remove unused import
      
      * review
      
      * review
      
      * add dispose
      4fcdb50d
    • Michael Goderbauer's avatar
      Fixes crash caused by invisible semantics children (#13740) · 4e13cd07
      Michael Goderbauer authored
      **tl;dr:** A `RenderObject` can only be an effective semantics boundary if it actually owned a `SemanticsNode` in the previous tree generation.
      
      When using the `BlockSemantics` widget it is possible to introduce `RenderObject`s that are configured to be a semantics boundary, but because their semantics are blocked by `BlockSemantics` they will not (immediately) end up owning a `SemanticsNode`. When now a descendant of such a node-less semantics boundary marks itself as needing a semantics update we walk up the tree until we find the closest semantics boundary (which is our node-less `RenderObject`). We now incorrectly assume that this semantics boundary has a valid `SemanticsNode` and only regenerate the semantics subtree below this node. However, because the identified semantics boundary doesn't actually own a valid `SemanticsNode` asserts are throwing (e.g. `Child with id xx is invisible and should not be added to tree.`).
      
      To fix this problem, we can just abort the walk if we reach a semantics boundary without a semantics node because (for now) we know that the semantics information of this branch will not make it into the final semantics tree.
      If the semantics block is ever removed, the current algorithm re-generates the semantics for the entire branch and the semantics will be up-to-date then despite the abort. I've added a test to verify this to make sure it continues to work even when we change the algorithm.
      
      Fixes https://github.com/flutter/flutter/issues/13326.
      /cc @gavindoughtie FYI
      4e13cd07
  10. 21 Dec, 2017 8 commits
  11. 20 Dec, 2017 3 commits
  12. 19 Dec, 2017 2 commits
    • Ian Hickson's avatar
      Fix niggling PaginatedDataTable bugs (#13556) · 78ff7707
      Ian Hickson authored
      Prevent header from thinking it can wrap and then overflowing.
      
      Fix default footer string which lost its colon (localized values are fine).
      
      Make the "rows per page" drop-down include at least one value even when the table lacks many items. (Previously it would assert if your table was too short.)
      
      Make the footer scrollable.
      
      Fix some todos and improve some debug output.
      
      Tests for much of the above.
      78ff7707
    • Michael Goderbauer's avatar
      IconButton is a button, semantically (#13674) · e6f20eb9
      Michael Goderbauer authored
      * IconButton is a button, semantically
      
      * fix datepicker test
      e6f20eb9
  13. 16 Dec, 2017 2 commits
  14. 15 Dec, 2017 1 commit