No subject
Sun Dec 8 17:39:16 PST 2013
5692">r165692</a> by <svillar at igalia.com>
Source/WebCore:
The spec defines a different code path for the computeUsedBreadthOfGridTr=
acks algorithm
http://dev.w3.org/csswg/css-grid/#function-ComputeUsedBreadthOfGridTracks=
.
Basically the track breadth is different when the available size is undef=
ined and thus,
cannot be taken into account during the computations.
The available size is undefined whenever the height is auto or the grid e=
lement has a
shrink-to-fit behavior.
It was also renamed the function to match the specs so the function name =
starts with
'compute' instead of 'computed'.
No new tests, but added new cases to some of them.
* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::computeIntrinsicLogicalWidths):
(WebCore::RenderGrid::computeUsedBreadthOfGridTracks):
(WebCore::gridElementIsShrinkToFit):
(WebCore::RenderGrid::computeNormalizedFractionBreadth):
(WebCore::RenderGrid::layoutGridItems):
* rendering/RenderGrid.h:
LayoutTests:
Adapt tests to consider also cases for undefined RemainingSpace.
* fast/css-grid-layout/flex-and-minmax-content-resolution-rows-expected.t=
xt:
* fast/css-grid-layout/flex-and-minmax-content-resolution-rows.html:
* fast/css-grid-layout/flex-content-resolution-rows-expected.txt:
* fast/css-grid-layout/flex-content-resolution-rows.html:
* fast/css-grid-layout/grid-auto-columns-rows-update-expected.txt:
* fast/css-grid-layout/grid-auto-columns-rows-update.html:
* fast/css-grid-layout/grid-dynamic-updates-relayout-expected.txt:
* fast/css-grid-layout/grid-dynamic-updates-relayout.html:
* fast/css-grid-layout/grid-item-addition-track-breadth-update-expected.t=
xt:
* fast/css-grid-layout/grid-item-addition-track-breadth-update.html:
* fast/css-grid-layout/grid-item-multiple-minmax-content-resolution-expec=
ted.txt:
* fast/css-grid-layout/grid-item-multiple-minmax-content-resolution.html:
* fast/css-grid-layout/grid-item-removal-track-breadth-update-expected.tx=
t:
* fast/css-grid-layout/grid-item-removal-track-breadth-update.html:
* fast/css-grid-layout/grid-item-with-percent-height-in-auto-height-grid-=
resolution-expected.txt:
* fast/css-grid-layout/grid-item-with-percent-height-in-auto-height-grid-=
resolution.html:
* fast/css-grid-layout/implicit-position-dynamic-change-expected.txt:
* fast/css-grid-layout/implicit-position-dynamic-change.html:
* fast/css-grid-layout/minmax-max-content-resolution-rows-expected.txt:
* fast/css-grid-layout/minmax-max-content-resolution-rows.html:
* fast/css-grid-layout/minmax-min-content-column-resolution-rows-expected=
.txt:
* fast/css-grid-layout/minmax-min-content-column-resolution-rows.html:
* fast/css-grid-layout/minmax-spanning-resolution-rows-expected.txt:
* fast/css-grid-layout/minmax-spanning-resolution-rows.html:</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href=3D"#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a=
></li>
<li><a href=3D"#trunkLayoutTestsfastcssgridlayoutflexandminmaxcontentreso=
lutionrowsexpectedtxt">trunk/LayoutTests/fast/css-grid-layout/flex-and-mi=
nmax-content-resolution-rows-expected.txt</a></li>
<li><a href=3D"#trunkLayoutTestsfastcssgridlayoutflexandminmaxcontentreso=
lutionrowshtml">trunk/LayoutTests/fast/css-grid-layout/flex-and-minmax-co=
ntent-resolution-rows.html</a></li>
<li><a href=3D"#trunkLayoutTestsfastcssgridlayoutflexcontentresolutionrow=
sexpectedtxt">trunk/LayoutTests/fast/css-grid-layout/flex-content-resolut=
ion-rows-expected.txt</a></li>
<li><a href=3D"#trunkLayoutTestsfastcssgridlayoutflexcontentresolutionrow=
shtml">trunk/LayoutTests/fast/css-grid-layout/flex-content-resolution-row=
s.html</a></li>
<li><a href=3D"#trunkLayoutTestsfastcssgridlayoutgridautocolumnsrowsupdat=
eexpectedtxt">trunk/LayoutTests/fast/css-grid-layout/grid-auto-columns-ro=
ws-update-expected.txt</a></li>
<li><a href=3D"#trunkLayoutTestsfastcssgridlayoutgridautocolumnsrowsupdat=
ehtml">trunk/LayoutTests/fast/css-grid-layout/grid-auto-columns-rows-upda=
te.html</a></li>
<li><a href=3D"#trunkLayoutTestsfastcssgridlayoutgriddynamicupdatesrelayo=
utexpectedtxt">trunk/LayoutTests/fast/css-grid-layout/grid-dynamic-update=
s-relayout-expected.txt</a></li>
<li><a href=3D"#trunkLayoutTestsfastcssgridlayoutgriddynamicupdatesrelayo=
uthtml">trunk/LayoutTests/fast/css-grid-layout/grid-dynamic-updates-relay=
out.html</a></li>
<li><a href=3D"#trunkLayoutTestsfastcssgridlayoutgriditemadditiontrackbre=
adthupdateexpectedtxt">trunk/LayoutTests/fast/css-grid-layout/grid-item-a=
ddition-track-breadth-update-expected.txt</a></li>
<li><a href=3D"#trunkLayoutTestsfastcssgridlayoutgriditemadditiontrackbre=
adthupdatehtml">trunk/LayoutTests/fast/css-grid-layout/grid-item-addition=
-track-breadth-update.html</a></li>
<li><a href=3D"#trunkLayoutTestsfastcssgridlayoutgriditemmultipleminmaxco=
ntentresolutionexpectedtxt">trunk/LayoutTests/fast/css-grid-layout/grid-i=
tem-multiple-minmax-content-resolution-expected.txt</a></li>
<li><a href=3D"#trunkLayoutTestsfastcssgridlayoutgriditemmultipleminmaxco=
ntentresolutionhtml">trunk/LayoutTests/fast/css-grid-layout/grid-item-mul=
tiple-minmax-content-resolution.html</a></li>
<li><a href=3D"#trunkLayoutTestsfastcssgridlayoutgriditemremovaltrackbrea=
dthupdateexpectedtxt">trunk/LayoutTests/fast/css-grid-layout/grid-item-re=
moval-track-breadth-update-expected.txt</a></li>
<li><a href=3D"#trunkLayoutTestsfastcssgridlayoutgriditemremovaltrackbrea=
dthupdatehtml">trunk/LayoutTests/fast/css-grid-layout/grid-item-removal-t=
rack-breadth-update.html</a></li>
<li><a href=3D"#trunkLayoutTestsfastcssgridlayoutgriditemwithpercentheigh=
tinautoheightgridresolutionexpectedtxt">trunk/LayoutTests/fast/css-grid-l=
ayout/grid-item-with-percent-height-in-auto-height-grid-resolution-expect=
ed.txt</a></li>
<li><a href=3D"#trunkLayoutTestsfastcssgridlayoutgriditemwithpercentheigh=
tinautoheightgridresolutionhtml">trunk/LayoutTests/fast/css-grid-layout/g=
rid-item-with-percent-height-in-auto-height-grid-resolution.html</a></li>
<li><a href=3D"#trunkLayoutTestsfastcssgridlayoutimplicitpositiondynamicc=
hangeexpectedtxt">trunk/LayoutTests/fast/css-grid-layout/implicit-positio=
n-dynamic-change-expected.txt</a></li>
<li><a href=3D"#trunkLayoutTestsfastcssgridlayoutimplicitpositiondynamicc=
hangehtml">trunk/LayoutTests/fast/css-grid-layout/implicit-position-dynam=
ic-change.html</a></li>
<li><a href=3D"#trunkLayoutTestsfastcssgridlayoutminmaxmaxcontentresoluti=
onrowsexpectedtxt">trunk/LayoutTests/fast/css-grid-layout/minmax-max-cont=
ent-resolution-rows-expected.txt</a></li>
<li><a href=3D"#trunkLayoutTestsfastcssgridlayoutminmaxmaxcontentresoluti=
onrowshtml">trunk/LayoutTests/fast/css-grid-layout/minmax-max-content-res=
olution-rows.html</a></li>
<li><a href=3D"#trunkLayoutTestsfastcssgridlayoutminmaxmincontentcolumnre=
solutionrowsexpectedtxt">trunk/LayoutTests/fast/css-grid-layout/minmax-mi=
n-content-column-resolution-rows-expected.txt</a></li>
<li><a href=3D"#trunkLayoutTestsfastcssgridlayoutminmaxmincontentcolumnre=
solutionrowshtml">trunk/LayoutTests/fast/css-grid-layout/minmax-min-conte=
nt-column-resolution-rows.html</a></li>
<li><a href=3D"#trunkLayoutTestsfastcssgridlayoutminmaxspanningresolution=
rowsexpectedtxt">trunk/LayoutTests/fast/css-grid-layout/minmax-spanning-r=
esolution-rows-expected.txt</a></li>
<li><a href=3D"#trunkLayoutTestsfastcssgridlayoutminmaxspanningresolution=
rowshtml">trunk/LayoutTests/fast/css-grid-layout/minmax-spanning-resoluti=
on-rows.html</a></li>
<li><a href=3D"#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeL=
og</a></li>
<li><a href=3D"#trunkSourceWebCorerenderingRenderGridcpp">trunk/Source/We=
bCore/rendering/RenderGrid.cpp</a></li>
<li><a href=3D"#trunkSourceWebCorerenderingRenderGridh">trunk/Source/WebC=
ore/rendering/RenderGrid.h</a></li>
</ul>
</div>
<div id=3D"patch">
<h3>Diff</h3>
<a id=3D"trunkLayoutTestsChangeLog"></a>
<div class=3D"modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (164608 =
=3D> 164609)</h4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/LayoutTests/ChangeLog 2014-02-24 22:21:35 =
UTC (rev 164608)
+++ trunk/LayoutTests/ChangeLog 2014-02-24 22:29:20 UTC (rev 164609)
</span><span class=3D"lines">@@ -1,3 +1,39 @@
</span><ins>+2014-02-24 Javier Fernandez <jfernandez at igalia.com>
+
+ [CSS Grid Layout] handle undefined RemainingSpace in computeUsed=
BreadthOfGridTracks algorithm
+ https://bugs.webkit.org/show_bug.cgi?id=3D128372
+
+ Reviewed by David Hyatt.
+
+ From Blink r165692 by <svillar at igalia.com>
+
+ Adapt tests to consider also cases for undefined RemainingSpace.
+
+ * fast/css-grid-layout/flex-and-minmax-content-resolution-rows-e=
xpected.txt:
+ * fast/css-grid-layout/flex-and-minmax-content-resolution-rows.h=
tml:
+ * fast/css-grid-layout/flex-content-resolution-rows-expected.txt=
:
+ * fast/css-grid-layout/flex-content-resolution-rows.html:
+ * fast/css-grid-layout/grid-auto-columns-rows-update-expected.tx=
t:
+ * fast/css-grid-layout/grid-auto-columns-rows-update.html:
+ * fast/css-grid-layout/grid-dynamic-updates-relayout-expected.tx=
t:
+ * fast/css-grid-layout/grid-dynamic-updates-relayout.html:
+ * fast/css-grid-layout/grid-item-addition-track-breadth-update-e=
xpected.txt:
+ * fast/css-grid-layout/grid-item-addition-track-breadth-update.h=
tml:
+ * fast/css-grid-layout/grid-item-multiple-minmax-content-resolut=
ion-expected.txt:
+ * fast/css-grid-layout/grid-item-multiple-minmax-content-resolut=
ion.html:
+ * fast/css-grid-layout/grid-item-removal-track-breadth-update-ex=
pected.txt:
+ * fast/css-grid-layout/grid-item-removal-track-breadth-update.ht=
ml:
+ * fast/css-grid-layout/grid-item-with-percent-height-in-auto-hei=
ght-grid-resolution-expected.txt:
+ * fast/css-grid-layout/grid-item-with-percent-height-in-auto-hei=
ght-grid-resolution.html:
+ * fast/css-grid-layout/implicit-position-dynamic-change-expected=
.txt:
+ * fast/css-grid-layout/implicit-position-dynamic-change.html:
+ * fast/css-grid-layout/minmax-max-content-resolution-rows-expect=
ed.txt:
+ * fast/css-grid-layout/minmax-max-content-resolution-rows.html:
+ * fast/css-grid-layout/minmax-min-content-column-resolution-rows=
-expected.txt:
+ * fast/css-grid-layout/minmax-min-content-column-resolution-rows=
.html:
+ * fast/css-grid-layout/minmax-spanning-resolution-rows-expected.=
txt:
+ * fast/css-grid-layout/minmax-spanning-resolution-rows.html:
+
</ins><span class=3D"cx"> 2014-02-24 Thiago de Barros Lacerda <thiag=
o.lacerda at openbossa.org>
</span><span class=3D"cx">=20
</span><span class=3D"cx"> [WebRTC] Validating RTCConfiguration a=
ccording to the spec
</span></span></pre></div>
<a id=3D"trunkLayoutTestsfastcssgridlayoutflexandminmaxcontentresolutionr=
owsexpectedtxt"></a>
<div class=3D"modfile"><h4>Modified: trunk/LayoutTests/fast/css-grid-layo=
ut/flex-and-minmax-content-resolution-rows-expected.txt (164608 =3D> 1646=
09)</h4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/LayoutTests/fast/css-grid-layout/flex-and-=
minmax-content-resolution-rows-expected.txt 2014-02-24 22:21:35 UTC (rev =
164608)
+++ trunk/LayoutTests/fast/css-grid-layout/flex-and-minmax-content-resolu=
tion-rows-expected.txt 2014-02-24 22:29:20 UTC (rev 164609)
</span><span class=3D"lines">@@ -6,6 +6,10 @@
</span><span class=3D"cx"> PASS
</span><span class=3D"cx"> XXXXX
</span><span class=3D"cx"> PASS
</span><ins>+XXXXX
+PASS
+XXXXX
+PASS
</ins><span class=3D"cx"> XXXXX XXXX
</span><span class=3D"cx"> XXXXX XXXX
</span><span class=3D"cx"> PASS
</span><span class=3D"lines">@@ -15,11 +19,25 @@
</span><span class=3D"cx"> XXXXX XXXX
</span><span class=3D"cx"> XXXXX XXXX
</span><span class=3D"cx"> PASS
</span><ins>+XXXXX XXXX
+XXXXX XXXX
+PASS
+XXXXX XXXX
+XXXXX XXXX
+PASS
+XXXXX XXXX
+XXXXX XXXX
+PASS
</ins><span class=3D"cx"> XXXXX XXXXX XXXXX XXXXX
</span><span class=3D"cx"> PASS
</span><ins>+XXXXX XXXXX XXXXX XXXXX
+PASS
</ins><span class=3D"cx"> XXXXX XXXXX XXXXX XXXXX XXXXX
</span><span class=3D"cx"> XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX
</span><span class=3D"cx"> PASS
</span><ins>+XXXXX XXXXX XXXXX XXXXX XXXXX
+XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX
+PASS
</ins><span class=3D"cx"> XXXXX XXXXX XXXXX XXXXX
</span><span class=3D"cx"> XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX
</span><span class=3D"cx"> PASS
</span><span class=3D"lines">@@ -29,3 +47,12 @@
</span><span class=3D"cx"> XXXXX XXXXX XXXXX XXXXX
</span><span class=3D"cx"> XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX
</span><span class=3D"cx"> PASS
</span><ins>+XXXXX XXXXX XXXXX XXXXX
+XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX
+PASS
+XXXXX XXXXX XXXXX XXXXX
+XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX
+PASS
+XXXXX XXXXX XXXXX XXXXX
+XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX
+PASS
</ins></span></pre></div>
<a id=3D"trunkLayoutTestsfastcssgridlayoutflexandminmaxcontentresolutionr=
owshtml"></a>
<div class=3D"modfile"><h4>Modified: trunk/LayoutTests/fast/css-grid-layo=
ut/flex-and-minmax-content-resolution-rows.html (164608 =3D> 164609)</h4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/LayoutTests/fast/css-grid-layout/flex-and-=
minmax-content-resolution-rows.html 2014-02-24 22:21:35 UTC (rev 164608)
+++ trunk/LayoutTests/fast/css-grid-layout/flex-and-minmax-content-resolu=
tion-rows.html 2014-02-24 22:29:20 UTC (rev 164609)
</span><span class=3D"lines">@@ -54,62 +54,107 @@
</span><span class=3D"cx">=20
</span><span class=3D"cx"> <!-- Allow the extra logical space distribu=
tion to occur. -->
</span><span class=3D"cx"> <div style=3D"width: 10px; height: 40p=
x">
</span><del>- <div class=3D"grid gridMaxMaxContent">
</del><ins>+ <div class=3D"grid gridMaxMaxContent" style=3D=
"height: 100%">
</ins><span class=3D"cx"> <div class=3D"sizedToGridArea f=
irstRowFirstColumn" data-expected-width=3D"50" data-expect=
ed-height=3D"10">XXXXX</div>
</span><span class=3D"cx"> <div class=3D"sizedToGridArea =
secondRowFirstColumn" data-expected-width=3D"50" data-expe=
cted-height=3D"30"></div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx">=20
</span><del>-<div style=3D"width: 10px; height: 110px;">
</del><ins>+<div style=3D"width: 10px; height: 40px">
</ins><span class=3D"cx"> <div class=3D"grid gridMaxMaxConten=
t">
</span><span class=3D"cx"> <div class=3D"sizedToGridArea =
firstRowFirstColumn" data-expected-width=3D"50" data-expec=
ted-height=3D"10">XXXXX</div>
</span><ins>+ <div class=3D"sizedToGridArea secondRowFirst=
Column" data-expected-width=3D"50" data-expected-height=3D=
"10"></div>
+ </div>
+</div>
+
+<div style=3D"width: 10px; height: 110px;">
+ <div class=3D"grid gridMaxMaxContent" style=3D"hei=
ght: 100%">
+ <div class=3D"sizedToGridArea firstRowFirstColumn" =
data-expected-width=3D"50" data-expected-height=3D"10"=
;>XXXXX</div>
</ins><span class=3D"cx"> <div class=3D"sizedToGridArea s=
econdRowFirstColumn" data-expected-width=3D"50" data-expec=
ted-height=3D"100"></div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx">=20
</span><ins>+<div style=3D"width: 10px; height: 110px;">
+ <div class=3D"grid gridMaxMaxContent">
+ <div class=3D"sizedToGridArea firstRowFirstColumn" =
data-expected-width=3D"50" data-expected-height=3D"10"=
;>XXXXX</div>
+ <div class=3D"sizedToGridArea secondRowFirstColumn"=
data-expected-width=3D"50" data-expected-height=3D"10&quo=
t;></div>
+ </div>
+</div>
</ins><span class=3D"cx">=20
</span><span class=3D"cx"> <div class=3D"constrainedContainer&quo=
t;>
</span><del>- <div class=3D"grid gridMinMinContent">
</del><ins>+ <div class=3D"grid gridMinMinContent" style=3D=
"height: 100%">
</ins><span class=3D"cx"> <div class=3D"sizedToGridArea f=
irstRowFirstColumn" data-expected-width=3D"50" data-expect=
ed-height=3D"10">XXXXX XXXX</div>
</span><span class=3D"cx"> <div class=3D"sizedToGridArea =
secondRowFirstColumn" data-expected-width=3D"50" data-expe=
cted-height=3D"20">XXXXX XXXX</div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx">=20
</span><ins>+<div class=3D"constrainedContainer">
+ <div class=3D"grid gridMinMinContent">
+ <div class=3D"sizedToGridArea firstRowFirstColumn" =
data-expected-width=3D"50" data-expected-height=3D"30"=
;>XXXXX XXXX</div>
+ <div class=3D"sizedToGridArea secondRowFirstColumn"=
data-expected-width=3D"50" data-expected-height=3D"50&quo=
t;>XXXXX XXXX</div>
+ </div>
+</div>
+
</ins><span class=3D"cx"> <!-- Allow the extra logical space distribut=
ion to occur. -->
</span><span class=3D"cx"> <div style=3D"width: 10px; height: 40p=
x">
</span><del>- <div class=3D"grid gridMinMinContent">
</del><ins>+ <div class=3D"grid gridMinMinContent" style=3D=
"height: 100%">
</ins><span class=3D"cx"> <div class=3D"sizedToGridArea f=
irstRowFirstColumn" data-expected-width=3D"50" data-expect=
ed-height=3D"10">XXXXX XXXX</div>
</span><span class=3D"cx"> <div class=3D"sizedToGridArea =
secondRowFirstColumn" data-expected-width=3D"50" data-expe=
cted-height=3D"30">XXXXX XXXX</div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx">=20
</span><ins>+<div style=3D"width: 10px; height: 40px">
+ <div class=3D"grid gridMinMinContent">
+ <div class=3D"sizedToGridArea firstRowFirstColumn" =
data-expected-width=3D"50" data-expected-height=3D"30"=
;>XXXXX XXXX</div>
+ <div class=3D"sizedToGridArea secondRowFirstColumn"=
data-expected-width=3D"50" data-expected-height=3D"50&quo=
t;>XXXXX XXXX</div>
+ </div>
+</div>
+
</ins><span class=3D"cx"> <div style=3D"width: 10px; height: 110p=
x;">
</span><del>- <div class=3D"grid gridMinMinContent">
</del><ins>+ <div class=3D"grid gridMinMinContent" style=3D=
"height: 100%">
</ins><span class=3D"cx"> <div class=3D"sizedToGridArea f=
irstRowFirstColumn" data-expected-width=3D"50" data-expect=
ed-height=3D"60">XXXXX XXXX</div>
</span><span class=3D"cx"> <div class=3D"sizedToGridArea =
secondRowFirstColumn" data-expected-width=3D"50" data-expe=
cted-height=3D"50">XXXXX XXXX</div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx">=20
</span><ins>+<div style=3D"width: 10px; height: 110px;">
+ <div class=3D"grid gridMinMinContent">
+ <div class=3D"sizedToGridArea firstRowFirstColumn" =
data-expected-width=3D"50" data-expected-height=3D"30"=
;>XXXXX XXXX</div>
+ <div class=3D"sizedToGridArea secondRowFirstColumn"=
data-expected-width=3D"50" data-expected-height=3D"50&quo=
t;>XXXXX XXXX</div>
+ </div>
+</div>
</ins><span class=3D"cx">=20
</span><span class=3D"cx"> <div style=3D"width: 10px; height: 60p=
x;">
</span><del>- <div class=3D"grid gridWithIntrinsicSizeBiggerTh=
anFlex">
</del><ins>+ <div class=3D"grid gridWithIntrinsicSizeBiggerTha=
nFlex" style=3D"height: 100%">
</ins><span class=3D"cx"> <div class=3D"sizedToGridArea f=
irstRowFirstColumn" data-expected-width=3D"50" data-expect=
ed-height=3D"40">XXXXX XXXXX XXXXX XXXXX</div>
</span><span class=3D"cx"> <div class=3D"sizedToGridArea =
secondRowFirstColumn" data-expected-width=3D"50" data-expe=
cted-height=3D"20"></div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx">=20
</span><ins>+<div style=3D"width: 10px; height: 60px;">
+ <div class=3D"grid gridWithIntrinsicSizeBiggerThanFlex"=
>
+ <div class=3D"sizedToGridArea firstRowFirstColumn" =
data-expected-width=3D"50" data-expected-height=3D"40"=
;>XXXXX XXXXX XXXXX XXXXX</div>
+ <div class=3D"sizedToGridArea secondRowFirstColumn"=
data-expected-width=3D"50" data-expected-height=3D"160&qu=
ot;></div>
+ </div>
+</div>
</ins><span class=3D"cx">=20
</span><span class=3D"cx"> <div style=3D"width: 10px; height: 60p=
x;">
</span><del>- <div class=3D"grid gridShrinkBelowItemsIntrinsic=
Size">
</del><ins>+ <div class=3D"grid gridShrinkBelowItemsIntrinsicS=
ize" style=3D"height: 100%">
</ins><span class=3D"cx"> <div class=3D"sizedToGridArea f=
irstRowFirstColumn" data-expected-width=3D"50" data-expect=
ed-height=3D"20">XXXXX XXXXX XXXXX XXXXX XXXXX</div>
</span><span class=3D"cx"> <div class=3D"sizedToGridArea =
secondRowFirstColumn" data-expected-width=3D"50" data-expe=
cted-height=3D"40">XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX</d=
iv>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx">=20
</span><ins>+<div style=3D"width: 10px; height: 60px;">
+ <div class=3D"grid gridShrinkBelowItemsIntrinsicSize"&g=
t;
+ <div class=3D"sizedToGridArea firstRowFirstColumn" =
data-expected-width=3D"50" data-expected-height=3D"50"=
;>XXXXX XXXXX XXXXX XXXXX XXXXX</div>
+ <div class=3D"sizedToGridArea secondRowFirstColumn"=
data-expected-width=3D"50" data-expected-height=3D"100&qu=
ot;>XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX</div>
+ </div>
+</div>
</ins><span class=3D"cx">=20
</span><span class=3D"cx"> <!-- No space available for the <flex>=
; -->
</span><span class=3D"cx"> <div style=3D"width: 10px; height: 100=
px;">
</span><del>- <div class=3D"grid gridWithNonFlexingItems"=
>
</del><ins>+ <div class=3D"grid gridWithNonFlexingItems" =
style=3D"height: 100%">
</ins><span class=3D"cx"> <div class=3D"sizedToGridArea f=
irstRowFirstColumn" data-expected-width=3D"50" data-expect=
ed-height=3D"40"></div>
</span><span class=3D"cx"> <div class=3D"sizedToGridArea =
secondRowFirstColumn" data-expected-width=3D"50" data-expe=
cted-height=3D"40">XXXXX XXXXX XXXXX XXXXX</div>
</span><span class=3D"cx"> <div class=3D"sizedToGridArea =
thirdRowFirstColumn" data-expected-width=3D"50" data-expec=
ted-height=3D"60">XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX</di=
v>
</span><span class=3D"lines">@@ -117,9 +162,18 @@
</span><span class=3D"cx"> </div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx">=20
</span><ins>+<div style=3D"width: 10px; height: 100px;">
+ <div class=3D"grid gridWithNonFlexingItems">
+ <div class=3D"sizedToGridArea firstRowFirstColumn" =
data-expected-width=3D"50" data-expected-height=3D"40"=
;></div>
+ <div class=3D"sizedToGridArea secondRowFirstColumn"=
data-expected-width=3D"50" data-expected-height=3D"40&quo=
t;>XXXXX XXXXX XXXXX XXXXX</div>
+ <div class=3D"sizedToGridArea thirdRowFirstColumn" =
data-expected-width=3D"50" data-expected-height=3D"60"=
;>XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX</div>
+ <div class=3D"sizedToGridArea fourthRowFirstColumn"=
data-expected-width=3D"50" data-expected-height=3D"80&quo=
t;></div>
+ </div>
+</div>
+
</ins><span class=3D"cx"> <!-- The second track should be sized after =
the min-content as the <flex> value should be too small. -->
</span><span class=3D"cx"> <div style=3D"width: 10px; height: 180=
px;">
</span><del>- <div class=3D"grid gridWithNonFlexingItems"=
>
</del><ins>+ <div class=3D"grid gridWithNonFlexingItems" =
style=3D"height: 100%">
</ins><span class=3D"cx"> <div class=3D"sizedToGridArea f=
irstRowFirstColumn" data-expected-width=3D"50" data-expect=
ed-height=3D"40"></div>
</span><span class=3D"cx"> <div class=3D"sizedToGridArea =
secondRowFirstColumn" data-expected-width=3D"50" data-expe=
cted-height=3D"40">XXXXX XXXXX XXXXX XXXXX</div>
</span><span class=3D"cx"> <div class=3D"sizedToGridArea =
thirdRowFirstColumn" data-expected-width=3D"50" data-expec=
ted-height=3D"60">XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX</di=
v>
</span><span class=3D"lines">@@ -127,14 +181,32 @@
</span><span class=3D"cx"> </div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx">=20
</span><del>-<div style=3D"width: 10px; height: 400px;">
</del><ins>+<div style=3D"width: 10px; height: 180px;">
</ins><span class=3D"cx"> <div class=3D"grid gridWithNonFlexi=
ngItems">
</span><span class=3D"cx"> <div class=3D"sizedToGridArea =
firstRowFirstColumn" data-expected-width=3D"50" data-expec=
ted-height=3D"40"></div>
</span><ins>+ <div class=3D"sizedToGridArea secondRowFirst=
Column" data-expected-width=3D"50" data-expected-height=3D=
"40">XXXXX XXXXX XXXXX XXXXX</div>
+ <div class=3D"sizedToGridArea thirdRowFirstColumn" =
data-expected-width=3D"50" data-expected-height=3D"60"=
;>XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX</div>
+ <div class=3D"sizedToGridArea fourthRowFirstColumn"=
data-expected-width=3D"50" data-expected-height=3D"80&quo=
t;></div>
+ </div>
+</div>
+
+<div style=3D"width: 10px; height: 400px;">
+ <div class=3D"grid gridWithNonFlexingItems" style=3D&qu=
ot;height: 100%">
+ <div class=3D"sizedToGridArea firstRowFirstColumn" =
data-expected-width=3D"50" data-expected-height=3D"40"=
;></div>
</ins><span class=3D"cx"> <div class=3D"sizedToGridArea s=
econdRowFirstColumn" data-expected-width=3D"50" data-expec=
ted-height=3D"100">XXXXX XXXXX XXXXX XXXXX</div>
</span><span class=3D"cx"> <div class=3D"sizedToGridArea =
thirdRowFirstColumn" data-expected-width=3D"50" data-expec=
ted-height=3D"60">XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX</di=
v>
</span><span class=3D"cx"> <div class=3D"sizedToGridArea =
fourthRowFirstColumn" data-expected-width=3D"50" data-expe=
cted-height=3D"200"></div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx">=20
</span><ins>+<div style=3D"width: 10px; height: 400px;">
+ <div class=3D"grid gridWithNonFlexingItems">
+ <div class=3D"sizedToGridArea firstRowFirstColumn" =
data-expected-width=3D"50" data-expected-height=3D"40"=
;></div>
+ <div class=3D"sizedToGridArea secondRowFirstColumn"=
data-expected-width=3D"50" data-expected-height=3D"40&quo=
t;>XXXXX XXXXX XXXXX XXXXX</div>
+ <div class=3D"sizedToGridArea thirdRowFirstColumn" =
data-expected-width=3D"50" data-expected-height=3D"60"=
;>XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX</div>
+ <div class=3D"sizedToGridArea fourthRowFirstColumn"=
data-expected-width=3D"50" data-expected-height=3D"80&quo=
t;></div>
+ </div>
+</div>
+
</ins><span class=3D"cx"> </body>
</span><span class=3D"cx"> </html>
</span></span></pre></div>
<a id=3D"trunkLayoutTestsfastcssgridlayoutflexcontentresolutionrowsexpect=
edtxt"></a>
<div class=3D"modfile"><h4>Modified: trunk/LayoutTests/fast/css-grid-layo=
ut/flex-content-resolution-rows-expected.txt (164608 =3D> 164609)</h4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/LayoutTests/fast/css-grid-layout/flex-cont=
ent-resolution-rows-expected.txt 2014-02-24 22:21:35 UTC (rev 164608)
+++ trunk/LayoutTests/fast/css-grid-layout/flex-content-resolution-rows-e=
xpected.txt 2014-02-24 22:29:20 UTC (rev 164609)
</span><span class=3D"lines">@@ -12,3 +12,13 @@
</span><span class=3D"cx"> PASS
</span><span class=3D"cx"> PASS
</span><span class=3D"cx"> PASS
</span><ins>+PASS
+PASS
+PASS
+PASS
+PASS
+PASS
+PASS
+PASS
+PASS
+PASS
</ins></span></pre></div>
<a id=3D"trunkLayoutTestsfastcssgridlayoutflexcontentresolutionrowshtml">=
</a>
<div class=3D"modfile"><h4>Modified: trunk/LayoutTests/fast/css-grid-layo=
ut/flex-content-resolution-rows.html (164608 =3D> 164609)</h4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/LayoutTests/fast/css-grid-layout/flex-cont=
ent-resolution-rows.html 2014-02-24 22:21:35 UTC (rev 164608)
+++ trunk/LayoutTests/fast/css-grid-layout/flex-content-resolution-rows.h=
tml 2014-02-24 22:29:20 UTC (rev 164609)
</span><span class=3D"lines">@@ -29,18 +29,30 @@
</span><span class=3D"cx"> <p>Test that resolving auto tracks on gr=
id items works properly.</p>
</span><span class=3D"cx">=20
</span><span class=3D"cx"> <div style=3D"height: 0px">
</span><del>- <div class=3D"grid gridMinFlexContent">
</del><ins>+ <div class=3D"grid gridMinFlexContent" style=
=3D"height: 100%">
</ins><span class=3D"cx"> <div class=3D"sizedToGridArea f=
irstRowFirstColumn" data-expected-width=3D"50" data-expect=
ed-height=3D"0"></div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx">=20
</span><ins>+<div style=3D"height: 0px">
+ <div class=3D"grid gridMinFlexContent">
+ <div class=3D"sizedToGridArea firstRowFirstColumn" =
data-expected-width=3D"50" data-expected-height=3D"50"=
;></div>
+ </div>
+</div>
+
</ins><span class=3D"cx"> <!-- Allow the extra logical space distribut=
ion to occur. -->
</span><span class=3D"cx"> <div style=3D"width: 10px; height: 40p=
x">
</span><del>- <div class=3D"grid gridMinFlexContent">
</del><ins>+ <div class=3D"grid gridMinFlexContent" style=
=3D"height: 100%">
</ins><span class=3D"cx"> <div class=3D"sizedToGridArea f=
irstRowFirstColumn" data-expected-width=3D"50" data-expect=
ed-height=3D"40"></div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx">=20
</span><ins>+<div style=3D"width: 10px; height: 40px">
+ <div class=3D"grid gridMinFlexContent">
+ <div class=3D"sizedToGridArea firstRowFirstColumn" =
data-expected-width=3D"50" data-expected-height=3D"50"=
;></div>
+ </div>
+</div>
+
</ins><span class=3D"cx"> <div style=3D"width: 10px; height: 100p=
x;">
</span><span class=3D"cx"> <div class=3D"grid gridMinFlexCont=
ent">
</span><span class=3D"cx"> <div class=3D"sizedToGridArea =
firstRowFirstColumn" data-expected-width=3D"50" data-expec=
ted-height=3D"50"></div>
</span><span class=3D"lines">@@ -56,62 +68,114 @@
</span><span class=3D"cx">=20
</span><span class=3D"cx"> <!-- Allow the extra logical space distribu=
tion to occur. -->
</span><span class=3D"cx"> <div style=3D"width: 10px; height: 40p=
x">
</span><del>- <div class=3D"grid gridMaxFlexContent">
</del><ins>+ <div class=3D"grid gridMaxFlexContent" style=
=3D"height: 100%;">
</ins><span class=3D"cx"> <div class=3D"sizedToGridArea f=
irstRowFirstColumn" data-expected-width=3D"50" data-expect=
ed-height=3D"40"></div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx">=20
</span><ins>+<div style=3D"width: 10px; height: 40px">
+ <div class=3D"grid gridMaxFlexContent">
+ <div class=3D"sizedToGridArea firstRowFirstColumn" =
data-expected-width=3D"50" data-expected-height=3D"30"=
;></div>
+ </div>
+</div>
+
</ins><span class=3D"cx"> <div style=3D"width: 10px; height: 100p=
x;">
</span><del>- <div class=3D"grid gridMaxFlexContent">
</del><ins>+ <div class=3D"grid gridMaxFlexContent" style=
=3D"height: 100%;">
</ins><span class=3D"cx"> <div class=3D"sizedToGridArea f=
irstRowFirstColumn" data-expected-width=3D"50" data-expect=
ed-height=3D"100"></div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx">=20
</span><ins>+<div style=3D"width: 10px; height: 100px;">
+ <div class=3D"grid gridMaxFlexContent">
+ <div class=3D"sizedToGridArea firstRowFirstColumn" =
data-expected-width=3D"50" data-expected-height=3D"30"=
;></div>
+ </div>
+</div>
</ins><span class=3D"cx">=20
</span><span class=3D"cx"> <div class=3D"constrainedContainer&quo=
t;>
</span><del>- <div class=3D"grid gridTwoMaxFlexContent"&g=
t;
</del><ins>+ <div class=3D"grid gridTwoMaxFlexContent" st=
yle=3D"height: 100%">
</ins><span class=3D"cx"> <div class=3D"sizedToGridArea f=
irstRowFirstColumn" data-expected-width=3D"50" data-expect=
ed-height=3D"10"></div>
</span><span class=3D"cx"> <div class=3D"sizedToGridArea =
secondRowFirstColumn" data-expected-width=3D"50" data-expe=
cted-height=3D"10"></div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx">=20
</span><ins>+<div class=3D"constrainedContainer">
+ <div class=3D"grid gridTwoMaxFlexContent">
+ <div class=3D"sizedToGridArea firstRowFirstColumn" =
data-expected-width=3D"50" data-expected-height=3D"10"=
;></div>
+ <div class=3D"sizedToGridArea secondRowFirstColumn"=
data-expected-width=3D"50" data-expected-height=3D"20&quo=
t;></div>
+ </div>
+</div>
+
</ins><span class=3D"cx"> <!-- Allow the extra logical space distribut=
ion to occur. -->
</span><span class=3D"cx"> <div style=3D"width: 10px; height: 60p=
x">
</span><del>- <div class=3D"grid gridTwoMaxFlexContent"&g=
t;
</del><ins>+ <div class=3D"grid gridTwoMaxFlexContent" st=
yle=3D"height: 100%">
</ins><span class=3D"cx"> <div class=3D"sizedToGridArea f=
irstRowFirstColumn" data-expected-width=3D"50" data-expect=
ed-height=3D"20"></div>
</span><span class=3D"cx"> <div class=3D"sizedToGridArea =
secondRowFirstColumn" data-expected-width=3D"50" data-expe=
cted-height=3D"40"></div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx">=20
</span><ins>+<div style=3D"width: 10px; height: 60px">
+ <div class=3D"grid gridTwoMaxFlexContent">
+ <div class=3D"sizedToGridArea firstRowFirstColumn" =
data-expected-width=3D"50" data-expected-height=3D"10"=
;></div>
+ <div class=3D"sizedToGridArea secondRowFirstColumn"=
data-expected-width=3D"50" data-expected-height=3D"20&quo=
t;></div>
+ </div>
+</div>
+
</ins><span class=3D"cx"> <div style=3D"width: 10px; height: 120p=
x;">
</span><del>- <div class=3D"grid gridTwoMaxFlexContent"&g=
t;
</del><ins>+ <div class=3D"grid gridTwoMaxFlexContent" st=
yle=3D"height: 100%">
</ins><span class=3D"cx"> <div class=3D"sizedToGridArea f=
irstRowFirstColumn" data-expected-width=3D"50" data-expect=
ed-height=3D"40"></div>
</span><span class=3D"cx"> <div class=3D"sizedToGridArea =
secondRowFirstColumn" data-expected-width=3D"50" data-expe=
cted-height=3D"80"></div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx">=20
</span><ins>+<div style=3D"width: 10px; height: 120px;">
+ <div class=3D"grid gridTwoMaxFlexContent">
+ <div class=3D"sizedToGridArea firstRowFirstColumn" =
data-expected-width=3D"50" data-expected-height=3D"10"=
;></div>
+ <div class=3D"sizedToGridArea secondRowFirstColumn"=
data-expected-width=3D"50" data-expected-height=3D"20&quo=
t;></div>
+ </div>
+</div>
</ins><span class=3D"cx">=20
</span><span class=3D"cx"> <div class=3D"constrainedContainer&quo=
t;>
</span><del>- <div class=3D"grid gridTwoDoubleMaxFlexContent&q=
uot;>
</del><ins>+ <div class=3D"grid gridTwoDoubleMaxFlexContent&qu=
ot; style=3D"height: 100%">
</ins><span class=3D"cx"> <div class=3D"sizedToGridArea f=
irstRowFirstColumn" data-expected-width=3D"50" data-expect=
ed-height=3D"10"></div>
</span><span class=3D"cx"> <div class=3D"sizedToGridArea =
secondRowFirstColumn" data-expected-width=3D"50" data-expe=
cted-height=3D"10"></div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx">=20
</span><ins>+<div class=3D"constrainedContainer">
+ <div class=3D"grid gridTwoDoubleMaxFlexContent">
+ <div class=3D"sizedToGridArea firstRowFirstColumn" =
data-expected-width=3D"50" data-expected-height=3D"10"=
;></div>
+ <div class=3D"sizedToGridArea secondRowFirstColumn"=
data-expected-width=3D"50" data-expected-height=3D"40&quo=
t;></div>
+ </div>
+</div>
+
</ins><span class=3D"cx"> <!-- Allow the extra logical space distribut=
ion to occur. -->
</span><span class=3D"cx"> <div style=3D"width: 10px; height: 60p=
x">
</span><del>- <div class=3D"grid gridTwoDoubleMaxFlexContent&q=
uot;>
</del><ins>+ <div class=3D"grid gridTwoDoubleMaxFlexContent&qu=
ot; style=3D"height: 100%">
</ins><span class=3D"cx"> <div class=3D"sizedToGridArea f=
irstRowFirstColumn" data-expected-width=3D"50" data-expect=
ed-height=3D"12"></div>
</span><span class=3D"cx"> <div class=3D"sizedToGridArea =
secondRowFirstColumn" data-expected-width=3D"50" data-expe=
cted-height=3D"48"></div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx">=20
</span><ins>+<div style=3D"width: 10px; height: 60px">
+ <div class=3D"grid gridTwoDoubleMaxFlexContent">
+ <div class=3D"sizedToGridArea firstRowFirstColumn" =
data-expected-width=3D"50" data-expected-height=3D"10"=
;></div>
+ <div class=3D"sizedToGridArea secondRowFirstColumn"=
data-expected-width=3D"50" data-expected-height=3D"40&quo=
t;></div>
+ </div>
+</div>
+
</ins><span class=3D"cx"> <div style=3D"width: 10px; height: 120p=
x;">
</span><del>- <div class=3D"grid gridTwoDoubleMaxFlexContent&q=
uot;>
</del><ins>+ <div class=3D"grid gridTwoDoubleMaxFlexContent&qu=
ot; style=3D"height: 100%">
</ins><span class=3D"cx"> <div class=3D"sizedToGridArea f=
irstRowFirstColumn" data-expected-width=3D"50" data-expect=
ed-height=3D"24"></div>
</span><span class=3D"cx"> <div class=3D"sizedToGridArea =
secondRowFirstColumn" data-expected-width=3D"50" data-expe=
cted-height=3D"96"></div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx">=20
</span><ins>+<div style=3D"width: 10px; height: 120px;">
+ <div class=3D"grid gridTwoDoubleMaxFlexContent">
+ <div class=3D"sizedToGridArea firstRowFirstColumn" =
data-expected-width=3D"50" data-expected-height=3D"10"=
;></div>
+ <div class=3D"sizedToGridArea secondRowFirstColumn"=
data-expected-width=3D"50" data-expected-height=3D"40&quo=
t;></div>
+ </div>
+</div>
+
</ins><span class=3D"cx"> </body>
</span><span class=3D"cx"> </html>
</span></span></pre></div>
<a id=3D"trunkLayoutTestsfastcssgridlayoutgridautocolumnsrowsupdateexpect=
edtxt"></a>
<div class=3D"modfile"><h4>Modified: trunk/LayoutTests/fast/css-grid-layo=
ut/grid-auto-columns-rows-update-expected.txt (164608 =3D> 164609)</h4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/LayoutTests/fast/css-grid-layout/grid-auto=
-columns-rows-update-expected.txt 2014-02-24 22:21:35 UTC (rev 164608)
+++ trunk/LayoutTests/fast/css-grid-layout/grid-auto-columns-rows-update-=
expected.txt 2014-02-24 22:29:20 UTC (rev 164609)
</span><span class=3D"lines">@@ -19,3 +19,13 @@
</span><span class=3D"cx"> PASS
</span><span class=3D"cx"> PASS
</span><span class=3D"cx"> PASS
</span><ins>+XXXXX XXXXXX
+PASS
+PASS
+PASS
+PASS
+PASS
+PASS
+PASS
+PASS
+PASS
</ins></span></pre></div>
<a id=3D"trunkLayoutTestsfastcssgridlayoutgridautocolumnsrowsupdatehtml">=
</a>
<div class=3D"modfile"><h4>Modified: trunk/LayoutTests/fast/css-grid-layo=
ut/grid-auto-columns-rows-update.html (164608 =3D> 164609)</h4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/LayoutTests/fast/css-grid-layout/grid-auto=
-columns-rows-update.html 2014-02-24 22:21:35 UTC (rev 164608)
+++ trunk/LayoutTests/fast/css-grid-layout/grid-auto-columns-rows-update.=
html 2014-02-24 22:29:20 UTC (rev 164609)
</span><span class=3D"lines">@@ -47,12 +47,21 @@
</span><span class=3D"cx">=20
</span><span class=3D"cx"> updateAndCheck("unconstrainedGrid&quo=
t;, { 'rows': 'minmax(20em, 15px)', 'columns': '50px' }, { 'width': '50px=
', 'height': '200px' });
</span><span class=3D"cx"> updateAndCheck("unconstrainedGrid&quo=
t;, { 'rows': 'minmax(20em, 15px)', 'columns': 'minmax(10%, 100px)' }, { =
'width': '100px', 'height': '200px' });
</span><del>- updateAndCheck("unconstrainedGrid", { 'rows': =
'minmax(-webkit-min-content, 15px)', 'columns': 'minmax(10%, 100px)' }, {=
'width': '100px', 'height': '20px' });
</del><ins>+ updateAndCheck("unconstrainedGrid", { 'rows': '=
minmax(-webkit-min-content, 15px)', 'columns': 'minmax(10%, 100px)' }, { =
'width': '100px', 'height': '15px' });
</ins><span class=3D"cx"> updateAndCheck("unconstrainedGrid"=
;, { 'rows': 'minmax(-webkit-min-content, 15px)', 'columns': 'minmax(10%,=
-webkit-max-content)' }, { 'width': '120px', 'height': '15px' });
</span><span class=3D"cx"> updateAndCheck("unconstrainedGrid&quo=
t;, { 'rows': 'minmax(-webkit-min-content, 15px)', 'columns': 'minmax(10%=
, -webkit-max-content)' }, { 'width': '120px', 'height': '15px' });
</span><span class=3D"cx"> updateAndCheck("unconstrainedGrid&quo=
t;, { 'rows': 'auto', 'columns': 'minmax(10em, -webkit-max-content)' }, {=
'width': '120px', 'height': '10px' });
</span><span class=3D"cx"> updateAndCheck("unconstrainedGrid&quo=
t;, { 'rows': 'auto', 'columns': 'minmax(20em, -webkit-max-content)' }, {=
'width': '200px', 'height': '10px' });
</span><span class=3D"cx"> updateAndCheck("unconstrainedGrid&quo=
t;, { 'rows': 'auto', 'columns': 'auto' }, { 'width': '120px', 'height': =
'10px' });
</span><ins>+
+ updateAndCheck("constrainedGridUndefinedHeight", { 'rows':=
'minmax(20em, 15px)', 'columns': '50px' }, { 'width': '50px', 'height': =
'200px' });
+ updateAndCheck("constrainedGridUndefinedHeight", { 'rows':=
'minmax(20em, 15px)', 'columns': 'minmax(10%, 100px)' }, { 'width': '1px=
', 'height': '200px' });
+ updateAndCheck("constrainedGridUndefinedHeight", { 'rows':=
'minmax(-webkit-min-content, 15px)', 'columns': 'minmax(10%, 100px)' }, =
{ 'width': '1px', 'height': '15px' });
+ updateAndCheck("constrainedGridUndefinedHeight", { 'rows':=
'minmax(-webkit-min-content, 15px)', 'columns': 'minmax(-webkit-max-cont=
ent, 100px)' }, { 'width': '120px', 'height': '15px' });
+ updateAndCheck("constrainedGridUndefinedHeight", { 'rows':=
'minmax(40em, 15px)', 'columns': 'minmax(-webkit-max-content, 100px)' },=
{ 'width': '120px', 'height': '400px' });
+ updateAndCheck("constrainedGridUndefinedHeight", { 'rows':=
'minmax(40em, 15px)', 'columns': 'minmax(10%, 100px)' }, { 'width': '1px=
', 'height': '400px' });
+ updateAndCheck("constrainedGridUndefinedHeight", { 'rows':=
'minmax(40em, 15px)', 'columns': 'auto' }, { 'width': '60px', 'height': =
'400px' });
+ updateAndCheck("constrainedGridUndefinedHeight", { 'rows':=
'auto', 'columns': 'auto' }, { 'width': '60px', 'height': '20px' });
</ins><span class=3D"cx"> }
</span><span class=3D"cx">=20
</span><span class=3D"cx"> window.addEventListener("load", upda=
teGridAutoRowsColumns, false);
</span><span class=3D"lines">@@ -62,7 +71,7 @@
</span><span class=3D"cx"> <div>This test checks that grid-auto-{ro=
w|column} updates properly recomputes the grid items' sizes.</div>
</span><span class=3D"cx">=20
</span><span class=3D"cx"> <div class=3D"constrainedContainer&quo=
t; style=3D"position: relative">
</span><del>- <div class=3D"grid" id=3D"constrainedG=
rid">
</del><ins>+ <div class=3D"grid" id=3D"constrainedGr=
id" style=3D"height: 100%">
</ins><span class=3D"cx"> <div class=3D"sizedToGridArea s=
econdRowSecondColumn" data-offset-x=3D"10" data-offset-y=3D=
"20" data-expected-width=3D"50" data-expected-height=3D=
"30">XXXXX XXXXXX</div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx"> </div>
</span><span class=3D"lines">@@ -73,5 +82,11 @@
</span><span class=3D"cx"> </div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx">=20
</span><ins>+<div class=3D"constrainedContainer" style=3D&qu=
ot;position: relative;">
+ <div class=3D"grid" id=3D"constrainedGridUndefined=
Height">
+ <div class=3D"sizedToGridArea secondRowSecondColumn"=
; data-offset-x=3D"10" data-offset-y=3D"20" data-expe=
cted-width=3D"50" data-expected-height=3D"30">XXXX=
X XXXXXX</div>
+ </div>
+</div>
+
</ins><span class=3D"cx"> </body>
</span><span class=3D"cx"> </html>
</span></span></pre></div>
<a id=3D"trunkLayoutTestsfastcssgridlayoutgriddynamicupdatesrelayoutexpec=
tedtxt"></a>
<div class=3D"modfile"><h4>Modified: trunk/LayoutTests/fast/css-grid-layo=
ut/grid-dynamic-updates-relayout-expected.txt (164608 =3D> 164609)</h4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/LayoutTests/fast/css-grid-layout/grid-dyna=
mic-updates-relayout-expected.txt 2014-02-24 22:21:35 UTC (rev 164608)
+++ trunk/LayoutTests/fast/css-grid-layout/grid-dynamic-updates-relayout-=
expected.txt 2014-02-24 22:29:20 UTC (rev 164609)
</span><span class=3D"lines">@@ -13,6 +13,13 @@
</span><span class=3D"cx"> PASS
</span><span class=3D"cx"> PASS
</span><span class=3D"cx"> PASS
</span><ins>+XXXXX XXXXXX
</ins><span class=3D"cx"> PASS
</span><span class=3D"cx"> PASS
</span><span class=3D"cx"> PASS
</span><ins>+PASS
+PASS
+PASS
+PASS
+PASS
+PASS
</ins></span></pre></div>
<a id=3D"trunkLayoutTestsfastcssgridlayoutgriddynamicupdatesrelayouthtml"=
></a>
<div class=3D"modfile"><h4>Modified: trunk/LayoutTests/fast/css-grid-layo=
ut/grid-dynamic-updates-relayout.html (164608 =3D> 164609)</h4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/LayoutTests/fast/css-grid-layout/grid-dyna=
mic-updates-relayout.html 2014-02-24 22:21:35 UTC (rev 164608)
+++ trunk/LayoutTests/fast/css-grid-layout/grid-dynamic-updates-relayout.=
html 2014-02-24 22:29:20 UTC (rev 164609)
</span><span class=3D"lines">@@ -28,6 +28,13 @@
</span><span class=3D"cx"> testLayout("constrainedGrid", { =
'rows': 'auto', 'columns': 'minmax(-webkit-max-content, 50px)' }, { 'widt=
h': '120', 'height': '10' });
</span><span class=3D"cx"> testLayout("constrainedGrid", { =
'rows': '70px', 'columns': 'minmax(-webkit-max-content, 50px)' }, { 'widt=
h': '120', 'height': '70' });
</span><span class=3D"cx">=20
</span><ins>+ testLayout("constrainedGridUndefinedHeight", {=
'rows': 'minmax(20px, 50px)', 'columns': 'minmax(30px, 50px)' }, { 'widt=
h': '30', 'height': '50' });
+ testLayout("constrainedGridUndefinedHeight", { 'rows': 'mi=
nmax(40px, 50px)', 'columns': 'minmax(30px, 50px)' }, { 'width': '30', 'h=
eight': '50' });
+ testLayout("constrainedGridUndefinedHeight", { 'rows': 'mi=
nmax(40px, 50px)', 'columns': 'minmax(50px, 50px)' }, { 'width': '50', 'h=
eight': '50' });
+ testLayout("constrainedGridUndefinedHeight", { 'rows': 'au=
to', 'columns': 'minmax(50px, 50px)' }, { 'width': '50', 'height': '20' }=
);
+ testLayout("constrainedGridUndefinedHeight", { 'rows': 'au=
to', 'columns': 'minmax(-webkit-max-content, 50px)' }, { 'width': '120', =
'height': '10' });
+ testLayout("constrainedGridUndefinedHeight", { 'rows': '70=
px', 'columns': 'minmax(-webkit-max-content, 50px)' }, { 'width': '120', =
'height': '70' });
+
</ins><span class=3D"cx"> testLayout("unconstrainedGrid", {=
'rows': 'minmax(20px, 50px)', 'columns': 'minmax(20px, 60px)' }, { 'widt=
h': '60', 'height': '50' });
</span><span class=3D"cx"> testLayout("unconstrainedGrid", =
{ 'rows': 'minmax(20px, 50px)', 'columns': 'minmax(20px, 40px)' }, { 'wid=
th': '40', 'height': '50' });
</span><span class=3D"cx"> testLayout("unconstrainedGrid", =
{ 'rows': 'minmax(20px, 30px)', 'columns': 'minmax(20px, 40px)' }, { 'wid=
th': '40', 'height': '30' });
</span><span class=3D"lines">@@ -44,11 +51,17 @@
</span><span class=3D"cx"> <body>
</span><span class=3D"cx"> <div>This test checks that grid-{rows|co=
lumns} dynamic updates properly relayout the grid items.</div>
</span><span class=3D"cx"> <div class=3D"constrainedContainer&quo=
t;>
</span><del>- <div class=3D"grid" id=3D"constrainedG=
rid">
</del><ins>+ <div class=3D"grid" id=3D"constrainedGr=
id" style=3D"height: 100%">
</ins><span class=3D"cx"> <div class=3D"sizedToGridArea&q=
uot;>XXXXX XXXXXX</div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx">=20
</span><ins>+<div class=3D"constrainedContainer">
+ <div class=3D"grid" id=3D"constrainedGridUndefined=
Height">
+ <div class=3D"sizedToGridArea">XXXXX XXXXXX</=
div>
+ </div>
+</div>
+
</ins><span class=3D"cx"> <div class=3D"unconstrainedContainer&qu=
ot;>
</span><span class=3D"cx"> <div class=3D"grid" id=3D&quo=
t;unconstrainedGrid">
</span><span class=3D"cx"> <div class=3D"sizedToGridArea&=
quot;>XXXXX XXXXXX</div>
</span></span></pre></div>
<a id=3D"trunkLayoutTestsfastcssgridlayoutgriditemadditiontrackbreadthupd=
ateexpectedtxt"></a>
<div class=3D"modfile"><h4>Modified: trunk/LayoutTests/fast/css-grid-layo=
ut/grid-item-addition-track-breadth-update-expected.txt (164608 =3D> 1646=
09)</h4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/LayoutTests/fast/css-grid-layout/grid-item=
-addition-track-breadth-update-expected.txt 2014-02-24 22:21:35 UTC (rev =
164608)
+++ trunk/LayoutTests/fast/css-grid-layout/grid-item-addition-track-bread=
th-update-expected.txt 2014-02-24 22:29:20 UTC (rev 164609)
</span><span class=3D"lines">@@ -42,6 +42,48 @@
</span><span class=3D"cx"> PASS
</span><span class=3D"cx"> PASS
</span><span class=3D"cx"> PASS
</span><ins>+XXXX XXXX XXXX
+XXXX XXXX XXXX
+XXXX XXXX XXXX
+XXXX XXXX XXXX
+XXXX XXXX XXXX
+XXXX XXXX XXXX
+XXXX XXXX XXXX
+XXXX XXXX XXXX
+XXXX XXXX XXXX
+XXXX XXXX XXXX
+XXXX XXXX XXXX
+XXXX XXXX XXXX
+XXXX XXXX XXXX
+XXXX XXXX XXXX
+XXXX XXXX XXXX
+XXXX XXXX XXXX
+XXXX XXXX XXXX
+XXXX XXXX XXXX
+XXXX XXXX XXXX
+XXXX XXXX XXXX
+XXXX XXXX XXXX
+PASS
+PASS
+PASS
+PASS
+PASS
+PASS
+PASS
+PASS
+PASS
+PASS
+PASS
+PASS
+PASS
+PASS
+PASS
+PASS
+PASS
+PASS
+PASS
+PASS
+PASS
</ins><span class=3D"cx"> XXXXXX XXXXXX
</span><span class=3D"cx"> XXXXXX XXXXXX
</span><span class=3D"cx"> XXXXXX XXXXXX
</span></span></pre></div>
<a id=3D"trunkLayoutTestsfastcssgridlayoutgriditemadditiontrackbreadthupd=
atehtml"></a>
<div class=3D"modfile"><h4>Modified: trunk/LayoutTests/fast/css-grid-layo=
ut/grid-item-addition-track-breadth-update.html (164608 =3D> 164609)</h4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/LayoutTests/fast/css-grid-layout/grid-item=
-addition-track-breadth-update.html 2014-02-24 22:21:35 UTC (rev 164608)
+++ trunk/LayoutTests/fast/css-grid-layout/grid-item-addition-track-bread=
th-update.html 2014-02-24 22:29:20 UTC (rev 164609)
</span><span class=3D"lines">@@ -62,6 +62,33 @@
</span><span class=3D"cx"> testPosition("constrainedGrid", =
"XXXX XXXX XXXX", { 'column': '4', 'row': '4' }, { 'width': '50=
', 'height': '65' });
</span><span class=3D"cx"> testPosition("constrainedGrid", =
"XXXX XXXX XXXX", { 'column': '4', 'row': '5' }, { 'width': '50=
', 'height': '30' });
</span><span class=3D"cx">=20
</span><ins>+
+ testPosition("constrainedGridUndefinedHeight", "XXXX =
XXXX XXXX", { 'column': '10', 'row': '15' }, { 'width': '40', 'heigh=
t': '30' });
+
+ testPosition("constrainedGridUndefinedHeight", "XXXX =
XXXX XXXX", { 'column': '1', 'row': '1' }, { 'width': '50', 'height'=
: '70' });
+ testPosition("constrainedGridUndefinedHeight", "XXXX =
XXXX XXXX", { 'column': '1', 'row': '2' }, { 'width': '50', 'height'=
: '70' });
+ testPosition("constrainedGridUndefinedHeight", "XXXX =
XXXX XXXX", { 'column': '1', 'row': '3' }, { 'width': '50', 'height'=
: '50' });
+ testPosition("constrainedGridUndefinedHeight", "XXXX =
XXXX XXXX", { 'column': '1', 'row': '4' }, { 'width': '50', 'height'=
: '65' });
+ testPosition("constrainedGridUndefinedHeight", "XXXX =
XXXX XXXX", { 'column': '1', 'row': '5' }, { 'width': '50', 'height'=
: '30' });
+
+ testPosition("constrainedGridUndefinedHeight", "XXXX =
XXXX XXXX", { 'column': '2', 'row': '1' }, { 'width': '40', 'height'=
: '70' });
+ testPosition("constrainedGridUndefinedHeight", "XXXX =
XXXX XXXX", { 'column': '2', 'row': '2' }, { 'width': '40', 'height'=
: '70' });
+ testPosition("constrainedGridUndefinedHeight", "XXXX =
XXXX XXXX", { 'column': '2', 'row': '3' }, { 'width': '40', 'height'=
: '50' });
+ testPosition("constrainedGridUndefinedHeight", "XXXX =
XXXX XXXX", { 'column': '2', 'row': '4' }, { 'width': '40', 'height'=
: '65' });
+ testPosition("constrainedGridUndefinedHeight", "XXXX =
XXXX XXXX", { 'column': '2', 'row': '5' }, { 'width': '40', 'height'=
: '30' });
+
+ testPosition("constrainedGridUndefinedHeight", "XXXX =
XXXX XXXX", { 'column': '3', 'row': '1' }, { 'width': '140', 'height=
': '70' });
+ testPosition("constrainedGridUndefinedHeight", "XXXX =
XXXX XXXX", { 'column': '3', 'row': '2' }, { 'width': '140', 'height=
': '70' });
+ testPosition("constrainedGridUndefinedHeight", "XXXX =
XXXX XXXX", { 'column': '3', 'row': '3' }, { 'width': '140', 'height=
': '50' });
+ testPosition("constrainedGridUndefinedHeight", "XXXX =
XXXX XXXX", { 'column': '3', 'row': '4' }, { 'width': '140', 'height=
': '65' });
+ testPosition("constrainedGridUndefinedHeight", "XXXX =
XXXX XXXX", { 'column': '3', 'row': '5' }, { 'width': '140', 'height=
': '30' });
+
+ testPosition("constrainedGridUndefinedHeight", "XXXX =
XXXX XXXX", { 'column': '4', 'row': '1' }, { 'width': '50', 'height'=
: '70' });
+ testPosition("constrainedGridUndefinedHeight", "XXXX =
XXXX XXXX", { 'column': '4', 'row': '2' }, { 'width': '50', 'height'=
: '70' });
+ testPosition("constrainedGridUndefinedHeight", "XXXX =
XXXX XXXX", { 'column': '4', 'row': '3' }, { 'width': '50', 'height'=
: '50' });
+ testPosition("constrainedGridUndefinedHeight", "XXXX =
XXXX XXXX", { 'column': '4', 'row': '4' }, { 'width': '50', 'height'=
: '65' });
+ testPosition("constrainedGridUndefinedHeight", "XXXX =
XXXX XXXX", { 'column': '4', 'row': '5' }, { 'width': '50', 'height'=
: '30' });
+
</ins><span class=3D"cx"> testPosition("unconstrainedGrid",=
"XXXXXX XXXXXX", { 'column': '10', 'row': '15' }, { 'width': '=
130', 'height': '10' });
</span><span class=3D"cx">=20
</span><span class=3D"cx"> testPosition("unconstrainedGrid"=
, "XXXXXX XXXXXX", { 'column': '1', 'row': '1' }, { 'width': '5=
0', 'height': '70' });
</span><span class=3D"lines">@@ -95,9 +122,13 @@
</span><span class=3D"cx"> <p>This test checks that we properly rec=
ompute our grid tracks' sizes when we add more grid items.</p>
</span><span class=3D"cx">=20
</span><span class=3D"cx"> <div class=3D"constrainedContainer&quo=
t;>
</span><del>- <div class=3D"grid gridFixedContent" id=3D&=
quot;constrainedGrid"></div>
</del><ins>+ <div class=3D"grid gridFixedContent" id=3D&q=
uot;constrainedGrid" style=3D"height: 100%"></div>=
;
</ins><span class=3D"cx"> </div>
</span><span class=3D"cx">=20
</span><ins>+<div class=3D"constrainedContainer">
+ <div class=3D"grid gridFixedContent" id=3D"constra=
inedGridUndefinedHeight"></div>
+</div>
+
</ins><span class=3D"cx"> <!-- Allow the extra logical space distribut=
ion to occur. -->
</span><span class=3D"cx"> <div style=3D"width: 1000px; height: 1=
000px">
</span><span class=3D"cx"> <div class=3D"grid gridFixedConten=
t" id=3D"unconstrainedGrid"><div class=3D"sized=
ToGridArea">XXXXXX XXXXXX</div></div>
</span></span></pre></div>
<a id=3D"trunkLayoutTestsfastcssgridlayoutgriditemmultipleminmaxcontentre=
solutionexpectedtxt"></a>
<div class=3D"modfile"><h4>Modified: trunk/LayoutTests/fast/css-grid-layo=
ut/grid-item-multiple-minmax-content-resolution-expected.txt (164608 =3D>=
164609)</h4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/LayoutTests/fast/css-grid-layout/grid-item=
-multiple-minmax-content-resolution-expected.txt 2014-02-24 22:21:35 UTC =
(rev 164608)
+++ trunk/LayoutTests/fast/css-grid-layout/grid-item-multiple-minmax-cont=
ent-resolution-expected.txt 2014-02-24 22:29:20 UTC (rev 164609)
</span><span class=3D"lines">@@ -15,3 +15,8 @@
</span><span class=3D"cx"> XXXXX XXXXX
</span><span class=3D"cx"> XXXXX XXXXX XXXXX XXXXX
</span><span class=3D"cx"> PASS
</span><ins>+XXXXX XXXXX
+XXXXX XXXXX XXXXX
+XXXXX XXXXX
+XXXXX XXXXX XXXXX XXXXX
+PASS
</ins></span></pre></div>
<a id=3D"trunkLayoutTestsfastcssgridlayoutgriditemmultipleminmaxcontentre=
solutionhtml"></a>
<div class=3D"modfile"><h4>Modified: trunk/LayoutTests/fast/css-grid-layo=
ut/grid-item-multiple-minmax-content-resolution.html (164608 =3D> 164609)=
</h4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/LayoutTests/fast/css-grid-layout/grid-item=
-multiple-minmax-content-resolution.html 2014-02-24 22:21:35 UTC (rev 164=
608)
+++ trunk/LayoutTests/fast/css-grid-layout/grid-item-multiple-minmax-cont=
ent-resolution.html 2014-02-24 22:29:20 UTC (rev 164609)
</span><span class=3D"lines">@@ -26,7 +26,7 @@
</span><span class=3D"cx"> </div>
</span><span class=3D"cx">=20
</span><span class=3D"cx"> <div class=3D"constrainedContainer&quo=
t; style=3D"position: relative;">
</span><del>-<div class=3D"grid gridMinMaxAutoWithColumnMinMaxAut=
o">
</del><ins>+<div class=3D"grid gridMinMaxAutoWithColumnMinMaxAuto=
" style=3D"height: 100%">
</ins><span class=3D"cx"> <div class=3D"sizedToGridArea first=
RowFirstColumn" data-expected-width=3D"50" data-expected-h=
eight=3D"30">XXXXX XXXXX</div>
</span><span class=3D"cx"> <div class=3D"sizedToGridArea firs=
tRowSecondColumn" data-expected-width=3D"50" data-expected=
-height=3D"30">XXXXX XXXXX XXXXX</div>
</span><span class=3D"cx"> <div class=3D"sizedToGridArea seco=
ndRowFirstColumn" data-expected-width=3D"50" data-expected=
-height=3D"50">XXXXX XXXXX</div>
</span><span class=3D"lines">@@ -34,12 +34,21 @@
</span><span class=3D"cx"> </div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx">=20
</span><ins>+<div class=3D"constrainedContainer" style=3D&qu=
ot;position: relative;">
+<div class=3D"grid gridMinMaxAutoWithColumnMinMaxAuto">
+ <div class=3D"sizedToGridArea firstRowFirstColumn" data=
-expected-width=3D"50" data-expected-height=3D"30">=
;XXXXX XXXXX</div>
+ <div class=3D"sizedToGridArea firstRowSecondColumn" dat=
a-expected-width=3D"50" data-expected-height=3D"30"&g=
t;XXXXX XXXXX XXXXX</div>
+ <div class=3D"sizedToGridArea secondRowFirstColumn" dat=
a-expected-width=3D"50" data-expected-height=3D"100"&=
gt;XXXXX XXXXX</div>
+ <div class=3D"sizedToGridArea secondRowSecondColumn" da=
ta-expected-width=3D"50" data-expected-height=3D"100"=
>XXXXX XXXXX XXXXX XXXXX</div>
+</div>
+</div>
+
</ins><span class=3D"cx"> <div style=3D"height: 100px; width: 220=
px; position: relative;">
</span><span class=3D"cx"> <div class=3D"grid gridMinMaxAutoWithC=
olumnMinMaxAuto">
</span><span class=3D"cx"> <div class=3D"sizedToGridArea firs=
tRowFirstColumn" data-expected-width=3D"110" data-expected=
-height=3D"20">XXXXX XXXXX</div>
</span><span class=3D"cx"> <div class=3D"sizedToGridArea firs=
tRowSecondColumn" data-expected-width=3D"110" data-expecte=
d-height=3D"20">XXXXX XXXXX XXXXX</div>
</span><del>- <div class=3D"sizedToGridArea secondRowFirstColu=
mn" data-expected-width=3D"110" data-expected-height=3D&qu=
ot;80">XXXXX XXXXX</div>
- <div class=3D"sizedToGridArea secondRowSecondColumn" da=
ta-expected-width=3D"110" data-expected-height=3D"80"=
>XXXXX XXXXX XXXXX XXXXX</div>
</del><ins>+ <div class=3D"sizedToGridArea secondRowFirstColum=
n" data-expected-width=3D"110" data-expected-height=3D&quo=
t;100">XXXXX XXXXX</div>
+ <div class=3D"sizedToGridArea secondRowSecondColumn" da=
ta-expected-width=3D"110" data-expected-height=3D"100"=
;>XXXXX XXXXX XXXXX XXXXX</div>
</ins><span class=3D"cx"> </div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx">=20
</span></span></pre></div>
<a id=3D"trunkLayoutTestsfastcssgridlayoutgriditemremovaltrackbreadthupda=
teexpectedtxt"></a>
<div class=3D"modfile"><h4>Modified: trunk/LayoutTests/fast/css-grid-layo=
ut/grid-item-removal-track-breadth-update-expected.txt (164608 =3D> 16460=
9)</h4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/LayoutTests/fast/css-grid-layout/grid-item=
-removal-track-breadth-update-expected.txt 2014-02-24 22:21:35 UTC (rev 1=
64608)
+++ trunk/LayoutTests/fast/css-grid-layout/grid-item-removal-track-breadt=
h-update-expected.txt 2014-02-24 22:29:20 UTC (rev 164609)
</span><span class=3D"lines">@@ -20,6 +20,14 @@
</span><span class=3D"cx"> PASS
</span><span class=3D"cx"> PASS
</span><span class=3D"cx"> PASS
</span><ins>+XXX XXX XXX
+PASS
+PASS
+PASS
+XXX XXX XXX
+PASS
+PASS
+PASS
</ins><span class=3D"cx"> XX XX XX XX XX XX
</span><span class=3D"cx"> PASS
</span><span class=3D"cx"> PASS
</span><span class=3D"lines">@@ -60,3 +68,23 @@
</span><span class=3D"cx"> PASS
</span><span class=3D"cx"> PASS
</span><span class=3D"cx"> PASS
</span><ins>+XX XX XX XX XX XX
+PASS
+PASS
+PASS
+XX XX XX XX XX XX
+PASS
+PASS
+PASS
+XX XX XX XX XX XX
+PASS
+PASS
+PASS
+XX XX XX XX XX XX
+PASS
+PASS
+PASS
+XX XX XX XX XX XX
+PASS
+PASS
+PASS
</ins></span></pre></div>
<a id=3D"trunkLayoutTestsfastcssgridlayoutgriditemremovaltrackbreadthupda=
tehtml"></a>
<div class=3D"modfile"><h4>Modified: trunk/LayoutTests/fast/css-grid-layo=
ut/grid-item-removal-track-breadth-update.html (164608 =3D> 164609)</h4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/LayoutTests/fast/css-grid-layout/grid-item=
-removal-track-breadth-update.html 2014-02-24 22:21:35 UTC (rev 164608)
+++ trunk/LayoutTests/fast/css-grid-layout/grid-item-removal-track-breadt=
h-update.html 2014-02-24 22:29:20 UTC (rev 164609)
</span><span class=3D"lines">@@ -76,21 +76,28 @@
</span><span class=3D"cx"> {
</span><span class=3D"cx"> testRemoval("constrainedAutoGrid"=
;, { 'width': '50', 'height': '40' }, { 'width': '40', 'height': '40' }, =
{ 'width': '30', 'height': '30' });
</span><span class=3D"cx"> testRemoval("constrainedMinContentFix=
edGrid", { 'width': '50', 'height': '40' }, { 'width': '40', 'height=
': '40' }, { 'width': '30', 'height': '30' });
</span><ins>+ testRemoval("constrainedMinContentFixedGridUndefine=
dHeight", { 'width': '50', 'height': '40' }, { 'width': '40', 'heigh=
t': '40' }, { 'width': '30', 'height': '40' });
</ins><span class=3D"cx"> testRemoval("constrainedMaxContentFixe=
dGrid", { 'width': '190', 'height': '10' }, { 'width': '190', 'heigh=
t': '10' }, { 'width': '110', 'height': '10' });
</span><ins>+ testRemoval("constrainedMaxContentFixedGridUndefine=
dHeight", { 'width': '190', 'height': '40' }, { 'width': '190', 'hei=
ght': '40' }, { 'width': '110', 'height': '40' });
</ins><span class=3D"cx"> testRemoval("constrainedFixedMinConten=
tGrid", { 'width': '100', 'height': '40' }, { 'width': '100', 'heigh=
t': '40' }, { 'width': '100', 'height': '40' });
</span><span class=3D"cx"> testRemoval("constrainedFixedMaxConte=
ntGrid", { 'width': '100', 'height': '40' }, { 'width': '100', 'heig=
ht': '40' }, { 'width': '100', 'height': '40' });
</span><span class=3D"cx">=20
</span><span class=3D"cx"> testRemoval("unconstrainedAutoGrid&qu=
ot;, { 'width': '390', 'height': '10' }, { 'width': '350', 'height': '10'=
}, { 'width': '170', 'height': '10' });
</span><span class=3D"cx"> testRemoval("unconstrainedMinContentF=
ixedGrid", { 'width': '100', 'height': '60' }, { 'width': '100', 'he=
ight': '60' }, { 'width': '100', 'height': '40' });
</span><ins>+ testRemoval("unconstrainedMinContentFixedGridUndefi=
nedHeight", { 'width': '100', 'height': '40' }, { 'width': '100', 'h=
eight': '40' }, { 'width': '100', 'height': '40' });
</ins><span class=3D"cx"> testRemoval("unconstrainedMaxContentFi=
xedGrid", { 'width': '390', 'height': '40' }, { 'width': '350', 'hei=
ght': '40' }, { 'width': '170', 'height': '40' });
</span><span class=3D"cx"> testRemoval("unconstrainedFixedMinCon=
tentGrid", { 'width': '100', 'height': '60' }, { 'width': '100', 'he=
ight': '60' }, { 'width': '100', 'height': '40' });
</span><span class=3D"cx"> testRemoval("unconstrainedFixedMaxCon=
tentGrid", { 'width': '390', 'height': '40' }, { 'width': '350', 'he=
ight': '40' }, { 'width': '170', 'height': '40' });
</span><span class=3D"cx">=20
</span><span class=3D"cx"> testRemoval("lessConstrainedAutoGrid&=
quot;, { 'width': '60', 'height': '90' }, { 'width': '60', 'height': '60'=
}, { 'width': '60', 'height': '30' });
</span><span class=3D"cx"> testRemoval("lessConstrainedMinConten=
tFixedGrid", { 'width': '60', 'height': '90' }, { 'width': '60', 'he=
ight': '60' }, { 'width': '60', 'height': '30' });
</span><ins>+ testRemoval("lessConstrainedMinContentFixedGridUnde=
finedHeight", { 'width': '60', 'height': '40' }, { 'width': '60', 'h=
eight': '40' }, { 'width': '60', 'height': '40' });
</ins><span class=3D"cx"> testRemoval("lessConstrainedMaxContent=
FixedGrid", { 'width': '350', 'height': '20' }, { 'width': '350', 'h=
eight': '20' }, { 'width': '170', 'height': '20' });
</span><ins>+ testRemoval("lessConstrainedMaxContentFixedGridUnde=
finedHeight", { 'width': '350', 'height': '40' }, { 'width': '350', =
'height': '40' }, { 'width': '170', 'height': '40' });
</ins><span class=3D"cx"> testRemoval("lessConstrainedFixedMinCo=
ntentGrid", { 'width': '100', 'height': '40' }, { 'width': '100', 'h=
eight': '40' }, { 'width': '100', 'height': '40' });
</span><ins>+ testRemoval("lessConstrainedFixedMinContentGridUnde=
finedHeight", { 'width': '100', 'height': '60' }, { 'width': '100', =
'height': '60' }, { 'width': '100', 'height': '40' });
</ins><span class=3D"cx"> testRemoval("lessConstrainedFixedMaxCo=
ntentGrid", { 'width': '100', 'height': '40' }, { 'width': '100', 'h=
eight': '40' }, { 'width': '100', 'height': '40' });
</span><ins>+ testRemoval("lessConstrainedFixedMaxContentGridUnde=
finedHeight", { 'width': '100', 'height': '60' }, { 'width': '100', =
'height': '60' }, { 'width': '100', 'height': '40' });
</ins><span class=3D"cx"> }
</span><span class=3D"cx"> window.addEventListener("load", test=
Removals, false);
</span><span class=3D"cx"> </script>
</span><span class=3D"lines">@@ -107,7 +114,7 @@
</span><span class=3D"cx"> </div>
</span><span class=3D"cx">=20
</span><span class=3D"cx"> <div class=3D"constrainedContainer&quo=
t;>
</span><del>- <div class=3D"grid gridMinContentFixed" id=3D=
"constrainedMinContentFixedGrid">
</del><ins>+ <div class=3D"grid gridMinContentFixed" id=3D=
"constrainedMinContentFixedGrid" style=3D"height: 100%&quo=
t;>
</ins><span class=3D"cx"> <div class=3D"firstRowFirstColu=
mn">XXXXX XXXXX XXXXX</div>
</span><span class=3D"cx"> <div class=3D"firstRowFirstCol=
umn">XXXX XXXX XXXX XXXX</div>
</span><span class=3D"cx"> <div class=3D"firstRowFirstCol=
umn">XXX XXX XXX</div>
</span><span class=3D"lines">@@ -115,7 +122,7 @@
</span><span class=3D"cx"> </div>
</span><span class=3D"cx">=20
</span><span class=3D"cx"> <div class=3D"constrainedContainer&quo=
t;>
</span><del>- <div class=3D"grid gridMaxContentFixed" id=3D=
"constrainedMaxContentFixedGrid">
</del><ins>+ <div class=3D"grid gridMinContentFixed" id=3D=
"constrainedMinContentFixedGridUndefinedHeight">
</ins><span class=3D"cx"> <div class=3D"firstRowFirstColu=
mn">XXXXX XXXXX XXXXX</div>
</span><span class=3D"cx"> <div class=3D"firstRowFirstCol=
umn">XXXX XXXX XXXX XXXX</div>
</span><span class=3D"cx"> <div class=3D"firstRowFirstCol=
umn">XXX XXX XXX</div>
</span><span class=3D"lines">@@ -123,6 +130,22 @@
</span><span class=3D"cx"> </div>
</span><span class=3D"cx">=20
</span><span class=3D"cx"> <div class=3D"constrainedContainer&quo=
t;>
</span><ins>+ <div class=3D"grid gridMaxContentFixed" id=3D=
"constrainedMaxContentFixedGrid" style=3D"height: 100%&quo=
t;>
+ <div class=3D"firstRowFirstColumn">XXXXX XXXXX X=
XXXX</div>
+ <div class=3D"firstRowFirstColumn">XXXX XXXX XXX=
X XXXX</div>
+ <div class=3D"firstRowFirstColumn">XXX XXX XXX&l=
t;/div>
+ </div>
+</div>
+
+<div class=3D"constrainedContainer">
+ <div class=3D"grid gridMaxContentFixed" id=3D"cons=
trainedMaxContentFixedGridUndefinedHeight">
+ <div class=3D"firstRowFirstColumn">XXXXX XXXXX X=
XXXX</div>
+ <div class=3D"firstRowFirstColumn">XXXX XXXX XXX=
X XXXX</div>
+ <div class=3D"firstRowFirstColumn">XXX XXX XXX&l=
t;/div>
+ </div>
+</div>
+
+<div class=3D"constrainedContainer">
</ins><span class=3D"cx"> <div class=3D"grid gridFixedMinCont=
ent" id=3D"constrainedFixedMinContentGrid">
</span><span class=3D"cx"> <div class=3D"firstRowFirstCol=
umn">XXXXX XXXXX XXXXX</div>
</span><span class=3D"cx"> <div class=3D"firstRowFirstCol=
umn">XXXX XXXX XXXX XXXX</div>
</span><span class=3D"lines">@@ -148,7 +171,7 @@
</span><span class=3D"cx"> </div>
</span><span class=3D"cx">=20
</span><span class=3D"cx"> <div class=3D"unconstrainedContainer&q=
uot;>
</span><del>- <div class=3D"grid gridMinContentFixed" id=3D=
"unconstrainedMinContentFixedGrid">
</del><ins>+ <div class=3D"grid gridMinContentFixed" id=3D=
"unconstrainedMinContentFixedGrid" style=3D"height: 100%&q=
uot;>
</ins><span class=3D"cx"> <div class=3D"firstRowFirstColu=
mn">XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX</div>
</span><span class=3D"cx"> <div class=3D"firstRowFirstCol=
umn">XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX</div>
</span><span class=3D"cx"> <div class=3D"firstRowFirstCol=
umn">XX XX XX XX XX XX</div>
</span><span class=3D"lines">@@ -156,6 +179,14 @@
</span><span class=3D"cx"> </div>
</span><span class=3D"cx">=20
</span><span class=3D"cx"> <div class=3D"unconstrainedContainer&q=
uot;>
</span><ins>+ <div class=3D"grid gridMinContentFixed" id=3D=
"unconstrainedMinContentFixedGridUndefinedHeight">
+ <div class=3D"firstRowFirstColumn">XXX XXX XXX X=
XX XXX XXX XXX XXX XXX XXX</div>
+ <div class=3D"firstRowFirstColumn">XXXXX XXXXX X=
XXXX XXXXX XXXXX XXXXX</div>
+ <div class=3D"firstRowFirstColumn">XX XX XX XX X=
X XX</div>
+ </div>
+</div>
+
+<div class=3D"unconstrainedContainer">
</ins><span class=3D"cx"> <div class=3D"grid gridMaxContentFi=
xed" id=3D"unconstrainedMaxContentFixedGrid">
</span><span class=3D"cx"> <div class=3D"firstRowFirstCol=
umn">XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX</div>
</span><span class=3D"cx"> <div class=3D"firstRowFirstCol=
umn">XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX</div>
</span><span class=3D"lines">@@ -189,7 +220,7 @@
</span><span class=3D"cx"> </div>
</span><span class=3D"cx">=20
</span><span class=3D"cx"> <div class=3D"lessConstrainedContainer=
">
</span><del>- <div class=3D"grid gridMinContentFixed" id=3D=
"lessConstrainedMinContentFixedGrid">
</del><ins>+ <div class=3D"grid gridMinContentFixed" id=3D=
"lessConstrainedMinContentFixedGrid" style=3D"height: 100%=
">
</ins><span class=3D"cx"> <div class=3D"firstRowFirstColu=
mn">XXX XXX XXX XXX XXX XXX XXX XXX XXX</div>
</span><span class=3D"cx"> <div class=3D"firstRowFirstCol=
umn">XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX</div>
</span><span class=3D"cx"> <div class=3D"firstRowFirstCol=
umn">XX XX XX XX XX XX</div>
</span><span class=3D"lines">@@ -197,7 +228,7 @@
</span><span class=3D"cx"> </div>
</span><span class=3D"cx">=20
</span><span class=3D"cx"> <div class=3D"lessConstrainedContainer=
">
</span><del>- <div class=3D"grid gridMaxContentFixed" id=3D=
"lessConstrainedMaxContentFixedGrid">
</del><ins>+ <div class=3D"grid gridMinContentFixed" id=3D=
"lessConstrainedMinContentFixedGridUndefinedHeight">
</ins><span class=3D"cx"> <div class=3D"firstRowFirstColu=
mn">XXX XXX XXX XXX XXX XXX XXX XXX XXX</div>
</span><span class=3D"cx"> <div class=3D"firstRowFirstCol=
umn">XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX</div>
</span><span class=3D"cx"> <div class=3D"firstRowFirstCol=
umn">XX XX XX XX XX XX</div>
</span><span class=3D"lines">@@ -205,7 +236,7 @@
</span><span class=3D"cx"> </div>
</span><span class=3D"cx">=20
</span><span class=3D"cx"> <div class=3D"lessConstrainedContainer=
">
</span><del>- <div class=3D"grid gridFixedMinContent" id=3D=
"lessConstrainedFixedMinContentGrid">
</del><ins>+ <div class=3D"grid gridMaxContentFixed" id=3D=
"lessConstrainedMaxContentFixedGrid" style=3D"height: 100%=
">
</ins><span class=3D"cx"> <div class=3D"firstRowFirstColu=
mn">XXX XXX XXX XXX XXX XXX XXX XXX XXX</div>
</span><span class=3D"cx"> <div class=3D"firstRowFirstCol=
umn">XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX</div>
</span><span class=3D"cx"> <div class=3D"firstRowFirstCol=
umn">XX XX XX XX XX XX</div>
</span><span class=3D"lines">@@ -213,12 +244,44 @@
</span><span class=3D"cx"> </div>
</span><span class=3D"cx">=20
</span><span class=3D"cx"> <div class=3D"lessConstrainedContainer=
">
</span><del>- <div class=3D"grid gridFixedMaxContent" id=3D=
"lessConstrainedFixedMaxContentGrid">
</del><ins>+ <div class=3D"grid gridMaxContentFixed" id=3D=
"lessConstrainedMaxContentFixedGridUndefinedHeight">
</ins><span class=3D"cx"> <div class=3D"firstRowFirstColu=
mn">XXX XXX XXX XXX XXX XXX XXX XXX XXX</div>
</span><span class=3D"cx"> <div class=3D"firstRowFirstCol=
umn">XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX</div>
</span><span class=3D"cx"> <div class=3D"firstRowFirstCol=
umn">XX XX XX XX XX XX</div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx">=20
</span><ins>+<div class=3D"lessConstrainedContainer">
+ <div class=3D"grid gridFixedMinContent" id=3D"less=
ConstrainedFixedMinContentGrid" style=3D"height: 100%">
+ <div class=3D"firstRowFirstColumn">XXX XXX XXX X=
XX XXX XXX XXX XXX XXX</div>
+ <div class=3D"firstRowFirstColumn">XXXXX XXXXX X=
XXXX XXXXX XXXXX XXXXX</div>
+ <div class=3D"firstRowFirstColumn">XX XX XX XX X=
X XX</div>
+ </div>
+</div>
+
+<div class=3D"lessConstrainedContainer">
+ <div class=3D"grid gridFixedMinContent" id=3D"less=
ConstrainedFixedMinContentGridUndefinedHeight">
+ <div class=3D"firstRowFirstColumn">XXX XXX XXX X=
XX XXX XXX XXX XXX XXX</div>
+ <div class=3D"firstRowFirstColumn">XXXXX XXXXX X=
XXXX XXXXX XXXXX XXXXX</div>
+ <div class=3D"firstRowFirstColumn">XX XX XX XX X=
X XX</div>
+ </div>
+</div>
+
+<div class=3D"lessConstrainedContainer">
+ <div class=3D"grid gridFixedMaxContent" id=3D"less=
ConstrainedFixedMaxContentGrid" style=3D"height: 100%">
+ <div class=3D"firstRowFirstColumn">XXX XXX XXX X=
XX XXX XXX XXX XXX XXX</div>
+ <div class=3D"firstRowFirstColumn">XXXXX XXXXX X=
XXXX XXXXX XXXXX XXXXX</div>
+ <div class=3D"firstRowFirstColumn">XX XX XX XX X=
X XX</div>
+ </div>
+</div>
+
+<div class=3D"lessConstrainedContainer">
+ <div class=3D"grid gridFixedMaxContent" id=3D"less=
ConstrainedFixedMaxContentGridUndefinedHeight">
+ <div class=3D"firstRowFirstColumn">XXX XXX XXX X=
XX XXX XXX XXX XXX XXX</div>
+ <div class=3D"firstRowFirstColumn">XXXXX XXXXX X=
XXXX XXXXX XXXXX XXXXX</div>
+ <div class=3D"firstRowFirstColumn">XX XX XX XX X=
X XX</div>
+ </div>
+</div>
+
</ins><span class=3D"cx"> </body>
</span><span class=3D"cx"> </html>
</span></span></pre></div>
<a id=3D"trunkLayoutTestsfastcssgridlayoutgriditemwithpercentheightinauto=
heightgridresolutionexpectedtxt"></a>
<div class=3D"modfile"><h4>Modified: trunk/LayoutTests/fast/css-grid-layo=
ut/grid-item-with-percent-height-in-auto-height-grid-resolution-expected.=
txt (164608 =3D> 164609)</h4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/LayoutTests/fast/css-grid-layout/grid-item=
-with-percent-height-in-auto-height-grid-resolution-expected.txt 2014-02-=
24 22:21:35 UTC (rev 164608)
+++ trunk/LayoutTests/fast/css-grid-layout/grid-item-with-percent-height-=
in-auto-height-grid-resolution-expected.txt 2014-02-24 22:29:20 UTC (rev =
164609)
</span><span class=3D"lines">@@ -11,6 +11,11 @@
</span><span class=3D"cx"> XXXXX XXXXXX
</span><span class=3D"cx"> PASS
</span><span class=3D"cx"> XXXXX XXXXXX
</span><ins>+XXXXX XXXXXX
+XXXXX XXXXXX
+XXXXX XXXXXX
+PASS
+XXXXX XXXXXX
</ins><span class=3D"cx"> XXXXX XXXXX XXXXXX
</span><span class=3D"cx"> XXXXX XXXXXX
</span><span class=3D"cx"> XXXXX XXXXX XXXXX XXXXXX
</span></span></pre></div>
<a id=3D"trunkLayoutTestsfastcssgridlayoutgriditemwithpercentheightinauto=
heightgridresolutionhtml"></a>
<div class=3D"modfile"><h4>Modified: trunk/LayoutTests/fast/css-grid-layo=
ut/grid-item-with-percent-height-in-auto-height-grid-resolution.html (164=
608 =3D> 164609)</h4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/LayoutTests/fast/css-grid-layout/grid-item=
-with-percent-height-in-auto-height-grid-resolution.html 2014-02-24 22:21=
:35 UTC (rev 164608)
+++ trunk/LayoutTests/fast/css-grid-layout/grid-item-with-percent-height-=
in-auto-height-grid-resolution.html 2014-02-24 22:29:20 UTC (rev 164609)
</span><span class=3D"lines">@@ -34,6 +34,15 @@
</span><span class=3D"cx"> <div class=3D"grid gridMinMaxMinMax&qu=
ot;>
</span><span class=3D"cx"> <div class=3D"sizedToGridArea firs=
tRowFirstColumn" data-expected-width=3D"50" data-expected-=
height=3D"20">XXXXX XXXXXX</div>
</span><span class=3D"cx"> <div class=3D"sizedToGridArea firs=
tRowSecondColumn" data-expected-width=3D"100" data-expecte=
d-height=3D"20">XXXXX XXXXXX</div>
</span><ins>+ <div class=3D"sizedToGridArea secondRowFirstColu=
mn" data-expected-width=3D"50" data-expected-height=3D&quo=
t;100">XXXXX XXXXXX</div>
+ <div class=3D"sizedToGridArea secondRowSecondColumn" da=
ta-expected-width=3D"100" data-expected-height=3D"100"=
;>XXXXX XXXXXX</div>
+</div>
+</div>
+
+<div style=3D"position: relative;">
+<div class=3D"grid gridMinMaxMinMax" style=3D"height: =
100px;">
+ <div class=3D"sizedToGridArea firstRowFirstColumn" data=
-expected-width=3D"50" data-expected-height=3D"20">=
;XXXXX XXXXXX</div>
+ <div class=3D"sizedToGridArea firstRowSecondColumn" dat=
a-expected-width=3D"100" data-expected-height=3D"20"&=
gt;XXXXX XXXXXX</div>
</ins><span class=3D"cx"> <div class=3D"sizedToGridArea secon=
dRowFirstColumn" data-expected-width=3D"50" data-expected-=
height=3D"80">XXXXX XXXXXX</div>
</span><span class=3D"cx"> <div class=3D"sizedToGridArea seco=
ndRowSecondColumn" data-expected-width=3D"100" data-expect=
ed-height=3D"80">XXXXX XXXXXX</div>
</span><span class=3D"cx"> </div>
</span></span></pre></div>
<a id=3D"trunkLayoutTestsfastcssgridlayoutimplicitpositiondynamicchangeex=
pectedtxt"></a>
<div class=3D"modfile"><h4>Modified: trunk/LayoutTests/fast/css-grid-layo=
ut/implicit-position-dynamic-change-expected.txt (164608 =3D> 164609)</h4=
>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/LayoutTests/fast/css-grid-layout/implicit-=
position-dynamic-change-expected.txt 2014-02-24 22:21:35 UTC (rev 164608)
+++ trunk/LayoutTests/fast/css-grid-layout/implicit-position-dynamic-chan=
ge-expected.txt 2014-02-24 22:29:20 UTC (rev 164609)
</span><span class=3D"lines">@@ -22,6 +22,28 @@
</span><span class=3D"cx"> PASS
</span><span class=3D"cx"> PASS
</span><span class=3D"cx"> PASS
</span><ins>+XXXX XXXX XXXX
+PASS
+PASS
+PASS
+PASS
+PASS
+PASS
+PASS
+PASS
+PASS
+PASS
+PASS
+PASS
+PASS
+PASS
+PASS
+PASS
+PASS
+PASS
+PASS
+PASS
+PASS
</ins><span class=3D"cx"> XXXXXX XXXXXX
</span><span class=3D"cx"> PASS
</span><span class=3D"cx"> PASS
</span></span></pre></div>
<a id=3D"trunkLayoutTestsfastcssgridlayoutimplicitpositiondynamicchangeht=
ml"></a>
<div class=3D"modfile"><h4>Modified: trunk/LayoutTests/fast/css-grid-layo=
ut/implicit-position-dynamic-change.html (164608 =3D> 164609)</h4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/LayoutTests/fast/css-grid-layout/implicit-=
position-dynamic-change.html 2014-02-24 22:21:35 UTC (rev 164608)
+++ trunk/LayoutTests/fast/css-grid-layout/implicit-position-dynamic-chan=
ge.html 2014-02-24 22:29:20 UTC (rev 164609)
</span><span class=3D"lines">@@ -52,6 +52,33 @@
</span><span class=3D"cx">=20
</span><span class=3D"cx"> testPosition("constrainedGrid", =
{ 'column': '10', 'row': '15' }, { 'width': '40', 'height': '30' });
</span><span class=3D"cx">=20
</span><ins>+ var gridItem =3D document.getElementById("constrain=
edGridUndefinedHeight").firstChild;
+ testPosition("constrainedGridUndefinedHeight", { 'column':=
'1', 'row': '1' }, { 'width': '50', 'height': '70' });
+ testPosition("constrainedGridUndefinedHeight", { 'column':=
'1', 'row': '2' }, { 'width': '50', 'height': '70' });
+ testPosition("constrainedGridUndefinedHeight", { 'column':=
'1', 'row': '3' }, { 'width': '50', 'height': '50' });
+ testPosition("constrainedGridUndefinedHeight", { 'column':=
'1', 'row': '4' }, { 'width': '50', 'height': '65' });
+ testPosition("constrainedGridUndefinedHeight", { 'column':=
'1', 'row': '5' }, { 'width': '50', 'height': '30' });
+
+ testPosition("constrainedGridUndefinedHeight", { 'column':=
'2', 'row': '1' }, { 'width': '40', 'height': '70' });
+ testPosition("constrainedGridUndefinedHeight", { 'column':=
'2', 'row': '2' }, { 'width': '40', 'height': '70' });
+ testPosition("constrainedGridUndefinedHeight", { 'column':=
'2', 'row': '3' }, { 'width': '40', 'height': '50' });
+ testPosition("constrainedGridUndefinedHeight", { 'column':=
'2', 'row': '4' }, { 'width': '40', 'height': '65' });
+ testPosition("constrainedGridUndefinedHeight", { 'column':=
'2', 'row': '5' }, { 'width': '40', 'height': '30' });
+
+ testPosition("constrainedGridUndefinedHeight", { 'column':=
'3', 'row': '1' }, { 'width': '140', 'height': '70' });
+ testPosition("constrainedGridUndefinedHeight", { 'column':=
'3', 'row': '2' }, { 'width': '140', 'height': '70' });
+ testPosition("constrainedGridUndefinedHeight", { 'column':=
'3', 'row': '3' }, { 'width': '140', 'height': '50' });
+ testPosition("constrainedGridUndefinedHeight", { 'column':=
'3', 'row': '4' }, { 'width': '140', 'height': '65' });
+ testPosition("constrainedGridUndefinedHeight", { 'column':=
'3', 'row': '5' }, { 'width': '140', 'height': '10' });
+
+ testPosition("constrainedGridUndefinedHeight", { 'column':=
'4', 'row': '1' }, { 'width': '50', 'height': '70' });
+ testPosition("constrainedGridUndefinedHeight", { 'column':=
'4', 'row': '2' }, { 'width': '50', 'height': '70' });
+ testPosition("constrainedGridUndefinedHeight", { 'column':=
'4', 'row': '3' }, { 'width': '50', 'height': '50' });
+ testPosition("constrainedGridUndefinedHeight", { 'column':=
'4', 'row': '4' }, { 'width': '50', 'height': '65' });
+ testPosition("constrainedGridUndefinedHeight", { 'column':=
'4', 'row': '5' }, { 'width': '50', 'height': '30' });
+
+ testPosition("constrainedGridUndefinedHeight", { 'column':=
'10', 'row': '15' }, { 'width': '40', 'height': '30' });
+
</ins><span class=3D"cx"> gridItem =3D document.getElementById("=
unconstrainedGrid").firstChild;
</span><span class=3D"cx"> testPosition("unconstrainedGrid"=
, { 'column': '1', 'row': '1' }, { 'width': '50', 'height': '70' });
</span><span class=3D"cx"> testPosition("unconstrainedGrid"=
, { 'column': '2', 'row': '1' }, { 'width': '60', 'height': '70' });
</span><span class=3D"lines">@@ -86,9 +113,13 @@
</span><span class=3D"cx"> <p>This test checks that we properly rec=
ompute our grid tracks' sizes when a grid item changes its -webkit-grid-r=
ow or -webkit-grid-column.</p>
</span><span class=3D"cx">=20
</span><span class=3D"cx"> <div class=3D"constrainedContainer&quo=
t;>
</span><del>- <div class=3D"grid gridFixedContent" id=3D&=
quot;constrainedGrid"><div class=3D"sizedToGridArea"=
>XXXX XXXX XXXX</div></div>
</del><ins>+ <div class=3D"grid gridFixedContent" id=3D&q=
uot;constrainedGrid" style=3D"height: 100%"><div cla=
ss=3D"sizedToGridArea">XXXX XXXX XXXX</div></div>=
;
</ins><span class=3D"cx"> </div>
</span><span class=3D"cx">=20
</span><ins>+<div class=3D"constrainedContainer">
+ <div class=3D"grid gridFixedContent" id=3D"constra=
inedGridUndefinedHeight"><div class=3D"sizedToGridArea&qu=
ot;>XXXX XXXX XXXX</div></div>
+</div>
+
</ins><span class=3D"cx"> <!-- Allow the extra logical space distribut=
ion to occur. -->
</span><span class=3D"cx"> <div style=3D"width: 1000px; height: 1=
000px">
</span><span class=3D"cx"> <div class=3D"grid gridFixedConten=
t" id=3D"unconstrainedGrid"><div class=3D"sized=
ToGridArea">XXXXXX XXXXXX</div></div>
</span></span></pre></div>
<a id=3D"trunkLayoutTestsfastcssgridlayoutminmaxmaxcontentresolutionrowse=
xpectedtxt"></a>
<div class=3D"modfile"><h4>Modified: trunk/LayoutTests/fast/css-grid-layo=
ut/minmax-max-content-resolution-rows-expected.txt (164608 =3D> 164609)</=
h4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/LayoutTests/fast/css-grid-layout/minmax-ma=
x-content-resolution-rows-expected.txt 2014-02-24 22:21:35 UTC (rev 16460=
8)
+++ trunk/LayoutTests/fast/css-grid-layout/minmax-max-content-resolution-=
rows-expected.txt 2014-02-24 22:29:20 UTC (rev 164609)
</span><span class=3D"lines">@@ -2,21 +2,31 @@
</span><span class=3D"cx">=20
</span><span class=3D"cx"> XX XX XX
</span><span class=3D"cx"> PASS
</span><ins>+XX XX XX
+PASS
</ins><span class=3D"cx"> XX XX XX XX XX
</span><span class=3D"cx"> PASS
</span><span class=3D"cx"> XX XX XX XX XX XX XX XX
</span><span class=3D"cx"> PASS
</span><ins>+XX XX XX XX XX XX XX XX
+PASS
</ins><span class=3D"cx"> XX XX XX
</span><span class=3D"cx"> PASS
</span><span class=3D"cx"> XX XX XX XX XX XX XX XX
</span><span class=3D"cx"> PASS
</span><ins>+XX XX XX XX XX XX XX XX
+PASS
</ins><span class=3D"cx"> XX
</span><span class=3D"cx"> PASS
</span><span class=3D"cx"> XX XX XX
</span><span class=3D"cx"> PASS
</span><span class=3D"cx"> XX XX XX XX XX
</span><span class=3D"cx"> PASS
</span><ins>+XX XX XX XX XX
+PASS
</ins><span class=3D"cx"> XX XX XX
</span><span class=3D"cx"> PASS
</span><span class=3D"cx"> XX XX XX XX XX
</span><span class=3D"cx"> PASS
</span><ins>+XX XX XX XX XX
+PASS
</ins></span></pre></div>
<a id=3D"trunkLayoutTestsfastcssgridlayoutminmaxmaxcontentresolutionrowsh=
tml"></a>
<div class=3D"modfile"><h4>Modified: trunk/LayoutTests/fast/css-grid-layo=
ut/minmax-max-content-resolution-rows.html (164608 =3D> 164609)</h4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/LayoutTests/fast/css-grid-layout/minmax-ma=
x-content-resolution-rows.html 2014-02-24 22:21:35 UTC (rev 164608)
+++ trunk/LayoutTests/fast/css-grid-layout/minmax-max-content-resolution-=
rows.html 2014-02-24 22:29:20 UTC (rev 164609)
</span><span class=3D"lines">@@ -33,24 +33,36 @@
</span><span class=3D"cx"> <p>Test that resolving minmax function w=
ith max-content on grid items works properly.</p>
</span><span class=3D"cx">=20
</span><span class=3D"cx"> <div class=3D"constrainedContainer&quo=
t;>
</span><del>- <div class=3D"grid gridMinMaxContent">
</del><ins>+ <div class=3D"grid gridMinMaxContent" style=3D=
"height: 100%">
</ins><span class=3D"cx"> <div class=3D"firstRowFirstColu=
mn" data-expected-width=3D"20" data-expected-height=3D&quo=
t;30">XX XX XX</div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx">=20
</span><span class=3D"cx"> <div class=3D"constrainedContainer&quo=
t;>
</span><span class=3D"cx"> <div class=3D"grid gridMinMaxConte=
nt">
</span><ins>+ <div class=3D"firstRowFirstColumn" data=
-expected-width=3D"20" data-expected-height=3D"50">=
;XX XX XX</div>
+ </div>
+</div>
+
+<div class=3D"constrainedContainer">
+ <div class=3D"grid gridMinMaxContent">
</ins><span class=3D"cx"> <div class=3D"firstRowFirstColu=
mn" data-expected-width=3D"20" data-expected-height=3D&quo=
t;50">XX XX XX XX XX</div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx">=20
</span><span class=3D"cx"> <div class=3D"constrainedContainer&quo=
t;>
</span><del>- <div class=3D"grid gridMinMaxContent">
</del><ins>+ <div class=3D"grid gridMinMaxContent" style=3D=
"height: 100%">
</ins><span class=3D"cx"> <!-- The 'max' logical width ends up=
being smaller than the 'min' so per the spec we ignore the 'max'. -->
</span><span class=3D"cx"> <div class=3D"firstRowFirstCol=
umn" data-expected-width=3D"20" data-expected-height=3D&qu=
ot;80">XX XX XX XX XX XX XX XX</div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx">=20
</span><ins>+<div class=3D"constrainedContainer">
+ <div class=3D"grid gridMinMaxContent">
+ <div class=3D"firstRowFirstColumn" data-expected-wi=
dth=3D"20" data-expected-height=3D"50">XX XX XX XX=
XX XX XX XX</div>
+ </div>
+</div>
+
</ins><span class=3D"cx"> <!-- Allow the extra logical space distribut=
ion to occur. -->
</span><span class=3D"cx"> <div style=3D"width: 10px; height: 100=
px;">
</span><span class=3D"cx"> <div class=3D"grid gridMinMaxConte=
nt">
</span><span class=3D"lines">@@ -59,12 +71,19 @@
</span><span class=3D"cx"> </div>
</span><span class=3D"cx">=20
</span><span class=3D"cx"> <div style=3D"width: 10px; height: 100=
px;">
</span><del>- <div class=3D"grid gridMinMaxContent">
</del><ins>+ <div class=3D"grid gridMinMaxContent" style=3D=
"height: 100%">
</ins><span class=3D"cx"> <!-- The 'max' logical width ends up=
being smaller than the 'min' so per the spec we ignore the 'max'. -->
</span><span class=3D"cx"> <div class=3D"firstRowFirstCol=
umn" data-expected-width=3D"20" data-expected-height=3D&qu=
ot;80">XX XX XX XX XX XX XX XX</div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx">=20
</span><ins>+<div style=3D"width: 10px; height: 100px;">
+ <div class=3D"grid gridMinMaxContent">
+ <!-- The 'max' logical width ends up being smaller than the '=
min' so per the spec we ignore the 'max'. -->
+ <div class=3D"firstRowFirstColumn" data-expected-wi=
dth=3D"20" data-expected-height=3D"50">XX XX XX XX=
XX XX XX XX</div>
+ </div>
+</div>
+
</ins><span class=3D"cx"> <div class=3D"constrainedContainer"=
;>
</span><span class=3D"cx"> <div class=3D"grid gridMaxMaxConte=
nt">
</span><span class=3D"cx"> <div class=3D"firstRowFirstCol=
umn" data-expected-width=3D"20" data-expected-height=3D&qu=
ot;30">XX</div>
</span><span class=3D"lines">@@ -78,11 +97,17 @@
</span><span class=3D"cx"> </div>
</span><span class=3D"cx">=20
</span><span class=3D"cx"> <div class=3D"constrainedContainer&quo=
t;>
</span><del>- <div class=3D"grid gridMaxMaxContent">
</del><ins>+ <div class=3D"grid gridMaxMaxContent" style=3D=
"height: 100%">
</ins><span class=3D"cx"> <div class=3D"firstRowFirstColu=
mn" data-expected-width=3D"20" data-expected-height=3D&quo=
t;30">XX XX XX XX XX</div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx">=20
</span><ins>+<div class=3D"constrainedContainer">
+ <div class=3D"grid gridMaxMaxContent">
+ <div class=3D"firstRowFirstColumn" data-expected-wi=
dth=3D"20" data-expected-height=3D"50">XX XX XX XX=
XX</div>
+ </div>
+</div>
+
</ins><span class=3D"cx"> <!-- Allow the extra logical space distribut=
ion to occur. -->
</span><span class=3D"cx">=20
</span><span class=3D"cx"> <div style=3D"width: 100px; height: 20=
px">
</span><span class=3D"lines">@@ -92,11 +117,17 @@
</span><span class=3D"cx"> </div>
</span><span class=3D"cx">=20
</span><span class=3D"cx"> <div style=3D"width: 100px; height: 20=
px">
</span><del>- <div class=3D"grid gridMaxMaxContent">
</del><ins>+ <div class=3D"grid gridMaxMaxContent" style=3D=
"height: 100%">
</ins><span class=3D"cx"> <!-- The 'max' logical width ends up=
being smaller than the 'min' so per the spec we ignore the 'max'. -->
</span><span class=3D"cx"> <div class=3D"firstRowFirstCol=
umn" data-expected-width=3D"20" data-expected-height=3D&qu=
ot;30">XX XX XX XX XX</div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx">=20
</span><ins>+<div style=3D"width: 100px; height: 20px">
+ <div class=3D"grid gridMaxMaxContent">
+ <div class=3D"firstRowFirstColumn" data-expected-wi=
dth=3D"20" data-expected-height=3D"50">XX XX XX XX=
XX</div>
+ </div>
+</div>
+
</ins><span class=3D"cx"> </body>
</span><span class=3D"cx"> </html>
</span></span></pre></div>
<a id=3D"trunkLayoutTestsfastcssgridlayoutminmaxmincontentcolumnresolutio=
nrowsexpectedtxt"></a>
<div class=3D"modfile"><h4>Modified: trunk/LayoutTests/fast/css-grid-layo=
ut/minmax-min-content-column-resolution-rows-expected.txt (164608 =3D> 16=
4609)</h4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/LayoutTests/fast/css-grid-layout/minmax-mi=
n-content-column-resolution-rows-expected.txt 2014-02-24 22:21:35 UTC (re=
v 164608)
+++ trunk/LayoutTests/fast/css-grid-layout/minmax-min-content-column-reso=
lution-rows-expected.txt 2014-02-24 22:29:20 UTC (rev 164609)
</span><span class=3D"lines">@@ -2,14 +2,20 @@
</span><span class=3D"cx">=20
</span><span class=3D"cx"> XXX XXX
</span><span class=3D"cx"> PASS
</span><ins>+XXX XXX
+PASS
</ins><span class=3D"cx"> XXX XXX XXX XXX
</span><span class=3D"cx"> PASS
</span><span class=3D"cx"> XX XX XX XX XX XX
</span><span class=3D"cx"> PASS
</span><ins>+XX XX XX XX XX XX
+PASS
</ins><span class=3D"cx"> XXX XXX
</span><span class=3D"cx"> PASS
</span><span class=3D"cx"> XX XX XX XX XX XX
</span><span class=3D"cx"> PASS
</span><ins>+XX XX XX XX XX XX
+PASS
</ins><span class=3D"cx"> XXX XXX
</span><span class=3D"cx"> PASS
</span><span class=3D"cx"> XXX XXX XXX
</span></span></pre></div>
<a id=3D"trunkLayoutTestsfastcssgridlayoutminmaxmincontentcolumnresolutio=
nrowshtml"></a>
<div class=3D"modfile"><h4>Modified: trunk/LayoutTests/fast/css-grid-layo=
ut/minmax-min-content-column-resolution-rows.html (164608 =3D> 164609)</h=
4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/LayoutTests/fast/css-grid-layout/minmax-mi=
n-content-column-resolution-rows.html 2014-02-24 22:21:35 UTC (rev 164608=
)
+++ trunk/LayoutTests/fast/css-grid-layout/minmax-min-content-column-reso=
lution-rows.html 2014-02-24 22:29:20 UTC (rev 164609)
</span><span class=3D"lines">@@ -29,23 +29,35 @@
</span><span class=3D"cx"> <p>Test that resolving minmax function w=
ith min-content on grid items works properly.</p>
</span><span class=3D"cx">=20
</span><span class=3D"cx"> <div class=3D"constrainedContainer&quo=
t;>
</span><del>- <div class=3D"grid gridMinMinContent">
</del><ins>+ <div class=3D"grid gridMinMinContent" style=3D=
"height: 100%">
</ins><span class=3D"cx"> <div class=3D"firstRowFirstColu=
mn" data-expected-width=3D"30" data-expected-height=3D&quo=
t;20">XXX XXX</div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx">=20
</span><span class=3D"cx"> <div class=3D"constrainedContainer&quo=
t;>
</span><span class=3D"cx"> <div class=3D"grid gridMinMinConte=
nt">
</span><ins>+ <div class=3D"firstRowFirstColumn" data=
-expected-width=3D"30" data-expected-height=3D"40">=
;XXX XXX</div>
+ </div>
+</div>
+
+<div class=3D"constrainedContainer">
+ <div class=3D"grid gridMinMinContent">
</ins><span class=3D"cx"> <div class=3D"firstRowFirstColu=
mn" data-expected-width=3D"30" data-expected-height=3D&quo=
t;40">XXX XXX XXX XXX</div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx">=20
</span><span class=3D"cx"> <div class=3D"constrainedContainer&quo=
t;>
</span><del>- <div class=3D"grid gridMinMinContent">
</del><ins>+ <div class=3D"grid gridMinMinContent" style=3D=
"height: 100%">
</ins><span class=3D"cx"> <div class=3D"firstRowFirstColu=
mn" data-expected-width=3D"30" data-expected-height=3D&quo=
t;60">XX XX XX XX XX XX</div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx">=20
</span><ins>+<div class=3D"constrainedContainer">
+ <div class=3D"grid gridMinMinContent">
+ <div class=3D"firstRowFirstColumn" data-expected-wi=
dth=3D"30" data-expected-height=3D"40">XX XX XX XX=
XX XX</div>
+ </div>
+</div>
+
</ins><span class=3D"cx"> <!-- Allow the extra logical space distribut=
ion to occur. -->
</span><span class=3D"cx"> <div style=3D"width: 30px; height: 100=
px">
</span><span class=3D"cx"> <div class=3D"grid gridMinMinConte=
nt">
</span><span class=3D"lines">@@ -54,11 +66,17 @@
</span><span class=3D"cx"> </div>
</span><span class=3D"cx">=20
</span><span class=3D"cx"> <div style=3D"width: 30px; height: 100=
px">
</span><del>- <div class=3D"grid gridMinMinContent">
</del><ins>+ <div class=3D"grid gridMinMinContent" style=3D=
"height: 100%">
</ins><span class=3D"cx"> <div class=3D"firstRowFirstColu=
mn" data-expected-width=3D"30" data-expected-height=3D&quo=
t;60">XX XX XX XX XX XX</div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx">=20
</span><ins>+<div style=3D"width: 30px; height: 100px">
+ <div class=3D"grid gridMinMinContent">
+ <div class=3D"firstRowFirstColumn" data-expected-wi=
dth=3D"30" data-expected-height=3D"40">XX XX XX XX=
XX XX</div>
+ </div>
+</div>
+
</ins><span class=3D"cx"> <div class=3D"constrainedContainer"=
;>
</span><span class=3D"cx"> <div class=3D"grid gridMaxMinConte=
nt">
</span><span class=3D"cx"> <!-- The 'max' logical width ends u=
p being smaller than the 'min' so per the spec we ignore the 'max'. -->=
;
</span></span></pre></div>
<a id=3D"trunkLayoutTestsfastcssgridlayoutminmaxspanningresolutionrowsexp=
ectedtxt"></a>
<div class=3D"modfile"><h4>Modified: trunk/LayoutTests/fast/css-grid-layo=
ut/minmax-spanning-resolution-rows-expected.txt (164608 =3D> 164609)</h4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/LayoutTests/fast/css-grid-layout/minmax-sp=
anning-resolution-rows-expected.txt 2014-02-24 22:21:35 UTC (rev 164608)
+++ trunk/LayoutTests/fast/css-grid-layout/minmax-spanning-resolution-row=
s-expected.txt 2014-02-24 22:29:20 UTC (rev 164609)
</span><span class=3D"lines">@@ -26,12 +26,20 @@
</span><span class=3D"cx"> PASS
</span><span class=3D"cx"> XXXXX XXXXX XXXXX
</span><span class=3D"cx"> PASS
</span><ins>+XXXXX XXXXX XXXXX
+PASS
</ins><span class=3D"cx"> XXXXX XXXXX XXXXX XXXXX XXXXX
</span><span class=3D"cx"> PASS
</span><ins>+XXXXX XXXXX XXXXX XXXXX XXXXX
+PASS
</ins><span class=3D"cx"> XXXXX XXXXX XXXXX
</span><span class=3D"cx"> PASS
</span><ins>+XXXXX XXXXX XXXXX
+PASS
</ins><span class=3D"cx"> XXXXX XXXXX XXXXX XXXXX XXXXX
</span><span class=3D"cx"> PASS
</span><ins>+XXXXX XXXXX XXXXX XXXXX XXXXX
+PASS
</ins><span class=3D"cx"> XXXXX XXXXX XXXXX
</span><span class=3D"cx"> PASS
</span><span class=3D"cx"> XXXXX XXXXX XXXXX XXXXX XXXXX
</span></span></pre></div>
<a id=3D"trunkLayoutTestsfastcssgridlayoutminmaxspanningresolutionrowshtm=
l"></a>
<div class=3D"modfile"><h4>Modified: trunk/LayoutTests/fast/css-grid-layo=
ut/minmax-spanning-resolution-rows.html (164608 =3D> 164609)</h4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/LayoutTests/fast/css-grid-layout/minmax-sp=
anning-resolution-rows.html 2014-02-24 22:21:35 UTC (rev 164608)
+++ trunk/LayoutTests/fast/css-grid-layout/minmax-spanning-resolution-row=
s.html 2014-02-24 22:29:20 UTC (rev 164609)
</span><span class=3D"lines">@@ -142,7 +142,7 @@
</span><span class=3D"cx"> </div>
</span><span class=3D"cx">=20
</span><span class=3D"cx"> <div class=3D"constrainedContainer&quo=
t;>
</span><del>- <div class=3D"grid gridMinMaxMin">
</del><ins>+ <div class=3D"grid gridMinMaxMin" style=3D&q=
uot;height: 100%">
</ins><span class=3D"cx"> <div class=3D"sizedToGridArea b=
othRowFirstColumn" data-expected-width=3D"50" data-expecte=
d-height=3D"30">XXXXX XXXXX XXXXX</div>
</span><span class=3D"cx"> <div class=3D"sizedToGridArea =
firstRowFirstColumn" data-expected-width=3D"50" data-expec=
ted-height=3D"15"></div>
</span><span class=3D"cx"> <div class=3D"sizedToGridArea =
secondRowFirstColumn" data-expected-width=3D"50" data-expe=
cted-height=3D"15"></div>
</span><span class=3D"lines">@@ -151,6 +151,14 @@
</span><span class=3D"cx">=20
</span><span class=3D"cx"> <div class=3D"constrainedContainer&quo=
t;>
</span><span class=3D"cx"> <div class=3D"grid gridMinMaxMin&q=
uot;>
</span><ins>+ <div class=3D"sizedToGridArea bothRowFirstCo=
lumn" data-expected-width=3D"50" data-expected-height=3D&q=
uot;190">XXXXX XXXXX XXXXX</div>
+ <div class=3D"sizedToGridArea firstRowFirstColumn" =
data-expected-width=3D"50" data-expected-height=3D"50"=
;></div>
+ <div class=3D"sizedToGridArea secondRowFirstColumn"=
data-expected-width=3D"50" data-expected-height=3D"140&qu=
ot;></div>
+ </div>
+</div>
+
+<div class=3D"constrainedContainer">
+ <div class=3D"grid gridMinMaxMin" style=3D"height:=
100%">
</ins><span class=3D"cx"> <div class=3D"sizedToGridArea b=
othRowBothColumn" data-expected-width=3D"150" data-expecte=
d-height=3D"30">XXXXX XXXXX XXXXX XXXXX XXXXX</div>
</span><span class=3D"cx"> <div class=3D"sizedToGridArea =
firstRowFirstColumn" data-expected-width=3D"50" data-expec=
ted-height=3D"15"></div>
</span><span class=3D"cx"> <div class=3D"sizedToGridArea =
secondRowFirstColumn" data-expected-width=3D"50" data-expe=
cted-height=3D"15"></div>
</span><span class=3D"lines">@@ -159,9 +167,19 @@
</span><span class=3D"cx"> </div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx">=20
</span><ins>+<div class=3D"constrainedContainer">
+ <div class=3D"grid gridMinMaxMin">
+ <div class=3D"sizedToGridArea bothRowBothColumn" da=
ta-expected-width=3D"150" data-expected-height=3D"190"=
;>XXXXX XXXXX XXXXX XXXXX XXXXX</div>
+ <div class=3D"sizedToGridArea firstRowFirstColumn" =
data-expected-width=3D"50" data-expected-height=3D"50"=
;></div>
+ <div class=3D"sizedToGridArea secondRowFirstColumn"=
data-expected-width=3D"50" data-expected-height=3D"140&qu=
ot;></div>
+ <div class=3D"sizedToGridArea firstRowSecondColumn"=
data-expected-width=3D"100" data-expected-height=3D"50&qu=
ot;></div>
+ <div class=3D"sizedToGridArea secondRowSecondColumn"=
; data-expected-width=3D"100" data-expected-height=3D"140&=
quot;></div>
+ </div>
+</div>
+
</ins><span class=3D"cx"> <!-- Allow the extra logical space distribut=
ion to occur. -->
</span><span class=3D"cx"> <div style=3D"width: 50px; height: 60p=
x">
</span><del>- <div class=3D"grid gridMinMaxMin">
</del><ins>+ <div class=3D"grid gridMinMaxMin" style=3D&q=
uot;height: 100%">
</ins><span class=3D"cx"> <div class=3D"sizedToGridArea b=
othRowFirstColumn" data-expected-width=3D"50" data-expecte=
d-height=3D"60">XXXXX XXXXX XXXXX</div>
</span><span class=3D"cx"> <div class=3D"sizedToGridArea =
firstRowFirstColumn" data-expected-width=3D"50" data-expec=
ted-height=3D"30"></div>
</span><span class=3D"cx"> <div class=3D"sizedToGridArea =
secondRowFirstColumn" data-expected-width=3D"50" data-expe=
cted-height=3D"30"></div>
</span><span class=3D"lines">@@ -170,6 +188,14 @@
</span><span class=3D"cx">=20
</span><span class=3D"cx"> <div style=3D"width: 50px; height: 60p=
x">
</span><span class=3D"cx"> <div class=3D"grid gridMinMaxMin&q=
uot;>
</span><ins>+ <div class=3D"sizedToGridArea bothRowFirstCo=
lumn" data-expected-width=3D"50" data-expected-height=3D&q=
uot;190">XXXXX XXXXX XXXXX</div>
+ <div class=3D"sizedToGridArea firstRowFirstColumn" =
data-expected-width=3D"50" data-expected-height=3D"50"=
;></div>
+ <div class=3D"sizedToGridArea secondRowFirstColumn"=
data-expected-width=3D"50" data-expected-height=3D"140&qu=
ot;></div>
+ </div>
+</div>
+
+<div style=3D"width: 50px; height: 60px">
+ <div class=3D"grid gridMinMaxMin" style=3D"height:=
100%">
</ins><span class=3D"cx"> <div class=3D"sizedToGridArea b=
othRowBothColumn" data-expected-width=3D"150" data-expecte=
d-height=3D"60">XXXXX XXXXX XXXXX XXXXX XXXXX</div>
</span><span class=3D"cx"> <div class=3D"sizedToGridArea =
firstRowFirstColumn" data-expected-width=3D"50" data-expec=
ted-height=3D"30"></div>
</span><span class=3D"cx"> <div class=3D"sizedToGridArea =
secondRowFirstColumn" data-expected-width=3D"50" data-expe=
cted-height=3D"30"></div>
</span><span class=3D"lines">@@ -178,6 +204,16 @@
</span><span class=3D"cx"> </div>
</span><span class=3D"cx"> </div>
</span><span class=3D"cx">=20
</span><ins>+<div style=3D"width: 50px; height: 60px">
+ <div class=3D"grid gridMinMaxMin">
+ <div class=3D"sizedToGridArea bothRowBothColumn" da=
ta-expected-width=3D"150" data-expected-height=3D"190"=
;>XXXXX XXXXX XXXXX XXXXX XXXXX</div>
+ <div class=3D"sizedToGridArea firstRowFirstColumn" =
data-expected-width=3D"50" data-expected-height=3D"50"=
;></div>
+ <div class=3D"sizedToGridArea secondRowFirstColumn"=
data-expected-width=3D"50" data-expected-height=3D"140&qu=
ot;></div>
+ <div class=3D"sizedToGridArea firstRowSecondColumn"=
data-expected-width=3D"100" data-expected-height=3D"50&qu=
ot;></div>
+ <div class=3D"sizedToGridArea secondRowSecondColumn"=
; data-expected-width=3D"100" data-expected-height=3D"140&=
quot;></div>
+ </div>
+</div>
+
</ins><span class=3D"cx"> <div class=3D"unconstrainedContainer&qu=
ot;>
</span><span class=3D"cx"> <div class=3D"grid gridMinMaxMin&q=
uot;>
</span><span class=3D"cx"> <div class=3D"sizedToGridArea =
bothRowFirstColumn" data-expected-width=3D"50" data-expect=
ed-height=3D"190">XXXXX XXXXX XXXXX</div>
</span></span></pre></div>
<a id=3D"trunkSourceWebCoreChangeLog"></a>
<div class=3D"modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (1646=
08 =3D> 164609)</h4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/Source/WebCore/ChangeLog 2014-02-24 22:21:=
35 UTC (rev 164608)
+++ trunk/Source/WebCore/ChangeLog 2014-02-24 22:29:20 UTC (rev 164609)
</span><span class=3D"lines">@@ -1,3 +1,33 @@
</span><ins>+2014-02-24 Javier Fernandez <jfernandez at igalia.com>
+
+ [CSS Grid Layout] handle undefined RemainingSpace in computeUsed=
BreadthOfGridTracks algorithm
+ https://bugs.webkit.org/show_bug.cgi?id=3D128372
+
+ Reviewed by David Hyatt.
+
+ From Blink r165692 by <svillar at igalia.com>
+
+ The spec defines a different code path for the computeUsedBreadt=
hOfGridTracks algorithm
+ http://dev.w3.org/csswg/css-grid/#function-ComputeUsedBreadthOfG=
ridTracks.
+
+ Basically the track breadth is different when the available size=
is undefined and thus,
+ cannot be taken into account during the computations.
+ The available size is undefined whenever the height is auto or t=
he grid element has a
+ shrink-to-fit behavior.
+
+ It was also renamed the function to match the specs so the funct=
ion name starts with
+ 'compute' instead of 'computed'.
+
+ No new tests, but added new cases to some of them.
+
+ * rendering/RenderGrid.cpp:
+ (WebCore::RenderGrid::computeIntrinsicLogicalWidths):
+ (WebCore::RenderGrid::computeUsedBreadthOfGridTracks):
+ (WebCore::gridElementIsShrinkToFit):
+ (WebCore::RenderGrid::computeNormalizedFractionBreadth):
+ (WebCore::RenderGrid::layoutGridItems):
+ * rendering/RenderGrid.h:
+
</ins><span class=3D"cx"> 2014-02-24 Roger Fong <roger_fong at apple.co=
m>
</span><span class=3D"cx">=20
</span><span class=3D"cx"> [Windows] Unreviewed pre-emptive build=
fix.
</span></span></pre></div>
<a id=3D"trunkSourceWebCorerenderingRenderGridcpp"></a>
<div class=3D"modfile"><h4>Modified: trunk/Source/WebCore/rendering/Rende=
rGrid.cpp (164608 =3D> 164609)</h4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/Source/WebCore/rendering/RenderGrid.cpp 20=
14-02-24 22:21:35 UTC (rev 164608)
+++ trunk/Source/WebCore/rendering/RenderGrid.cpp 2014-02-24 22:29:20 UTC=
(rev 164609)
</span><span class=3D"lines">@@ -222,7 +222,7 @@
</span><span class=3D"cx">=20
</span><span class=3D"cx"> GridSizingData sizingData(gridColumnCount(=
), gridRowCount());
</span><span class=3D"cx"> LayoutUnit availableLogicalSpace =3D 0;
</span><del>- const_cast<RenderGrid*>(this)->computedUsedBrea=
dthOfGridTracks(ForColumns, sizingData, availableLogicalSpace);
</del><ins>+ const_cast<RenderGrid*>(this)->computeUsedBreadt=
hOfGridTracks(ForColumns, sizingData, availableLogicalSpace);
</ins><span class=3D"cx">=20
</span><span class=3D"cx"> for (size_t i =3D 0; i < sizingData.col=
umnTracks.size(); ++i) {
</span><span class=3D"cx"> LayoutUnit minTrackBreadth =3D sizingD=
ata.columnTracks[i].m_usedBreadth;
</span><span class=3D"lines">@@ -257,16 +257,24 @@
</span><span class=3D"cx"> setPreferredLogicalWidthsDirty(false);
</span><span class=3D"cx"> }
</span><span class=3D"cx">=20
</span><del>-void RenderGrid::computedUsedBreadthOfGridTracks(GridTrackSi=
zingDirection direction, GridSizingData& sizingData)
</del><ins>+void RenderGrid::computeUsedBreadthOfGridTracks(GridTrackSizi=
ngDirection direction, GridSizingData& sizingData)
</ins><span class=3D"cx"> {
</span><span class=3D"cx"> LayoutUnit availableLogicalSpace =3D (dire=
ction =3D=3D ForColumns) ? availableLogicalWidth() : availableLogicalHeig=
ht(IncludeMarginBorderPadding);
</span><del>- computedUsedBreadthOfGridTracks(direction, sizingData, a=
vailableLogicalSpace);
</del><ins>+ computeUsedBreadthOfGridTracks(direction, sizingData, ava=
ilableLogicalSpace);
</ins><span class=3D"cx"> }
</span><span class=3D"cx">=20
</span><del>-void RenderGrid::computedUsedBreadthOfGridTracks(GridTrackSi=
zingDirection direction, GridSizingData& sizingData, LayoutUnit& =
availableLogicalSpace)
</del><ins>+bool RenderGrid::gridElementIsShrinkToFit()
</ins><span class=3D"cx"> {
</span><ins>+ return isFloatingOrOutOfFlowPositioned();
+}
+
+void RenderGrid::computeUsedBreadthOfGridTracks(GridTrackSizingDirection=
direction, GridSizingData& sizingData, LayoutUnit& availableLogi=
calSpace)
+{
</ins><span class=3D"cx"> Vector<GridTrack>& tracks =3D (di=
rection =3D=3D ForColumns) ? sizingData.columnTracks : sizingData.rowTrac=
ks;
</span><ins>+ Vector<size_t> flexibleSizedTracksIndex;
</ins><span class=3D"cx"> sizingData.contentSizedTracksIndex.shrink(0=
);
</span><ins>+
+ // 1. Initialize per Grid track variables.
</ins><span class=3D"cx"> for (size_t i =3D 0; i < tracks.size(); =
++i) {
</span><span class=3D"cx"> GridTrack& track =3D tracks[i];
</span><span class=3D"cx"> const GridTrackSize& trackSize =3D=
gridTrackSize(direction, i);
</span><span class=3D"lines">@@ -280,8 +288,11 @@
</span><span class=3D"cx">=20
</span><span class=3D"cx"> if (trackSize.isContentSized())
</span><span class=3D"cx"> sizingData.contentSizedTracksIndex=
.append(i);
</span><ins>+ if (trackSize.maxTrackBreadth().isFlex())
+ flexibleSizedTracksIndex.append(i);
</ins><span class=3D"cx"> }
</span><span class=3D"cx">=20
</span><ins>+ // 2. Resolve content-based TrackSizingFunctions.
</ins><span class=3D"cx"> if (!sizingData.contentSizedTracksIndex.isE=
mpty())
</span><span class=3D"cx"> resolveContentBasedTrackSizingFunction=
s(direction, sizingData);
</span><span class=3D"cx">=20
</span><span class=3D"lines">@@ -290,27 +301,61 @@
</span><span class=3D"cx"> availableLogicalSpace -=3D tracks[i].m=
_usedBreadth;
</span><span class=3D"cx"> }
</span><span class=3D"cx">=20
</span><del>- if (availableLogicalSpace <=3D 0)
</del><ins>+ const bool hasUndefinedRemainingSpace =3D (direction =3D=3D=
ForRows) ? style().logicalHeight().isAuto() : gridElementIsShrinkToFit()=
;
+
+ if (!hasUndefinedRemainingSpace && availableLogicalSpace <=
;=3D 0)
</ins><span class=3D"cx"> return;
</span><span class=3D"cx">=20
</span><ins>+ // 3. Grow all Grid tracks in GridTracks from their Used=
Breadth up to their MaxBreadth value until
+ // availableLogicalSpace (RemainingSpace in the specs) is exhausted.
</ins><span class=3D"cx"> const size_t tracksSize =3D tracks.size();
</span><del>- Vector<GridTrack*> tracksForDistribution(tracksSiz=
e);
- for (size_t i =3D 0; i < tracksSize; ++i)
- tracksForDistribution[i] =3D tracks.data() + i;
</del><ins>+ if (!hasUndefinedRemainingSpace) {
+ Vector<GridTrack*> tracksForDistribution(tracksSize);
+ for (size_t i =3D 0; i < tracksSize; ++i)
+ tracksForDistribution[i] =3D tracks.data() + i;
</ins><span class=3D"cx">=20
</span><del>- distributeSpaceToTracks(tracksForDistribution, 0, &G=
ridTrack::usedBreadth, &GridTrack::growUsedBreadth, sizingData, avail=
ableLogicalSpace);
</del><ins>+ distributeSpaceToTracks(tracksForDistribution, 0, &am=
p;GridTrack::usedBreadth, &GridTrack::growUsedBreadth, sizingData, av=
ailableLogicalSpace);
+ } else {
+ for (size_t i =3D 0; i < tracksSize; ++i)
+ tracks[i].m_usedBreadth =3D tracks[i].m_maxBreadth;
+ }
</ins><span class=3D"cx">=20
</span><ins>+ if (flexibleSizedTracksIndex.isEmpty())
+ return;
+
</ins><span class=3D"cx"> // 4. Grow all Grid tracks having a fractio=
n as the MaxTrackSizingFunction.
</span><ins>+ double normalizedFractionBreadth =3D 0;
+ if (!hasUndefinedRemainingSpace)
+ normalizedFractionBreadth =3D computeNormalizedFractionBreadth(t=
racks, GridSpan(0, tracks.size() - 1), direction, availableLogicalSpace);
+ else {
+ for (size_t i =3D 0; i < flexibleSizedTracksIndex.size(); ++i=
) {
+ const size_t trackIndex =3D flexibleSizedTracksIndex[i];
+ const GridTrackSize& trackSize =3D gridTrackSize(directi=
on, trackIndex);
+ normalizedFractionBreadth =3D std::max(normalizedFractionBre=
adth, tracks[trackIndex].m_usedBreadth / trackSize.maxTrackBreadth().flex=
());
+ }
</ins><span class=3D"cx">=20
</span><del>- // FIXME: Handle the case where RemainingSpace is not de=
fined.
- double normalizedFractionBreadth =3D computeNormalizedFractionBreadt=
h(tracks, direction, availableLogicalSpace);
- for (size_t i =3D 0; i < tracksSize; ++i) {
- const GridTrackSize& trackSize =3D gridTrackSize(direction, =
i);
- if (!trackSize.maxTrackBreadth().isFlex())
- continue;
</del><ins>+ for (size_t i =3D 0; i < flexibleSizedTracksIndex.=
size(); ++i) {
+ GridIterator iterator(m_grid, direction, flexibleSizedTracks=
Index[i]);
+ while (RenderBox* gridItem =3D iterator.nextGridItem()) {
+ const GridCoordinate coordinate =3D cachedGridCoordinate=
(gridItem);
+ const GridSpan span =3D (direction =3D=3D ForColumns) ? =
coordinate.columns : coordinate.rows;
</ins><span class=3D"cx">=20
</span><del>- tracks[i].m_usedBreadth =3D std::max<LayoutUnit&g=
t;(tracks[i].m_usedBreadth, normalizedFractionBreadth * trackSize.maxTrac=
kBreadth().flex());
</del><ins>+ // Do not include already processed items.
+ if (i > 0 && span.initialPositionIndex <=3D=
flexibleSizedTracksIndex[i - 1])
+ continue;
+
+ double itemNormalizedFlexBreadth =3D computeNormalizedFr=
actionBreadth(tracks, span, direction, maxContentForChild(gridItem, direc=
tion, sizingData.columnTracks));
+ normalizedFractionBreadth =3D std::max(normalizedFractio=
nBreadth, itemNormalizedFlexBreadth);
+ }
+ }
</ins><span class=3D"cx"> }
</span><ins>+
+ for (size_t i =3D 0; i < flexibleSizedTracksIndex.size(); ++i) {
+ const size_t trackIndex =3D flexibleSizedTracksIndex[i];
+ const GridTrackSize& trackSize =3D gridTrackSize(direction, =
trackIndex);
+
+ tracks[trackIndex].m_usedBreadth =3D std::max<LayoutUnit>(=
tracks[trackIndex].m_usedBreadth, normalizedFractionBreadth * trackSize.m=
axTrackBreadth().flex());
+ }
</ins><span class=3D"cx"> }
</span><span class=3D"cx">=20
</span><span class=3D"cx"> LayoutUnit RenderGrid::computeUsedBreadthOfMin=
Length(GridTrackSizingDirection direction, const GridLength& gridLeng=
th) const
</span><span class=3D"lines">@@ -350,12 +395,12 @@
</span><span class=3D"cx"> return valueForLength(trackLength, directi=
on =3D=3D ForColumns ? logicalWidth() : computeContentLogicalHeight(style=
().logicalHeight()));
</span><span class=3D"cx"> }
</span><span class=3D"cx">=20
</span><del>-double RenderGrid::computeNormalizedFractionBreadth(Vector&l=
t;GridTrack>& tracks, GridTrackSizingDirection direction, LayoutUn=
it availableLogicalSpace) const
</del><ins>+double RenderGrid::computeNormalizedFractionBreadth(Vector<=
;GridTrack>& tracks, const GridSpan& tracksSpan, GridTrackSizi=
ngDirection direction, LayoutUnit availableLogicalSpace) const
</ins><span class=3D"cx"> {
</span><span class=3D"cx"> // |availableLogicalSpace| already account=
s for the used breadths so no need to remove it here.
</span><span class=3D"cx">=20
</span><span class=3D"cx"> Vector<GridTrackForNormalization> tr=
acksForNormalization;
</span><del>- for (size_t i =3D 0; i < tracks.size(); ++i) {
</del><ins>+ for (size_t i =3D tracksSpan.initialPositionIndex; i <=
=3D tracksSpan.finalPositionIndex; ++i) {
</ins><span class=3D"cx"> const GridTrackSize& trackSize =3D =
gridTrackSize(direction, i);
</span><span class=3D"cx"> if (!trackSize.maxTrackBreadth().isFle=
x())
</span><span class=3D"cx"> continue;
</span><span class=3D"lines">@@ -363,9 +408,8 @@
</span><span class=3D"cx"> tracksForNormalization.append(GridTrac=
kForNormalization(tracks[i], trackSize.maxTrackBreadth().flex()));
</span><span class=3D"cx"> }
</span><span class=3D"cx">=20
</span><del>- // FIXME: Ideally we shouldn't come here without any <=
;flex> grid track.
- if (tracksForNormalization.isEmpty())
- return LayoutUnit();
</del><ins>+ // The function is not called if we don't have <flex&g=
t; grid tracks
+ ASSERT(!tracksForNormalization.isEmpty());
</ins><span class=3D"cx">=20
</span><span class=3D"cx"> std::sort(tracksForNormalization.begin(), =
tracksForNormalization.end(),
</span><span class=3D"cx"> [](const GridTrackForNormalizati=
on& track1, const GridTrackForNormalization& track2) {
</span><span class=3D"lines">@@ -748,9 +792,9 @@
</span><span class=3D"cx"> placeItemsOnGrid();
</span><span class=3D"cx">=20
</span><span class=3D"cx"> GridSizingData sizingData(gridColumnCount(=
), gridRowCount());
</span><del>- computedUsedBreadthOfGridTracks(ForColumns, sizingData);
</del><ins>+ computeUsedBreadthOfGridTracks(ForColumns, sizingData);
</ins><span class=3D"cx"> ASSERT(tracksAreWiderThanMinTrackBreadth(Fo=
rColumns, sizingData.columnTracks));
</span><del>- computedUsedBreadthOfGridTracks(ForRows, sizingData);
</del><ins>+ computeUsedBreadthOfGridTracks(ForRows, sizingData);
</ins><span class=3D"cx"> ASSERT(tracksAreWiderThanMinTrackBreadth(Fo=
rRows, sizingData.rowTracks));
</span><span class=3D"cx">=20
</span><span class=3D"cx"> populateGridPositions(sizingData);
</span></span></pre></div>
<a id=3D"trunkSourceWebCorerenderingRenderGridh"></a>
<div class=3D"modfile"><h4>Modified: trunk/Source/WebCore/rendering/Rende=
rGrid.h (164608 =3D> 164609)</h4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/Source/WebCore/rendering/RenderGrid.h 2014=
-02-24 22:21:35 UTC (rev 164608)
+++ trunk/Source/WebCore/rendering/RenderGrid.h 2014-02-24 22:29:20 UTC (=
rev 164609)
</span><span class=3D"lines">@@ -72,8 +72,9 @@
</span><span class=3D"cx"> class GridIterator;
</span><span class=3D"cx"> class GridSizingData;
</span><span class=3D"cx"> enum GridTrackSizingDirection { ForColumns=
, ForRows };
</span><del>- void computedUsedBreadthOfGridTracks(GridTrackSizingDire=
ction, GridSizingData&);
- void computedUsedBreadthOfGridTracks(GridTrackSizingDirection, GridS=
izingData&, LayoutUnit& availableLogicalSpace);
</del><ins>+ void computeUsedBreadthOfGridTracks(GridTrackSizingDirect=
ion, GridSizingData&);
+ void computeUsedBreadthOfGridTracks(GridTrackSizingDirection, GridSi=
zingData&, LayoutUnit& availableLogicalSpace);
+ bool gridElementIsShrinkToFit();
</ins><span class=3D"cx"> LayoutUnit computeUsedBreadthOfMinLength(Gr=
idTrackSizingDirection, const GridLength&) const;
</span><span class=3D"cx"> LayoutUnit computeUsedBreadthOfMaxLength(G=
ridTrackSizingDirection, const GridLength&, LayoutUnit usedBreadth) c=
onst;
</span><span class=3D"cx"> LayoutUnit computeUsedBreadthOfSpecifiedLe=
ngth(GridTrackSizingDirection, const Length&) const;
</span><span class=3D"lines">@@ -101,7 +102,7 @@
</span><span class=3D"cx"> void resolveContentBasedTrackSizingFunctio=
nsForItems(GridTrackSizingDirection, GridSizingData&, RenderBox*, Fil=
terFunction, SizingFunction, AccumulatorGetter, AccumulatorGrowFunction);
</span><span class=3D"cx"> void distributeSpaceToTracks(Vector<Gri=
dTrack*>&, Vector<GridTrack*>* tracksForGrowthAboveMaxBreadt=
h, AccumulatorGetter, AccumulatorGrowFunction, GridSizingData&, Layou=
tUnit& availableLogicalSpace);
</span><span class=3D"cx">=20
</span><del>- double computeNormalizedFractionBreadth(Vector<GridTr=
ack>&, GridTrackSizingDirection, LayoutUnit availableLogicalSpace)=
const;
</del><ins>+ double computeNormalizedFractionBreadth(Vector<GridTra=
ck>&, const GridSpan& tracksSpan, GridTrackSizingDirection, La=
youtUnit availableLogicalSpace) const;
</ins><span class=3D"cx">=20
</span><span class=3D"cx"> const GridTrackSize& gridTrackSize(Gri=
dTrackSizingDirection, size_t) const;
</span><span class=3D"cx"> size_t explicitGridColumnCount() const;
</span></span></pre>
</div>
</div>
</body>
</html>
More information about the webkit-changes
mailing list