[GridNG] Fix grid item contributions for 'auto' minimums

1. Refactoring `ItemSetIndices` computation in `GridItemData` to be
   cached earlier in the grid sizing algorithm; previously we computed
   these indices on demand, but later iterations of our implementation
   proved that we ended up requiring the indices for every item.

2. Implementing a "minimum contribution" of zero when grid items do not
   span an 'auto' min track sizing function, or when it spans more than
   one track and at least one of them is flexible.

   See https://drafts.csswg.org/css-grid-2/#min-size-auto.

3. Implementing clamping of grid item's 'auto' contributions when all of
   its spanned tracks have a definite max track sizing function; an item
   contribution should be less than or equal to the stretch fit into the
   grid area's maximum size in the respective dimension.

Bug: 1045599
Change-Id: I658bb5fdcaf267b43639d5c825c3d3ea40cc774f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2823473
Commit-Queue: Ethan Jimenez <ethavar@microsoft.com>
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Reviewed-by: Kurt Catti-Schmidt <kschmi@microsoft.com>
Cr-Commit-Position: refs/heads/master@{#873615}
diff --git a/css/css-grid/layout-algorithm/flex-and-intrinsic-sizes-001.html b/css/css-grid/layout-algorithm/flex-and-intrinsic-sizes-001.html
index 02e3407..dd6f602 100644
--- a/css/css-grid/layout-algorithm/flex-and-intrinsic-sizes-001.html
+++ b/css/css-grid/layout-algorithm/flex-and-intrinsic-sizes-001.html
@@ -45,7 +45,7 @@
 </div>
 
 <div class="container">
-  <div class="grid min-content" data-expected-width="30" data-expected-height="20" style="grid-template-columns:minmax(0, 1fr);">
+  <div class="grid min-content" data-expected-width="0" data-expected-height="20" style="grid-template-columns:minmax(0, 1fr);">
     <div>XXX XXX</div>
   </div>
 </div>