[GridNG] Second pass for orthogonal grid item contributions

1. Introducing the second pass of the track sizing algorithm to
   `ComputeMinMaxSizes` (such pass is already implemented in `Layout`);
   this issue prevented many scenarios to correctly compute a grid
   container's 'auto' size due to the method only doing the first pass
   and ignoring whenever any item's inline size was dependent on the
   block size, which could be different between passes.

2. Refactoring the track sizing algorithm to avoid rebuilding the track
   collections when doing multiple runs of the track sizing algorithm.

Bug: 1045599
Change-Id: I98c48d6f54bde0c1276327841bbf3d911e64f19e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2935011
Commit-Queue: Ethan Jimenez <ethavar@microsoft.com>
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#892435}
diff --git a/css/css-grid/layout-algorithm/grid-intrinsic-size-with-orthogonal-items.html b/css/css-grid/layout-algorithm/grid-intrinsic-size-with-orthogonal-items.html
index 4dfcd12..63d6844 100644
--- a/css/css-grid/layout-algorithm/grid-intrinsic-size-with-orthogonal-items.html
+++ b/css/css-grid/layout-algorithm/grid-intrinsic-size-with-orthogonal-items.html
@@ -33,25 +33,25 @@
 
 <pre>rows: auto</pre>
 
-<div class="grid" data-expected-width="25" data-expected-height="150">
+<div class="grid" data-expected-width="75" data-expected-height="150">
     <div class="item" data-expected-width="75" data-expected-height="150">XXX XX X XXX XX X</div>
 </div>
 
 <pre>rows: minmax(100px, 200px)</pre>
 
-<div class="grid minmax-100-200" data-expected-width="50" data-expected-height="150">
+<div class="grid minmax-100-200" data-expected-width="75" data-expected-height="150">
     <div class="item" data-expected-width="75" data-expected-height="150">XXX XX X XXX XX X</div>
 </div>
 
 <pre>rows: minmax(auto, 200px)</pre>
 
-<div class="grid minmax-auto-200" data-expected-width="50" data-expected-height="150">
+<div class="grid minmax-auto-200" data-expected-width="75" data-expected-height="150">
     <div class="item" data-expected-width="75" data-expected-height="150">XXX XX X XXX XX X</div>
 </div>
 
 <pre>rows: minmax(100px, auto)</pre>
 
-<div class="grid minmax-100-auto" data-expected-width="25" data-expected-height="150">
+<div class="grid minmax-100-auto" data-expected-width="75" data-expected-height="150">
     <div class="item" data-expected-width="75" data-expected-height="150">XXX XX X XXX XX X</div>
 </div>
 
@@ -63,13 +63,13 @@
 
 <pre>rows: minmax(100px, fit-content)</pre>
 
-<div class="grid minmax-auto-fitcontent" data-expected-width="25" data-expected-height="150">
+<div class="grid minmax-auto-fitcontent" data-expected-width="75" data-expected-height="150">
     <div class="item" data-expected-width="75" data-expected-height="150">XXX XX X XXX XX X</div>
 </div>
 
 <pre>rows: minmax(100px, 1fr)</pre>
 
-<div class="grid minmax-auto-1fr" data-expected-width="25" data-expected-height="150">
+<div class="grid minmax-auto-1fr" data-expected-width="75" data-expected-height="150">
     <div class="item" data-expected-width="75" data-expected-height="150">XXX XX X XXX XX X</div>
 </div>