• Hixie's avatar
    Remove the inner SizeObserver from ScrollableWidgetList. · 820137b7
    Hixie authored
    Adds a HomogeneousViewport class that works like MixedViewport but
    handles only children that have all the same height.
    
    Converts ScrollableWidgetList to use that, so that we don't waste a
    frame looking at the size of the contents each time we change size.
    
    This allows a number of seemingly pointless double-pumps in the tests
    to be removed.
    
    Other changes that were necessary to support the above:
    
     - RenderBlock now supports minExtent (think 'min-height' in CSS)
     - RenderBlock now supports itemExtent (forces the height of each
       child to be the same, so that the itemExtent passed to the fixed-
       height scrollables are all authoritative instead of a source of
       bugs when they don't match)
     - RenderBlockViewport now supports horizontal scrolling
     - improved the style of the isInfinite assert in box.dart
     - fixed the position of a comment in mixed_viewport.dart
     - added a test
     - made the logic for how many items to show be more precise
    820137b7
scrollable.dart 20.6 KB