1. 17 May, 2016 2 commits
  2. 29 Apr, 2016 1 commit
    • Ian Hickson's avatar
      Fix truncated dartdoc. (#3619) · 770e17cf
      Ian Hickson authored
      Note that the /// part of the doc was published, only the // line was
      omitted. This means that we can safely put // comments between /// docs
      and the member they are documenting.
      770e17cf
  3. 12 Apr, 2016 3 commits
  4. 09 Apr, 2016 1 commit
  5. 06 Apr, 2016 2 commits
    • Hans Muller's avatar
      Overscroll indicator for MaterialList · c058cf2e
      Hans Muller authored
      Overscroll indicator for MaterialList
      c058cf2e
    • Adam Barth's avatar
      LazyBlock docs and physics · 6fd68597
      Adam Barth authored
      This patch adds dartdoc to LazyBlock. Also, this patch fixes the scrolling
      physics of LazyBlock. Previously, we updated a running simulation only when the
      change in scroll behavior changed the current scroll offset. Now we update
      running simulations every time the behavior changes because the simulation
      might depend on quantities other than the current scroll offset.
      6fd68597
  6. 05 Apr, 2016 1 commit
    • Adam Barth's avatar
      Adds a first draft of LazyBlock · 618e7e49
      Adam Barth authored
      LazyBlock is intended as a replacement for MixedViewport. Rather than
      
      maintaining a table of all the observed child sizes (like
      
      MixedViewport), LazyBlock works by dead reckoning the location of the
      
      children based on the existing viewport. This approach makes it easier
      
      to resize children because LazyBlock doesn't cache any additional
      
      information that would need to be invalidated.
      
      
      
      This patch contains a first draft of LazyBlock that works in a simple
      
      usage scenario. Subsequent patches will replace
      
      ScrollableMixedWidgetList with LazyBlock and port the existing
      
      ScrollableMixedWidgetList tests over to LazyBlock.
      
      
      
      Related to #3075
      618e7e49
  7. 23 Mar, 2016 1 commit
    • Adam Barth's avatar
      Scrollable physics should be reasonable when sizes change · f7f1259b
      Adam Barth authored
      Previously, when the content extent changed during a scroll interaction, we'd
      stop the current scroll interaction and reset the scroll offset. Now we try to
      continue the scroll interaction (e.g., drag, fling, or overscroll) even through
      the underlying scroll behavior has changed.
      
      For physics-based scroll interactions, we keep the current position and
      velocity and recompute the operative forces. For drag interactions, we keep the
      current position and continue to let the user drag the scroll offset.
      
      After this patch, we still disrupt non-physical scroll animations that are
      operating outside the new scroll bounds because it's not clear how we can
      sensibly modify them to work with the new scroll bounds.
      f7f1259b
  8. 14 Mar, 2016 2 commits
  9. 12 Mar, 2016 7 commits
  10. 11 Mar, 2016 1 commit
  11. 04 Mar, 2016 1 commit
  12. 12 Feb, 2016 2 commits
    • Adam Barth's avatar
      Fix padding for ScrollableList · ad2fa5a6
      Adam Barth authored
      Previously we had totally wrong behavior. Now we have more correct behavior and
      testing.
      
      Fixes #1808
      ad2fa5a6
    • Hixie's avatar
      SizeObserver crusade: snap alignment · fd7be69d
      Hixie authored
      Remove the SizeObserver you need to use snap alignment in lists by
      having the lists provide the size themselves in the callback.
      
      Also, remove snapAlignmentOffset since we couldn't figure out how to
      explain it and it's not really needed.
      fd7be69d
  13. 10 Feb, 2016 2 commits
  14. 06 Feb, 2016 1 commit
    • Adam Barth's avatar
      Remove HomogeneousViewport · 5b896694
      Adam Barth authored
      The virtual viewport machinery now handles all of these use cases.
      Previous clients of ScrollableWidgetList can use ScrollableLazyList
      instead.
      5b896694
  15. 03 Feb, 2016 1 commit
  16. 21 Jan, 2016 1 commit
  17. 14 Jan, 2016 1 commit
    • Adam Barth's avatar
      Stocks has both tabs reified in the wiget tree · b5ed355b
      Adam Barth authored
      We were recomputing which widgets to show only when we were on the other side
      of the repaint boundaries. That doesn't work well for pageable lists because we
      come to rest exactly on a repaint boundary, which means we don't cull the other
      page.
      
      After this patch, we recompute the set of widgets using an edge-trigger when we
      hit the boundary. That's better than using a level-trigger so that we don't
      continuously recompute the set of widget as we sit at the boundary.
      b5ed355b
  18. 11 Jan, 2016 2 commits
  19. 06 Jan, 2016 4 commits
    • Adam Barth's avatar
      Switch PageableList over to using RenderList · e64d93a5
      Adam Barth authored
      This patch moves PageableList off HomogeneousViewport and onto RenderList and
      friends, making it match the new ScrollableList.
      e64d93a5
    • Adam Barth's avatar
      Replace ScrollableList with ScrollableList2 · 627c1ffb
      Adam Barth authored
      ScrollableList2 is complete and subsumes all the use cases for the original
      ScrollableList.
      627c1ffb
    • Adam Barth's avatar
      Fix assert in Stocks app · d2a1389e
      Adam Barth authored
      When paging a scrollable list, we were trying to read the render object's size
      at a time when we're not allowed to read it. Instead, encode the information
      into the repaint limit, which is more correct (and faster) anyway.
      d2a1389e
    • Adam Barth's avatar
      Switch clients of ScrollableList to ScrollableList2 · b1f9138f
      Adam Barth authored
      This patch also changed ScrollableList2 to use an Iterable instead of an
      List for its children. This change lets clients map their underlying
      data lazily. If the clients actually have a concrete list, we skip the
      extra copy and grab the child list directly.
      b1f9138f
  20. 05 Jan, 2016 2 commits
    • Adam Barth's avatar
      Complete features of ScrollableList2 · 37106ea6
      Adam Barth authored
      This patch implements the remaining missing features of ScrollableList2.
      It should now be nearly a drop-in replacement for ScrollableList. The
      next patch will switch callers over to the new machinery.
      37106ea6
    • Adam Barth's avatar
      Introduce ScrollableList2 · 99bca282
      Adam Barth authored
      ScrollableList2 uses the same pattern as ScrollableGrid, which requires the
      client to allocate widgets for every list item but doesn't inflate them unless
      they're actually needed for the view. It improves on the original
      ScrollableList by not requiring a rebuild of the whole visible portion of the
      list when scrolling. In fact, small scrolls can often be handled entirely by
      repainting.
      99bca282