No subject


Fri Mar 7 15:32:22 PST 2014


2555">r162555</a> by &lt;svillar at igalia.com&gt;

Source/WebCore:

Names for grid lines are now specified as a list of whitespace separated
idents enclosed in parentheses instead of as a list of strings.

Updated tests to match the new &lt;grid-line&gt; syntax.

* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.xcodeproj/project.pbxproj: Added info of the new file for the C=
SSGridLineNamesValue class.
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::addValuesForNamedGridLinesAtIndex): The named &lt;grid-line&gt;=
 value is now a list.
* css/CSSGrammar.y.in: New syntax for named &lt;grid-line&gt;.
* css/CSSGridLineNamesValue.cpp: Added.
(WebCore::CSSGridLineNamesValue::customCSSText): String representation of=
 the named &lt;grid-line&gt; as a list of Strings.
(WebCore::CSSGridLineNamesValue::CSSGridLineNamesValue): Constructor.
(WebCore::CSSGridLineNamesValue::cloneForCSSOM): Ref counted cloning func=
tion.
* css/CSSGridLineNamesValue.h: Added.
(WebCore::CSSGridLineNamesValue::create): Ref counted constructor.
* css/CSSParser.cpp:
(WebCore::CSSParser::parseGridLineNames): It replaces the old parseGrdTra=
ckNames.
(WebCore::CSSParser::parseGridTrackList): Using the new named &lt;grid-li=
ne&gt; syntax.
(WebCore::CSSParser::parseGridTrackRepeatFunction): Using the new named &=
lt;grid-line&gt; syntax.
* css/CSSParser.h:
* css/CSSParserValues.cpp:
(WebCore::destroy): Handling the case of CSSValue being CSSValueList inta=
nces.
(WebCore::CSSParserValue::createCSSValue): Handling the case of CSSValue =
being CSSValueList intances.
* css/CSSParserValues.h:
(WebCore::CSSParserValue::setFromValueList): Adds the named &lt;grid-line=
&gt; list to the CSSParserValueList instance.
* css/CSSValue.cpp:
(WebCore::CSSValue::equals): Handling the case of the new CSSGridLineName=
sValue class.
(WebCore::CSSValue::cssText): Handling the case of the new CSSGridLineNam=
esValue class.
(WebCore::CSSValue::destroy): Handling the case of the new CSSGridLineNam=
esValue class.
* css/CSSValue.h:
(WebCore::CSSValue::isGridLineNamesValue): Type cast check for the new CS=
SGridLineNamesValue class.
* css/StyleResolver.cpp:
(WebCore::createGridTrackList): Using the new named &lt;grid-line&gt; syn=
tax.

LayoutTests:

Updated tests to match the new &lt;grid-line&gt; syntax.

* fast/css-grid-layout/grid-columns-rows-get-set-expected.txt:
* fast/css-grid-layout/grid-columns-rows-get-set-multiple-expected.txt:
* fast/css-grid-layout/grid-element-repeat-get-set-expected.txt:
* fast/css-grid-layout/grid-element-repeat-get-set.html:
* fast/css-grid-layout/grid-item-bad-resolution-double-span.html:
* fast/css-grid-layout/grid-item-named-grid-area-resolution.html:
* fast/css-grid-layout/grid-item-named-grid-line-resolution.html:
* fast/css-grid-layout/grid-item-negative-position-resolution.html:
* fast/css-grid-layout/grid-item-position-changed-dynamic.html:
* fast/css-grid-layout/named-grid-line-get-set-expected.txt:
* fast/css-grid-layout/named-grid-line-get-set.html:
* fast/css-grid-layout/named-grid-lines-with-named-grid-areas-resolution.=
html:
* fast/css-grid-layout/non-grid-columns-rows-get-set-expected.txt:
* fast/css-grid-layout/non-grid-columns-rows-get-set-multiple-expected.tx=
t:
* fast/css-grid-layout/non-grid-element-repeat-get-set-expected.txt:
* fast/css-grid-layout/non-grid-element-repeat-get-set.html:
* fast/css-grid-layout/non-named-grid-line-get-set-expected.txt:
* fast/css-grid-layout/non-named-grid-line-get-set.html:
* fast/css-grid-layout/resources/grid-columns-rows-get-set-multiple.js:
(testInherit):
(testInitial):
* fast/css-grid-layout/resources/grid-columns-rows-get-set.js:
(testInherit):
(testInitial):
* fast/css-grid-layout/resources/non-grid-columns-rows-get-set-multiple.j=
s:
(testInherit):
(testInitial):
* fast/css-grid-layout/resources/non-grid-columns-rows-get-set.js:
(testInherit):
(testInitial):</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href=3D"#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a=
></li>
<li><a href=3D"#trunkLayoutTestsfastcssgridlayoutgridcolumnsrowsgetsetexp=
ectedtxt">trunk/LayoutTests/fast/css-grid-layout/grid-columns-rows-get-se=
t-expected.txt</a></li>
<li><a href=3D"#trunkLayoutTestsfastcssgridlayoutgridcolumnsrowsgetsetmul=
tipleexpectedtxt">trunk/LayoutTests/fast/css-grid-layout/grid-columns-row=
s-get-set-multiple-expected.txt</a></li>
<li><a href=3D"#trunkLayoutTestsfastcssgridlayoutgridelementrepeatgetsete=
xpectedtxt">trunk/LayoutTests/fast/css-grid-layout/grid-element-repeat-ge=
t-set-expected.txt</a></li>
<li><a href=3D"#trunkLayoutTestsfastcssgridlayoutgridelementrepeatgetseth=
tml">trunk/LayoutTests/fast/css-grid-layout/grid-element-repeat-get-set.h=
tml</a></li>
<li><a href=3D"#trunkLayoutTestsfastcssgridlayoutgriditembadresolutiondou=
blespanhtml">trunk/LayoutTests/fast/css-grid-layout/grid-item-bad-resolut=
ion-double-span.html</a></li>
<li><a href=3D"#trunkLayoutTestsfastcssgridlayoutgriditemnamedgridareares=
olutionhtml">trunk/LayoutTests/fast/css-grid-layout/grid-item-named-grid-=
area-resolution.html</a></li>
<li><a href=3D"#trunkLayoutTestsfastcssgridlayoutgriditemnamedgridlineres=
olutionhtml">trunk/LayoutTests/fast/css-grid-layout/grid-item-named-grid-=
line-resolution.html</a></li>
<li><a href=3D"#trunkLayoutTestsfastcssgridlayoutgriditemnegativeposition=
resolutionhtml">trunk/LayoutTests/fast/css-grid-layout/grid-item-negative=
-position-resolution.html</a></li>
<li><a href=3D"#trunkLayoutTestsfastcssgridlayoutgriditempositionchangedd=
ynamichtml">trunk/LayoutTests/fast/css-grid-layout/grid-item-position-cha=
nged-dynamic.html</a></li>
<li><a href=3D"#trunkLayoutTestsfastcssgridlayoutnamedgridlinegetsetexpec=
tedtxt">trunk/LayoutTests/fast/css-grid-layout/named-grid-line-get-set-ex=
pected.txt</a></li>
<li><a href=3D"#trunkLayoutTestsfastcssgridlayoutnamedgridlinegetsethtml"=
>trunk/LayoutTests/fast/css-grid-layout/named-grid-line-get-set.html</a><=
/li>
<li><a href=3D"#trunkLayoutTestsfastcssgridlayoutnamedgridlineswithnamedg=
ridareasresolutionhtml">trunk/LayoutTests/fast/css-grid-layout/named-grid=
-lines-with-named-grid-areas-resolution.html</a></li>
<li><a href=3D"#trunkLayoutTestsfastcssgridlayoutnongridcolumnsrowsgetset=
expectedtxt">trunk/LayoutTests/fast/css-grid-layout/non-grid-columns-rows=
-get-set-expected.txt</a></li>
<li><a href=3D"#trunkLayoutTestsfastcssgridlayoutnongridcolumnsrowsgetset=
multipleexpectedtxt">trunk/LayoutTests/fast/css-grid-layout/non-grid-colu=
mns-rows-get-set-multiple-expected.txt</a></li>
<li><a href=3D"#trunkLayoutTestsfastcssgridlayoutnongridelementrepeatgets=
etexpectedtxt">trunk/LayoutTests/fast/css-grid-layout/non-grid-element-re=
peat-get-set-expected.txt</a></li>
<li><a href=3D"#trunkLayoutTestsfastcssgridlayoutnongridelementrepeatgets=
ethtml">trunk/LayoutTests/fast/css-grid-layout/non-grid-element-repeat-ge=
t-set.html</a></li>
<li><a href=3D"#trunkLayoutTestsfastcssgridlayoutnonnamedgridlinegetsetex=
pectedtxt">trunk/LayoutTests/fast/css-grid-layout/non-named-grid-line-get=
-set-expected.txt</a></li>
<li><a href=3D"#trunkLayoutTestsfastcssgridlayoutnonnamedgridlinegetsetht=
ml">trunk/LayoutTests/fast/css-grid-layout/non-named-grid-line-get-set.ht=
ml</a></li>
<li><a href=3D"#trunkLayoutTestsfastcssgridlayoutresourcesgridcolumnsrows=
getsetmultiplejs">trunk/LayoutTests/fast/css-grid-layout/resources/grid-c=
olumns-rows-get-set-multiple.js</a></li>
<li><a href=3D"#trunkLayoutTestsfastcssgridlayoutresourcesgridcolumnsrows=
getsetjs">trunk/LayoutTests/fast/css-grid-layout/resources/grid-columns-r=
ows-get-set.js</a></li>
<li><a href=3D"#trunkLayoutTestsfastcssgridlayoutresourcesnongridcolumnsr=
owsgetsetmultiplejs">trunk/LayoutTests/fast/css-grid-layout/resources/non=
-grid-columns-rows-get-set-multiple.js</a></li>
<li><a href=3D"#trunkLayoutTestsfastcssgridlayoutresourcesnongridcolumnsr=
owsgetsetjs">trunk/LayoutTests/fast/css-grid-layout/resources/non-grid-co=
lumns-rows-get-set.js</a></li>
<li><a href=3D"#trunkSourceWebCoreCMakeListstxt">trunk/Source/WebCore/CMa=
keLists.txt</a></li>
<li><a href=3D"#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeL=
og</a></li>
<li><a href=3D"#trunkSourceWebCoreGNUmakefilelistam">trunk/Source/WebCore=
/GNUmakefile.list.am</a></li>
<li><a href=3D"#trunkSourceWebCoreWebCorexcodeprojprojectpbxproj">trunk/S=
ource/WebCore/WebCore.xcodeproj/project.pbxproj</a></li>
<li><a href=3D"#trunkSourceWebCorecssCSSComputedStyleDeclarationcpp">trun=
k/Source/WebCore/css/CSSComputedStyleDeclaration.cpp</a></li>
<li><a href=3D"#trunkSourceWebCorecssCSSGrammaryin">trunk/Source/WebCore/=
css/CSSGrammar.y.in</a></li>
<li><a href=3D"#trunkSourceWebCorecssCSSParsercpp">trunk/Source/WebCore/c=
ss/CSSParser.cpp</a></li>
<li><a href=3D"#trunkSourceWebCorecssCSSParserh">trunk/Source/WebCore/css=
/CSSParser.h</a></li>
<li><a href=3D"#trunkSourceWebCorecssCSSParserValuescpp">trunk/Source/Web=
Core/css/CSSParserValues.cpp</a></li>
<li><a href=3D"#trunkSourceWebCorecssCSSParserValuesh">trunk/Source/WebCo=
re/css/CSSParserValues.h</a></li>
<li><a href=3D"#trunkSourceWebCorecssCSSValuecpp">trunk/Source/WebCore/cs=
s/CSSValue.cpp</a></li>
<li><a href=3D"#trunkSourceWebCorecssCSSValueh">trunk/Source/WebCore/css/=
CSSValue.h</a></li>
<li><a href=3D"#trunkSourceWebCorecssStyleResolvercpp">trunk/Source/WebCo=
re/css/StyleResolver.cpp</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li><a href=3D"#trunkSourceWebCorecssCSSGridLineNamesValuecpp">trunk/Sour=
ce/WebCore/css/CSSGridLineNamesValue.cpp</a></li>
<li><a href=3D"#trunkSourceWebCorecssCSSGridLineNamesValueh">trunk/Source=
/WebCore/css/CSSGridLineNamesValue.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 (166156 =
=3D> 166157)</h4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/LayoutTests/ChangeLog	2014-03-24 09:27:38 =
UTC (rev 166156)
+++ trunk/LayoutTests/ChangeLog	2014-03-24 09:42:21 UTC (rev 166157)
</span><span class=3D"lines">@@ -1,3 +1,45 @@
</span><ins>+2014-03-24  Javier Fernandez  &lt;jfernandez at igalia.com&gt;
+
+        [CSS Grid Layout] Update named &lt;grid-line&gt; syntax to the l=
ast version of the specs
+        https://bugs.webkit.org/show_bug.cgi?id=3D129041
+
+        Reviewed by Sergio Villar Senin.
+
+        From Blink r162555 by &lt;svillar at igalia.com&gt;
+
+        Updated tests to match the new &lt;grid-line&gt; syntax.
+
+        * fast/css-grid-layout/grid-columns-rows-get-set-expected.txt:
+        * fast/css-grid-layout/grid-columns-rows-get-set-multiple-expect=
ed.txt:
+        * fast/css-grid-layout/grid-element-repeat-get-set-expected.txt:
+        * fast/css-grid-layout/grid-element-repeat-get-set.html:
+        * fast/css-grid-layout/grid-item-bad-resolution-double-span.html=
:
+        * fast/css-grid-layout/grid-item-named-grid-area-resolution.html=
:
+        * fast/css-grid-layout/grid-item-named-grid-line-resolution.html=
:
+        * fast/css-grid-layout/grid-item-negative-position-resolution.ht=
ml:
+        * fast/css-grid-layout/grid-item-position-changed-dynamic.html:
+        * fast/css-grid-layout/named-grid-line-get-set-expected.txt:
+        * fast/css-grid-layout/named-grid-line-get-set.html:
+        * fast/css-grid-layout/named-grid-lines-with-named-grid-areas-re=
solution.html:
+        * fast/css-grid-layout/non-grid-columns-rows-get-set-expected.tx=
t:
+        * fast/css-grid-layout/non-grid-columns-rows-get-set-multiple-ex=
pected.txt:
+        * fast/css-grid-layout/non-grid-element-repeat-get-set-expected.=
txt:
+        * fast/css-grid-layout/non-grid-element-repeat-get-set.html:
+        * fast/css-grid-layout/non-named-grid-line-get-set-expected.txt:
+        * fast/css-grid-layout/non-named-grid-line-get-set.html:
+        * fast/css-grid-layout/resources/grid-columns-rows-get-set-multi=
ple.js:
+        (testInherit):
+        (testInitial):
+        * fast/css-grid-layout/resources/grid-columns-rows-get-set.js:
+        (testInherit):
+        (testInitial):
+        * fast/css-grid-layout/resources/non-grid-columns-rows-get-set-m=
ultiple.js:
+        (testInherit):
+        (testInitial):
+        * fast/css-grid-layout/resources/non-grid-columns-rows-get-set.j=
s:
+        (testInherit):
+        (testInitial):
+
</ins><span class=3D"cx"> 2014-03-24  Andrzej Badowski  &lt;a.badowski at sa=
msung.com&gt;
</span><span class=3D"cx">=20
</span><span class=3D"cx">         [EFL] Add expectations for flaky perf =
layout test.
</span></span></pre></div>
<a id=3D"trunkLayoutTestsfastcssgridlayoutgridcolumnsrowsgetsetexpectedtx=
t"></a>
<div class=3D"modfile"><h4>Modified: trunk/LayoutTests/fast/css-grid-layo=
ut/grid-columns-rows-get-set-expected.txt (166156 =3D> 166157)</h4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/LayoutTests/fast/css-grid-layout/grid-colu=
mns-rows-get-set-expected.txt	2014-03-24 09:27:38 UTC (rev 166156)
+++ trunk/LayoutTests/fast/css-grid-layout/grid-columns-rows-get-set-expe=
cted.txt	2014-03-24 09:42:21 UTC (rev 166157)
</span><span class=3D"lines">@@ -170,12 +170,12 @@
</span><span class=3D"cx"> PASS element.style.webkitGridTemplateRows is &=
quot;none&quot;
</span><span class=3D"cx">=20
</span><span class=3D"cx"> Test setting grid-template-columns and grid-te=
mplate-rows to 'inherit' through JS
</span><del>-PASS getComputedStyle(element, '').getPropertyValue('-webkit=
-grid-template-columns') is '50px last'
-PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-rows') is 'first 20px'
</del><ins>+PASS getComputedStyle(element, '').getPropertyValue('-webkit-=
grid-template-columns') is '50px (last)'
+PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-rows') is '(first) 20px'
</ins><span class=3D"cx">=20
</span><span class=3D"cx"> Test setting grid-template-columns and grid-te=
mplate-rows to 'initial' through JS
</span><del>-PASS getComputedStyle(element, '').getPropertyValue('-webkit=
-grid-template-columns') is '450px last'
-PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-rows') is 'first 150px'
</del><ins>+PASS getComputedStyle(element, '').getPropertyValue('-webkit-=
grid-template-columns') is '450px (last)'
+PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-rows') is '(first) 150px'
</ins><span class=3D"cx"> PASS getComputedStyle(element, '').getPropertyV=
alue('-webkit-grid-template-columns') is 'none'
</span><span class=3D"cx"> PASS getComputedStyle(element, '').getProperty=
Value('-webkit-grid-template-rows') is 'none'
</span><span class=3D"cx"> PASS successfullyParsed is true
</span></span></pre></div>
<a id=3D"trunkLayoutTestsfastcssgridlayoutgridcolumnsrowsgetsetmultipleex=
pectedtxt"></a>
<div class=3D"modfile"><h4>Modified: trunk/LayoutTests/fast/css-grid-layo=
ut/grid-columns-rows-get-set-multiple-expected.txt (166156 =3D> 166157)</=
h4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/LayoutTests/fast/css-grid-layout/grid-colu=
mns-rows-get-set-multiple-expected.txt	2014-03-24 09:27:38 UTC (rev 16615=
6)
+++ trunk/LayoutTests/fast/css-grid-layout/grid-columns-rows-get-set-mult=
iple-expected.txt	2014-03-24 09:42:21 UTC (rev 166157)
</span><span class=3D"lines">@@ -110,12 +110,12 @@
</span><span class=3D"cx"> PASS window.getComputedStyle(element, '').getP=
ropertyValue('-webkit-grid-template-rows') is &quot;none&quot;
</span><span class=3D"cx">=20
</span><span class=3D"cx"> Test setting grid-template-columns and grid-te=
mplate-rows to 'inherit' through JS
</span><del>-PASS window.getComputedStyle(element, '').getPropertyValue('=
-webkit-grid-template-columns') is &quot;50px 750px last&quot;
-PASS window.getComputedStyle(element, '').getPropertyValue('-webkit-grid=
-template-rows') is &quot;20px middle 45px&quot;
</del><ins>+PASS window.getComputedStyle(element, '').getPropertyValue('-=
webkit-grid-template-columns') is &quot;50px 750px (last)&quot;
+PASS window.getComputedStyle(element, '').getPropertyValue('-webkit-grid=
-template-rows') is &quot;20px (middle) 45px&quot;
</ins><span class=3D"cx">=20
</span><span class=3D"cx"> Test setting grid-template-columns and grid-te=
mplate-rows to 'initial' through JS
</span><del>-PASS window.getComputedStyle(element, '').getPropertyValue('=
-webkit-grid-template-columns') is &quot;1200px middle 55px&quot;
-PASS window.getComputedStyle(element, '').getPropertyValue('-webkit-grid=
-template-rows') is &quot;200px line 400px line&quot;
</del><ins>+PASS window.getComputedStyle(element, '').getPropertyValue('-=
webkit-grid-template-columns') is &quot;1200px (middle) 55px&quot;
+PASS window.getComputedStyle(element, '').getPropertyValue('-webkit-grid=
-template-rows') is &quot;200px (line) 400px (line)&quot;
</ins><span class=3D"cx"> PASS window.getComputedStyle(element, '').getPr=
opertyValue('-webkit-grid-template-columns') is &quot;none&quot;
</span><span class=3D"cx"> PASS window.getComputedStyle(element, '').getP=
ropertyValue('-webkit-grid-template-rows') is &quot;none&quot;
</span><span class=3D"cx"> PASS successfullyParsed is true
</span></span></pre></div>
<a id=3D"trunkLayoutTestsfastcssgridlayoutgridelementrepeatgetsetexpected=
txt"></a>
<div class=3D"modfile"><h4>Modified: trunk/LayoutTests/fast/css-grid-layo=
ut/grid-element-repeat-get-set-expected.txt (166156 =3D> 166157)</h4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/LayoutTests/fast/css-grid-layout/grid-elem=
ent-repeat-get-set-expected.txt	2014-03-24 09:27:38 UTC (rev 166156)
+++ trunk/LayoutTests/fast/css-grid-layout/grid-element-repeat-get-set-ex=
pected.txt	2014-03-24 09:42:21 UTC (rev 166157)
</span><span class=3D"lines">@@ -14,18 +14,18 @@
</span><span class=3D"cx"> PASS window.getComputedStyle(twoSingleTrackRep=
eatWithChildren, '').getPropertyValue('-webkit-grid-template-rows') is &q=
uot;44px 77px&quot;
</span><span class=3D"cx"> PASS window.getComputedStyle(twoDoubleTrackRep=
eat, '').getPropertyValue('-webkit-grid-template-columns') is &quot;33px =
120px 0px 120px&quot;
</span><span class=3D"cx"> PASS window.getComputedStyle(twoDoubleTrackRep=
eat, '').getPropertyValue('-webkit-grid-template-rows') is &quot;10px 77p=
x 10px 0px&quot;
</span><del>-PASS window.getComputedStyle(twoDoubleTrackWithNamedGridLine=
Repeat, '').getPropertyValue('-webkit-grid-template-columns') is &quot;33=
px middle 250px end 0px middle 250px end&quot;
-PASS window.getComputedStyle(twoDoubleTrackWithNamedGridLineRepeat, '').=
getPropertyValue('-webkit-grid-template-rows') is &quot;10px start 77px e=
nd 10px start 0px end&quot;
-PASS window.getComputedStyle(twoDoubleTrackWithTrailingNamedGridLineRepe=
at, '').getPropertyValue('-webkit-grid-template-columns') is &quot;before=
 0px before 0px&quot;
-PASS window.getComputedStyle(twoDoubleTrackWithTrailingNamedGridLineRepe=
at, '').getPropertyValue('-webkit-grid-template-rows') is &quot;before 10=
px before 10px&quot;
-PASS window.getComputedStyle(trailingNamedGridLineRepeat, '').getPropert=
yValue('-webkit-grid-template-columns') is &quot;250px end&quot;
-PASS window.getComputedStyle(trailingNamedGridLineRepeat, '').getPropert=
yValue('-webkit-grid-template-rows') is &quot;10px end&quot;
-PASS window.getComputedStyle(leadingNamedGridLineRepeat, '').getProperty=
Value('-webkit-grid-template-columns') is &quot;start 250px 250px&quot;
-PASS window.getComputedStyle(leadingNamedGridLineRepeat, '').getProperty=
Value('-webkit-grid-template-rows') is &quot;start 10px 10px&quot;
-PASS window.getComputedStyle(mixRepeatAfterNonRepeat, '').getPropertyVal=
ue('-webkit-grid-template-columns') is &quot;start 140px 250px 250px&quot=
;
</del><ins>+PASS window.getComputedStyle(twoDoubleTrackWithNamedGridLineR=
epeat, '').getPropertyValue('-webkit-grid-template-columns') is &quot;33p=
x (middle) 250px (end) 0px (middle) 250px (end)&quot;
+PASS window.getComputedStyle(twoDoubleTrackWithNamedGridLineRepeat, '').=
getPropertyValue('-webkit-grid-template-rows') is &quot;10px (start) 77px=
 (end) 10px (start) 0px (end)&quot;
+PASS window.getComputedStyle(twoDoubleTrackWithTrailingNamedGridLineRepe=
at, '').getPropertyValue('-webkit-grid-template-columns') is &quot;(befor=
e) 0px (before) 0px&quot;
+PASS window.getComputedStyle(twoDoubleTrackWithTrailingNamedGridLineRepe=
at, '').getPropertyValue('-webkit-grid-template-rows') is &quot;(before) =
10px (before) 10px&quot;
+PASS window.getComputedStyle(trailingNamedGridLineRepeat, '').getPropert=
yValue('-webkit-grid-template-columns') is &quot;250px (end)&quot;
+PASS window.getComputedStyle(trailingNamedGridLineRepeat, '').getPropert=
yValue('-webkit-grid-template-rows') is &quot;10px (end)&quot;
+PASS window.getComputedStyle(leadingNamedGridLineRepeat, '').getProperty=
Value('-webkit-grid-template-columns') is &quot;(start) 250px 250px&quot;
+PASS window.getComputedStyle(leadingNamedGridLineRepeat, '').getProperty=
Value('-webkit-grid-template-rows') is &quot;(start) 10px 10px&quot;
+PASS window.getComputedStyle(mixRepeatAfterNonRepeat, '').getPropertyVal=
ue('-webkit-grid-template-columns') is &quot;(start) 140px 250px 250px&qu=
ot;
</ins><span class=3D"cx"> PASS window.getComputedStyle(mixRepeatAfterNonR=
epeat, '').getPropertyValue('-webkit-grid-template-rows') is &quot;44px 1=
0px 10px&quot;
</span><del>-PASS window.getComputedStyle(mixNonRepeatAfterRepeat, '').ge=
tPropertyValue('-webkit-grid-template-columns') is &quot;250px 250px 120p=
x last&quot;
-PASS window.getComputedStyle(mixNonRepeatAfterRepeat, '').getPropertyVal=
ue('-webkit-grid-template-rows') is &quot;10px 10px end 0px&quot;
</del><ins>+PASS window.getComputedStyle(mixNonRepeatAfterRepeat, '').get=
PropertyValue('-webkit-grid-template-columns') is &quot;250px 250px 120px=
 (last)&quot;
+PASS window.getComputedStyle(mixNonRepeatAfterRepeat, '').getPropertyVal=
ue('-webkit-grid-template-rows') is &quot;10px 10px (end) 0px&quot;
</ins><span class=3D"cx">=20
</span><span class=3D"cx"> Test invalid repeat syntax.
</span><span class=3D"cx"> PASS window.getComputedStyle(element, '').getP=
ropertyValue('-webkit-grid-template-columns') is &quot;none&quot;
</span></span></pre></div>
<a id=3D"trunkLayoutTestsfastcssgridlayoutgridelementrepeatgetsethtml"></=
a>
<div class=3D"modfile"><h4>Modified: trunk/LayoutTests/fast/css-grid-layo=
ut/grid-element-repeat-get-set.html (166156 =3D> 166157)</h4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/LayoutTests/fast/css-grid-layout/grid-elem=
ent-repeat-get-set.html	2014-03-24 09:27:38 UTC (rev 166156)
+++ trunk/LayoutTests/fast/css-grid-layout/grid-element-repeat-get-set.ht=
ml	2014-03-24 09:42:21 UTC (rev 166157)
</span><span class=3D"lines">@@ -43,33 +43,33 @@
</span><span class=3D"cx"> }
</span><span class=3D"cx">=20
</span><span class=3D"cx"> .twoDoubleTrackWithNamedGridLineRepeat {
</span><del>-    -webkit-grid-template-rows: repeat(2, 10px 'start' auto =
'end');
-    -webkit-grid-template-columns: repeat(2, auto 'middle' 250px 'end');
</del><ins>+    -webkit-grid-template-rows: repeat(2, 10px (start) auto (=
end));
+    -webkit-grid-template-columns: repeat(2, auto (middle) 250px (end));
</ins><span class=3D"cx"> }
</span><span class=3D"cx">=20
</span><span class=3D"cx"> .twoDoubleTrackWithTrailingNamedGridLineRepeat=
 {
</span><del>-    -webkit-grid-template-rows: repeat(2, 'before' 10px);
-    -webkit-grid-template-columns: repeat(2, 'before' auto);
</del><ins>+    -webkit-grid-template-rows: repeat(2, (before) 10px);
+    -webkit-grid-template-columns: repeat(2, (before) auto);
</ins><span class=3D"cx"> }
</span><span class=3D"cx">=20
</span><span class=3D"cx"> .trailingNamedGridLineRepeat {
</span><del>-    -webkit-grid-template-rows: repeat(1, 10px) 'end';
-    -webkit-grid-template-columns: repeat(1, 250px) 'end';
</del><ins>+    -webkit-grid-template-rows: repeat(1, 10px) (end);
+    -webkit-grid-template-columns: repeat(1, 250px) (end);
</ins><span class=3D"cx"> }
</span><span class=3D"cx">=20
</span><span class=3D"cx"> .leadingNamedGridLineRepeat {
</span><del>-    -webkit-grid-template-rows: 'start' repeat(2, 10px);
-    -webkit-grid-template-columns: 'start' repeat(2, 250px);
</del><ins>+    -webkit-grid-template-rows: (start) repeat(2, 10px);
+    -webkit-grid-template-columns: (start) repeat(2, 250px);
</ins><span class=3D"cx"> }
</span><span class=3D"cx">=20
</span><span class=3D"cx"> .mixRepeatAfterNonRepeat {
</span><span class=3D"cx">     -webkit-grid-template-rows: auto repeat(2,=
 10px);
</span><del>-    -webkit-grid-template-columns: 'start' 140px repeat(2, 2=
50px);
</del><ins>+    -webkit-grid-template-columns: (start) 140px repeat(2, 25=
0px);
</ins><span class=3D"cx"> }
</span><span class=3D"cx">=20
</span><span class=3D"cx"> .mixNonRepeatAfterRepeat {
</span><del>-    -webkit-grid-template-rows: repeat(2, 10px) 'end' auto;
-    -webkit-grid-template-columns: repeat(2, 250px) 15% 'last';
</del><ins>+    -webkit-grid-template-rows: repeat(2, 10px) (end) auto;
+    -webkit-grid-template-columns: repeat(2, 250px) 15% (last);
</ins><span class=3D"cx"> }
</span><span class=3D"cx"> &lt;/style&gt;
</span><span class=3D"cx"> &lt;script src=3D&quot;../../resources/js-test=
-pre.js&quot;&gt;&lt;/script&gt;
</span><span class=3D"lines">@@ -108,12 +108,12 @@
</span><span class=3D"cx">     testGridTemplatesValues(document.getElemen=
tById(&quot;twoSingleTrackRepeat&quot;), &quot;400px 400px&quot;, &quot;0=
px 0px&quot;);
</span><span class=3D"cx">     testGridTemplatesValues(document.getElemen=
tById(&quot;twoSingleTrackRepeatWithChildren&quot;), &quot;400px 400px&qu=
ot;, &quot;44px 77px&quot;);
</span><span class=3D"cx">     testGridTemplatesValues(document.getElemen=
tById(&quot;twoDoubleTrackRepeat&quot;), &quot;33px 120px 0px 120px&quot;=
, &quot;10px 77px 10px 0px&quot;);
</span><del>-    testGridTemplatesValues(document.getElementById(&quot;tw=
oDoubleTrackWithNamedGridLineRepeat&quot;), &quot;33px middle 250px end 0=
px middle 250px end&quot;, &quot;10px start 77px end 10px start 0px end&q=
uot;);
-    testGridTemplatesValues(document.getElementById(&quot;twoDoubleTrack=
WithTrailingNamedGridLineRepeat&quot;), &quot;before 0px before 0px&quot;=
, &quot;before 10px before 10px&quot;);
-    testGridTemplatesValues(document.getElementById(&quot;trailingNamedG=
ridLineRepeat&quot;), &quot;250px end&quot;, &quot;10px end&quot;);
-    testGridTemplatesValues(document.getElementById(&quot;leadingNamedGr=
idLineRepeat&quot;), &quot;start 250px 250px&quot;, &quot;start 10px 10px=
&quot;);
-    testGridTemplatesValues(document.getElementById(&quot;mixRepeatAfter=
NonRepeat&quot;), &quot;start 140px 250px 250px&quot;, &quot;44px 10px 10=
px&quot;);
-    testGridTemplatesValues(document.getElementById(&quot;mixNonRepeatAf=
terRepeat&quot;), &quot;250px 250px 120px last&quot;, &quot;10px 10px end=
 0px&quot;);
</del><ins>+    testGridTemplatesValues(document.getElementById(&quot;two=
DoubleTrackWithNamedGridLineRepeat&quot;), &quot;33px (middle) 250px (end=
) 0px (middle) 250px (end)&quot;, &quot;10px (start) 77px (end) 10px (sta=
rt) 0px (end)&quot;);
+    testGridTemplatesValues(document.getElementById(&quot;twoDoubleTrack=
WithTrailingNamedGridLineRepeat&quot;), &quot;(before) 0px (before) 0px&q=
uot;, &quot;(before) 10px (before) 10px&quot;);
+    testGridTemplatesValues(document.getElementById(&quot;trailingNamedG=
ridLineRepeat&quot;), &quot;250px (end)&quot;, &quot;10px (end)&quot;);
+    testGridTemplatesValues(document.getElementById(&quot;leadingNamedGr=
idLineRepeat&quot;), &quot;(start) 250px 250px&quot;, &quot;(start) 10px =
10px&quot;);
+    testGridTemplatesValues(document.getElementById(&quot;mixRepeatAfter=
NonRepeat&quot;), &quot;(start) 140px 250px 250px&quot;, &quot;44px 10px =
10px&quot;);
+    testGridTemplatesValues(document.getElementById(&quot;mixNonRepeatAf=
terRepeat&quot;), &quot;250px 250px 120px (last)&quot;, &quot;10px 10px (=
end) 0px&quot;);
</ins><span class=3D"cx">=20
</span><span class=3D"cx">     debug(&quot;&quot;);
</span><span class=3D"cx">     debug(&quot;Test invalid repeat syntax.&qu=
ot;);
</span></span></pre></div>
<a id=3D"trunkLayoutTestsfastcssgridlayoutgriditembadresolutiondoublespan=
html"></a>
<div class=3D"modfile"><h4>Modified: trunk/LayoutTests/fast/css-grid-layo=
ut/grid-item-bad-resolution-double-span.html (166156 =3D> 166157)</h4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/LayoutTests/fast/css-grid-layout/grid-item=
-bad-resolution-double-span.html	2014-03-24 09:27:38 UTC (rev 166156)
+++ trunk/LayoutTests/fast/css-grid-layout/grid-item-bad-resolution-doubl=
e-span.html	2014-03-24 09:42:21 UTC (rev 166157)
</span><span class=3D"lines">@@ -8,8 +8,8 @@
</span><span class=3D"cx"> &lt;style&gt;
</span><span class=3D"cx"> .grid {
</span><span class=3D"cx">     display: -webkit-grid;
</span><del>-    -webkit-grid-template-rows: &quot;firstRow&quot; 10px 20=
px;
-    -webkit-grid-template-columns: &quot;firstColumn&quot; 30px 40px;
</del><ins>+    -webkit-grid-template-rows: (firstRow) 10px 20px;
+    -webkit-grid-template-columns: (firstColumn) 30px 40px;
</ins><span class=3D"cx">     -webkit-grid-auto-flow: row;
</span><span class=3D"cx"> }
</span><span class=3D"cx">=20
</span></span></pre></div>
<a id=3D"trunkLayoutTestsfastcssgridlayoutgriditemnamedgridarearesolution=
html"></a>
<div class=3D"modfile"><h4>Modified: trunk/LayoutTests/fast/css-grid-layo=
ut/grid-item-named-grid-area-resolution.html (166156 =3D> 166157)</h4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/LayoutTests/fast/css-grid-layout/grid-item=
-named-grid-area-resolution.html	2014-03-24 09:27:38 UTC (rev 166156)
+++ trunk/LayoutTests/fast/css-grid-layout/grid-item-named-grid-area-reso=
lution.html	2014-03-24 09:42:21 UTC (rev 166157)
</span><span class=3D"lines">@@ -8,7 +8,7 @@
</span><span class=3D"cx"> &lt;link href=3D&quot;resources/grid.css&quot;=
 rel=3D&quot;stylesheet&quot;/&gt;
</span><span class=3D"cx"> &lt;style&gt;
</span><span class=3D"cx"> .grid {
</span><del>-    -webkit-grid-template-rows: &quot;before&quot; 50px &quo=
t;middle&quot; 100px &quot;after&quot;;
</del><ins>+    -webkit-grid-template-rows: (before) 50px (middle) 100px =
(after);
</ins><span class=3D"cx">     -webkit-grid-template-columns: 40px 80px 16=
0px;
</span><span class=3D"cx"> }
</span><span class=3D"cx">=20
</span></span></pre></div>
<a id=3D"trunkLayoutTestsfastcssgridlayoutgriditemnamedgridlineresolution=
html"></a>
<div class=3D"modfile"><h4>Modified: trunk/LayoutTests/fast/css-grid-layo=
ut/grid-item-named-grid-line-resolution.html (166156 =3D> 166157)</h4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/LayoutTests/fast/css-grid-layout/grid-item=
-named-grid-line-resolution.html	2014-03-24 09:27:38 UTC (rev 166156)
+++ trunk/LayoutTests/fast/css-grid-layout/grid-item-named-grid-line-reso=
lution.html	2014-03-24 09:42:21 UTC (rev 166157)
</span><span class=3D"lines">@@ -8,17 +8,17 @@
</span><span class=3D"cx"> &lt;link href=3D&quot;resources/grid.css&quot;=
 rel=3D&quot;stylesheet&quot;&gt;
</span><span class=3D"cx"> &lt;style&gt;
</span><span class=3D"cx"> .gridWithoutRepeat {
</span><del>-    -webkit-grid-template-columns: 'a' 50px 'b' 100px 'c' 20=
0px 'd';
-    -webkit-grid-template-rows: 'e' 50px 'f' 100px 'g' 200px 'h';
</del><ins>+    -webkit-grid-template-columns: (a) 50px (b) 100px (c) 200=
px (d);
+    -webkit-grid-template-rows: (e) 50px (f) 100px (g) 200px (h);
</ins><span class=3D"cx"> }
</span><span class=3D"cx">=20
</span><span class=3D"cx"> .gridWithRepeat {
</span><del>-    -webkit-grid-template-columns: 'b' 50px 'b' 100px 'b' 20=
0px 'b';
-    -webkit-grid-template-rows: 'g' 50px 'g' 100px 'g' 200px 'g';
</del><ins>+    -webkit-grid-template-columns: (b) 50px (b) 100px (b) 200=
px (b);
+    -webkit-grid-template-rows: (g) 50px (g) 100px (g) 200px (g);
</ins><span class=3D"cx"> }
</span><span class=3D"cx">=20
</span><span class=3D"cx"> .gridFromSpecs {
</span><del>-    -webkit-grid-template-columns: 'A' 10px 'B' 20px 'C' 30p=
x 'A' 40px 'B' 50px 'C' 60px 'A' 70px 'B' 80px 'C';
</del><ins>+    -webkit-grid-template-columns: (A) 10px (B) 20px (C) 30px=
 (A) 40px (B) 50px (C) 60px (A) 70px (B) 80px (C);
</ins><span class=3D"cx">     -webkit-grid-template-rows: 100px;
</span><span class=3D"cx"> }
</span><span class=3D"cx">=20
</span></span></pre></div>
<a id=3D"trunkLayoutTestsfastcssgridlayoutgriditemnegativepositionresolut=
ionhtml"></a>
<div class=3D"modfile"><h4>Modified: trunk/LayoutTests/fast/css-grid-layo=
ut/grid-item-negative-position-resolution.html (166156 =3D> 166157)</h4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/LayoutTests/fast/css-grid-layout/grid-item=
-negative-position-resolution.html	2014-03-24 09:27:38 UTC (rev 166156)
+++ trunk/LayoutTests/fast/css-grid-layout/grid-item-negative-position-re=
solution.html	2014-03-24 09:42:21 UTC (rev 166157)
</span><span class=3D"lines">@@ -7,8 +7,8 @@
</span><span class=3D"cx"> &lt;link href=3D&quot;resources/grid.css&quot;=
 rel=3D&quot;stylesheet&quot;&gt;
</span><span class=3D"cx"> &lt;style&gt;
</span><span class=3D"cx"> .grid {
</span><del>-    -webkit-grid-template-columns: 'first' 50px 'middle' 100=
px 'last';
-    -webkit-grid-template-rows: 'first' 50px 'middle' 100px 'last';
</del><ins>+    -webkit-grid-template-columns: (first) 50px (middle) 100p=
x (last);
+    -webkit-grid-template-rows: (first) 50px (middle) 100px (last);
</ins><span class=3D"cx">     /* To detect how much we extend the grid. *=
/
</span><span class=3D"cx">     -webkit-grid-auto-columns: 200px;
</span><span class=3D"cx">     -webkit-grid-auto-rows: 200px;
</span><span class=3D"lines">@@ -98,8 +98,8 @@
</span><span class=3D"cx"> }
</span><span class=3D"cx">=20
</span><span class=3D"cx"> .namedGridLineEndPositionStartNegativeInRowDir=
ection {
</span><del>-    grid-column: -5 / -2 &quot;middle&quot;;
-    grid-row: 1;
</del><ins>+    -webkit-grid-column: -5 / -2 &quot;middle&quot;;
+    -webkit-grid-row: 1;
</ins><span class=3D"cx"> }
</span><span class=3D"cx"> &lt;/style&gt;
</span><span class=3D"cx"> &lt;script src=3D&quot;../../resources/check-l=
ayout.js&quot;&gt;&lt;/script&gt;
</span></span></pre></div>
<a id=3D"trunkLayoutTestsfastcssgridlayoutgriditempositionchangeddynamich=
tml"></a>
<div class=3D"modfile"><h4>Modified: trunk/LayoutTests/fast/css-grid-layo=
ut/grid-item-position-changed-dynamic.html (166156 =3D> 166157)</h4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/LayoutTests/fast/css-grid-layout/grid-item=
-position-changed-dynamic.html	2014-03-24 09:27:38 UTC (rev 166156)
+++ trunk/LayoutTests/fast/css-grid-layout/grid-item-position-changed-dyn=
amic.html	2014-03-24 09:42:21 UTC (rev 166157)
</span><span class=3D"lines">@@ -7,12 +7,12 @@
</span><span class=3D"cx"> &lt;link href=3D&quot;resources/grid.css&quot;=
 rel=3D&quot;stylesheet&quot;&gt;
</span><span class=3D"cx"> &lt;style type=3D&quot;text/css&quot;&gt;
</span><span class=3D"cx"> .grid {
</span><del>-    -webkit-grid-template-columns: &quot;col&quot; 50px &quo=
t;col&quot; 100px &quot;col&quot; 200px &quot;col&quot;;
-    -webkit-grid-template-rows: &quot;row&quot; 70px &quot;row&quot; 140=
px &quot;row&quot; 280px &quot;row&quot;;
</del><ins>+    -webkit-grid-template-columns: (col) 50px (col) 100px (co=
l) 200px (col);
+    -webkit-grid-template-rows: (row) 70px (row) 140px (row) 280px (row)=
;
</ins><span class=3D"cx"> }
</span><span class=3D"cx"> .differentNamedGridLines {
</span><del>-    -webkit-grid-template-columns: &quot;col1&quot; 50px &qu=
ot;col2&quot; 100px &quot;col3&quot; 200px &quot;col4&quot;;
-    -webkit-grid-template-rows: &quot;row1&quot; 70px &quot;row2&quot; 1=
40px &quot;row3&quot; 280px &quot;row4&quot;;
</del><ins>+    -webkit-grid-template-columns: (col1) 50px (col2) 100px (=
col3) 200px (col4);
+    -webkit-grid-template-rows: (row1) 70px (row2) 140px (row3) 280px (r=
ow4);
</ins><span class=3D"cx"> }
</span><span class=3D"cx"> &lt;/style&gt;
</span><span class=3D"cx"> &lt;script src=3D&quot;../../resources/check-l=
ayout.js&quot;&gt;&lt;/script&gt;
</span></span></pre></div>
<a id=3D"trunkLayoutTestsfastcssgridlayoutnamedgridlinegetsetexpectedtxt"=
></a>
<div class=3D"modfile"><h4>Modified: trunk/LayoutTests/fast/css-grid-layo=
ut/named-grid-line-get-set-expected.txt (166156 =3D> 166157)</h4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/LayoutTests/fast/css-grid-layout/named-gri=
d-line-get-set-expected.txt	2014-03-24 09:27:38 UTC (rev 166156)
+++ trunk/LayoutTests/fast/css-grid-layout/named-grid-line-get-set-expect=
ed.txt	2014-03-24 09:42:21 UTC (rev 166157)
</span><span class=3D"lines">@@ -4,74 +4,74 @@
</span><span class=3D"cx">=20
</span><span class=3D"cx">=20
</span><span class=3D"cx"> Test getting -webkit-grid-template-columns and=
 -webkit-grid-template-rows set through CSS
</span><del>-PASS window.getComputedStyle(gridWithFixedElement, '').getPr=
opertyValue('-webkit-grid-template-columns') is &quot;first 10px&quot;
-PASS window.getComputedStyle(gridWithFixedElement, '').getPropertyValue(=
'-webkit-grid-template-rows') is &quot;first 15px&quot;
-PASS window.getComputedStyle(gridWithPercentElement, '').getPropertyValu=
e('-webkit-grid-template-columns') is &quot;424px last&quot;
-PASS window.getComputedStyle(gridWithPercentElement, '').getPropertyValu=
e('-webkit-grid-template-rows') is &quot;162px last&quot;
-PASS window.getComputedStyle(gridWithPercentWithoutSize, '').getProperty=
Value('-webkit-grid-template-columns') is &quot;0px last&quot;
-PASS window.getComputedStyle(gridWithPercentWithoutSize, '').getProperty=
Value('-webkit-grid-template-rows') is &quot;0px last&quot;
-PASS window.getComputedStyle(gridWithPercentWithoutSizeWithChildren, '')=
.getPropertyValue('-webkit-grid-template-columns') is &quot;77px last&quo=
t;
-PASS window.getComputedStyle(gridWithPercentWithoutSizeWithChildren, '')=
.getPropertyValue('-webkit-grid-template-rows') is &quot;22px last&quot;
-PASS window.getComputedStyle(gridWithAutoElement, '').getPropertyValue('=
-webkit-grid-template-columns') is &quot;first 0px&quot;
-PASS window.getComputedStyle(gridWithAutoElement, '').getPropertyValue('=
-webkit-grid-template-rows') is &quot;0px last&quot;
-PASS window.getComputedStyle(gridWithAutoWithChildrenElement, '').getPro=
pertyValue('-webkit-grid-template-columns') is &quot;first 77px&quot;
-PASS window.getComputedStyle(gridWithAutoWithChildrenElement, '').getPro=
pertyValue('-webkit-grid-template-rows') is &quot;22px last&quot;
-PASS window.getComputedStyle(gridWithMinMax, '').getPropertyValue('-webk=
it-grid-template-columns') is &quot;first 80px&quot;
-PASS window.getComputedStyle(gridWithMinMax, '').getPropertyValue('-webk=
it-grid-template-rows') is &quot;300px last&quot;
-PASS window.getComputedStyle(gridWithFixedMultiple, '').getPropertyValue=
('-webkit-grid-template-columns') is &quot;first nav 10px last&quot;
-PASS window.getComputedStyle(gridWithFixedMultiple, '').getPropertyValue=
('-webkit-grid-template-rows') is &quot;first nav 15px last&quot;
-PASS window.getComputedStyle(gridWithPercentageSameStringMultipleTimes, =
'').getPropertyValue('-webkit-grid-template-columns') is &quot;first nav =
80px nav 120px last&quot;
-PASS window.getComputedStyle(gridWithPercentageSameStringMultipleTimes, =
'').getPropertyValue('-webkit-grid-template-rows') is &quot;first nav2 15=
0px nav2 450px last&quot;
</del><ins>+PASS window.getComputedStyle(gridWithFixedElement, '').getPro=
pertyValue('-webkit-grid-template-columns') is &quot;(first) 10px&quot;
+PASS window.getComputedStyle(gridWithFixedElement, '').getPropertyValue(=
'-webkit-grid-template-rows') is &quot;(first) 15px&quot;
+PASS window.getComputedStyle(gridWithPercentElement, '').getPropertyValu=
e('-webkit-grid-template-columns') is &quot;424px (last)&quot;
+PASS window.getComputedStyle(gridWithPercentElement, '').getPropertyValu=
e('-webkit-grid-template-rows') is &quot;162px (last)&quot;
+PASS window.getComputedStyle(gridWithPercentWithoutSize, '').getProperty=
Value('-webkit-grid-template-columns') is &quot;0px (last)&quot;
+PASS window.getComputedStyle(gridWithPercentWithoutSize, '').getProperty=
Value('-webkit-grid-template-rows') is &quot;0px (last)&quot;
+PASS window.getComputedStyle(gridWithPercentWithoutSizeWithChildren, '')=
.getPropertyValue('-webkit-grid-template-columns') is &quot;77px (last)&q=
uot;
+PASS window.getComputedStyle(gridWithPercentWithoutSizeWithChildren, '')=
.getPropertyValue('-webkit-grid-template-rows') is &quot;22px (last)&quot=
;
+PASS window.getComputedStyle(gridWithAutoElement, '').getPropertyValue('=
-webkit-grid-template-columns') is &quot;(first) 0px&quot;
+PASS window.getComputedStyle(gridWithAutoElement, '').getPropertyValue('=
-webkit-grid-template-rows') is &quot;0px (last)&quot;
+PASS window.getComputedStyle(gridWithAutoWithChildrenElement, '').getPro=
pertyValue('-webkit-grid-template-columns') is &quot;(first) 77px&quot;
+PASS window.getComputedStyle(gridWithAutoWithChildrenElement, '').getPro=
pertyValue('-webkit-grid-template-rows') is &quot;22px (last)&quot;
+PASS window.getComputedStyle(gridWithMinMax, '').getPropertyValue('-webk=
it-grid-template-columns') is &quot;(first) 80px&quot;
+PASS window.getComputedStyle(gridWithMinMax, '').getPropertyValue('-webk=
it-grid-template-rows') is &quot;300px (last)&quot;
+PASS window.getComputedStyle(gridWithFixedMultiple, '').getPropertyValue=
('-webkit-grid-template-columns') is &quot;(first nav) 10px (last)&quot;
+PASS window.getComputedStyle(gridWithFixedMultiple, '').getPropertyValue=
('-webkit-grid-template-rows') is &quot;(first nav) 15px (last)&quot;
+PASS window.getComputedStyle(gridWithPercentageSameStringMultipleTimes, =
'').getPropertyValue('-webkit-grid-template-columns') is &quot;(first nav=
) 80px (nav) 120px (last)&quot;
+PASS window.getComputedStyle(gridWithPercentageSameStringMultipleTimes, =
'').getPropertyValue('-webkit-grid-template-rows') is &quot;(first nav2) =
150px (nav2) 450px (last)&quot;
</ins><span class=3D"cx">=20
</span><span class=3D"cx"> Test getting and setting -webkit-grid-template=
-columns and -webkit-grid-template-rows through JS
</span><del>-PASS getComputedStyle(element, '').getPropertyValue('-webkit=
-grid-template-columns') is &quot;first 18px&quot;
-PASS element.style.webkitGridTemplateColumns is &quot;first 18px&quot;
-PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-rows') is &quot;66px last&quot;
-PASS element.style.webkitGridTemplateRows is &quot;66px last&quot;
-PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-columns') is &quot;first 440px&quot;
-PASS element.style.webkitGridTemplateColumns is &quot;first 55%&quot;
-PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-rows') is &quot;240px last&quot;
-PASS element.style.webkitGridTemplateRows is &quot;40% last&quot;
-PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-columns') is &quot;first 0px&quot;
-PASS element.style.webkitGridTemplateColumns is &quot;first auto&quot;
-PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-rows') is &quot;0px last&quot;
-PASS element.style.webkitGridTemplateRows is &quot;auto last&quot;
-PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-columns') is &quot;first 0px&quot;
-PASS element.style.webkitGridTemplateColumns is &quot;first -webkit-min-=
content&quot;
-PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-rows') is &quot;0px last&quot;
-PASS element.style.webkitGridTemplateRows is &quot;-webkit-min-content l=
ast&quot;
-PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-columns') is &quot;first 0px&quot;
-PASS element.style.webkitGridTemplateColumns is &quot;first -webkit-max-=
content&quot;
-PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-rows') is &quot;0px last&quot;
-PASS element.style.webkitGridTemplateRows is &quot;-webkit-max-content l=
ast&quot;
-PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-columns') is &quot;first 440px&quot;
-PASS element.style.webkitGridTemplateColumns is &quot;first minmax(55%, =
45px)&quot;
-PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-rows') is &quot;240px last&quot;
-PASS element.style.webkitGridTemplateRows is &quot;minmax(30px, 40%) las=
t&quot;
-PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-columns') is &quot;first 220px&quot;
-PASS element.style.webkitGridTemplateColumns is &quot;first minmax(22em,=
 -webkit-max-content)&quot;
-PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-rows') is &quot;50px last&quot;
-PASS element.style.webkitGridTemplateRows is &quot;minmax(-webkit-max-co=
ntent, 5em) last&quot;
-PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-columns') is &quot;first 220px&quot;
-PASS element.style.webkitGridTemplateColumns is &quot;first minmax(22em,=
 -webkit-min-content)&quot;
-PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-rows') is &quot;50px last&quot;
-PASS element.style.webkitGridTemplateRows is &quot;minmax(-webkit-min-co=
ntent, 5em) last&quot;
-PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-columns') is &quot;first 0px&quot;
-PASS element.style.webkitGridTemplateColumns is &quot;first minmax(-webk=
it-min-content, -webkit-max-content)&quot;
-PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-rows') is &quot;0px last&quot;
-PASS element.style.webkitGridTemplateRows is &quot;minmax(-webkit-max-co=
ntent, -webkit-min-content) last&quot;
-PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-columns') is &quot;first nav 0px last&quot;
-PASS element.style.webkitGridTemplateColumns is &quot;first nav minmax(-=
webkit-min-content, -webkit-max-content) last&quot;
-PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-rows') is &quot;first nav 0px last&quot;
-PASS element.style.webkitGridTemplateRows is &quot;first nav minmax(-web=
kit-max-content, -webkit-min-content) last&quot;
-PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-columns') is &quot;first nav 0px nav 0px last&quot;
-PASS element.style.webkitGridTemplateColumns is &quot;first nav minmax(-=
webkit-min-content, -webkit-max-content) nav auto last&quot;
-PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-rows') is &quot;first nav2 0px nav2 15px last&quot;
-PASS element.style.webkitGridTemplateRows is &quot;first nav2 minmax(-we=
bkit-max-content, -webkit-min-content) nav2 minmax(10px, 15px) last&quot;
-PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-columns') is &quot;foo bar 0px foo 0px bar&quot;
-PASS element.style.webkitGridTemplateColumns is &quot;foo bar auto foo a=
uto bar&quot;
-PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-rows') is &quot;foo bar 0px foo 0px bar&quot;
-PASS element.style.webkitGridTemplateRows is &quot;foo bar auto foo auto=
 bar&quot;
</del><ins>+PASS getComputedStyle(element, '').getPropertyValue('-webkit-=
grid-template-columns') is &quot;(first) 18px&quot;
+PASS element.style.webkitGridTemplateColumns is &quot;(first) 18px&quot;
+PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-rows') is &quot;66px (last)&quot;
+PASS element.style.webkitGridTemplateRows is &quot;66px (last)&quot;
+PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-columns') is &quot;(first) 440px&quot;
+PASS element.style.webkitGridTemplateColumns is &quot;(first) 55%&quot;
+PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-rows') is &quot;240px (last)&quot;
+PASS element.style.webkitGridTemplateRows is &quot;40% (last)&quot;
+PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-columns') is &quot;(first) 0px&quot;
+PASS element.style.webkitGridTemplateColumns is &quot;(first) auto&quot;
+PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-rows') is &quot;0px (last)&quot;
+PASS element.style.webkitGridTemplateRows is &quot;auto (last)&quot;
+PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-columns') is &quot;(first) 0px&quot;
+PASS element.style.webkitGridTemplateColumns is &quot;(first) -webkit-mi=
n-content&quot;
+PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-rows') is &quot;0px (last)&quot;
+PASS element.style.webkitGridTemplateRows is &quot;-webkit-min-content (=
last)&quot;
+PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-columns') is &quot;(first) 0px&quot;
+PASS element.style.webkitGridTemplateColumns is &quot;(first) -webkit-ma=
x-content&quot;
+PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-rows') is &quot;0px (last)&quot;
+PASS element.style.webkitGridTemplateRows is &quot;-webkit-max-content (=
last)&quot;
+PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-columns') is &quot;(first) 440px&quot;
+PASS element.style.webkitGridTemplateColumns is &quot;(first) minmax(55%=
, 45px)&quot;
+PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-rows') is &quot;240px (last)&quot;
+PASS element.style.webkitGridTemplateRows is &quot;minmax(30px, 40%) (la=
st)&quot;
+PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-columns') is &quot;(first) 220px&quot;
+PASS element.style.webkitGridTemplateColumns is &quot;(first) minmax(22e=
m, -webkit-max-content)&quot;
+PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-rows') is &quot;50px (last)&quot;
+PASS element.style.webkitGridTemplateRows is &quot;minmax(-webkit-max-co=
ntent, 5em) (last)&quot;
+PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-columns') is &quot;(first) 220px&quot;
+PASS element.style.webkitGridTemplateColumns is &quot;(first) minmax(22e=
m, -webkit-min-content)&quot;
+PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-rows') is &quot;50px (last)&quot;
+PASS element.style.webkitGridTemplateRows is &quot;minmax(-webkit-min-co=
ntent, 5em) (last)&quot;
+PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-columns') is &quot;(first) 0px&quot;
+PASS element.style.webkitGridTemplateColumns is &quot;(first) minmax(-we=
bkit-min-content, -webkit-max-content)&quot;
+PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-rows') is &quot;0px (last)&quot;
+PASS element.style.webkitGridTemplateRows is &quot;minmax(-webkit-max-co=
ntent, -webkit-min-content) (last)&quot;
+PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-columns') is &quot;(first nav) 0px (last)&quot;
+PASS element.style.webkitGridTemplateColumns is &quot;(first nav) minmax=
(-webkit-min-content, -webkit-max-content) (last)&quot;
+PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-rows') is &quot;(first nav) 0px (last)&quot;
+PASS element.style.webkitGridTemplateRows is &quot;(first nav) minmax(-w=
ebkit-max-content, -webkit-min-content) (last)&quot;
+PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-columns') is &quot;(first nav) 0px (nav) 0px (last)&quot;
+PASS element.style.webkitGridTemplateColumns is &quot;(first nav) minmax=
(-webkit-min-content, -webkit-max-content) (nav) auto (last)&quot;
+PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-rows') is &quot;(first nav2) 0px (nav2) 15px (last)&quot;
+PASS element.style.webkitGridTemplateRows is &quot;(first nav2) minmax(-=
webkit-max-content, -webkit-min-content) (nav2) minmax(10px, 15px) (last)=
&quot;
+PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-columns') is &quot;(foo bar) 0px (foo) 0px (bar)&quot;
+PASS element.style.webkitGridTemplateColumns is &quot;(foo bar) auto (fo=
o) auto (bar)&quot;
+PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-rows') is &quot;(foo bar) 0px (foo) 0px (bar)&quot;
+PASS element.style.webkitGridTemplateRows is &quot;(foo bar) auto (foo) =
auto (bar)&quot;
</ins><span class=3D"cx">=20
</span><span class=3D"cx"> Test getting and setting invalid -webkit-grid-=
template-columns and -webkit-grid-template-rows through JS
</span><span class=3D"cx"> PASS window.getComputedStyle(element, '').getP=
ropertyValue('-webkit-grid-template-columns') is &quot;none&quot;
</span></span></pre></div>
<a id=3D"trunkLayoutTestsfastcssgridlayoutnamedgridlinegetsethtml"></a>
<div class=3D"modfile"><h4>Modified: trunk/LayoutTests/fast/css-grid-layo=
ut/named-grid-line-get-set.html (166156 =3D> 166157)</h4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/LayoutTests/fast/css-grid-layout/named-gri=
d-line-get-set.html	2014-03-24 09:27:38 UTC (rev 166156)
+++ trunk/LayoutTests/fast/css-grid-layout/named-grid-line-get-set.html	2=
014-03-24 09:42:21 UTC (rev 166157)
</span><span class=3D"lines">@@ -19,28 +19,28 @@
</span><span class=3D"cx">     width: 77px;
</span><span class=3D"cx"> }
</span><span class=3D"cx"> .gridWithFixed {
</span><del>-    -webkit-grid-template-columns: &quot;first&quot; 10px;
-    -webkit-grid-template-rows: &quot;first&quot; 15px;
</del><ins>+    -webkit-grid-template-columns: (first) 10px;
+    -webkit-grid-template-rows: (first) 15px;
</ins><span class=3D"cx"> }
</span><span class=3D"cx"> .gridWithPercent {
</span><del>-    -webkit-grid-template-columns: 53% &quot;last&quot;;
-    -webkit-grid-template-rows: 27% &quot;last&quot;;
</del><ins>+    -webkit-grid-template-columns: 53% (last);
+    -webkit-grid-template-rows: 27% (last);
</ins><span class=3D"cx"> }
</span><span class=3D"cx"> .gridWithAuto {
</span><del>-    -webkit-grid-template-columns: &quot;first&quot; auto;
-    -webkit-grid-template-rows: auto &quot;last&quot;;
</del><ins>+    -webkit-grid-template-columns: (first) auto;
+    -webkit-grid-template-rows: auto (last);
</ins><span class=3D"cx"> }
</span><span class=3D"cx"> .gridWithMinMax {
</span><del>-    -webkit-grid-template-columns: &quot;first&quot; minmax(=
10%, 15px);
-    -webkit-grid-template-rows: minmax(20px, 50%) &quot;last&quot;;
</del><ins>+    -webkit-grid-template-columns: (first) minmax(10%, 15px);
+    -webkit-grid-template-rows: minmax(20px, 50%) (last);
</ins><span class=3D"cx"> }
</span><span class=3D"cx"> .gridWithFixedMultiple {
</span><del>-    -webkit-grid-template-columns: &quot;first&quot; &quot;n=
av&quot; 10px &quot;last&quot;;
-    -webkit-grid-template-rows: &quot;first&quot; &quot;nav&quot; 15px &=
quot;last&quot;;
</del><ins>+    -webkit-grid-template-columns: (first nav) 10px (last);
+    -webkit-grid-template-rows: (first nav) 15px (last);
</ins><span class=3D"cx"> }
</span><span class=3D"cx"> .gridWithPercentageSameStringMultipleTimes {
</span><del>-    -webkit-grid-template-columns: &quot;first&quot; &quot;n=
av&quot; 10% &quot;nav&quot; 15% &quot;last&quot;;
-    -webkit-grid-template-rows: &quot;first&quot; &quot;nav2&quot; 25% &=
quot;nav2&quot; 75% &quot;last&quot;;
</del><ins>+    -webkit-grid-template-columns: (first nav) 10% (nav) 15% =
(last);
+    -webkit-grid-template-rows: (first nav2) 25% (nav2) 75% (last);
</ins><span class=3D"cx"> }
</span><span class=3D"cx"> &lt;/style&gt;
</span><span class=3D"cx"> &lt;script src=3D&quot;../../resources/js-test=
-pre.js&quot;&gt;&lt;/script&gt;
</span><span class=3D"lines">@@ -64,30 +64,30 @@
</span><span class=3D"cx">     description('Test that setting and getting=
 grid-template-columns and grid-template-rows works as expected');
</span><span class=3D"cx">=20
</span><span class=3D"cx">     debug(&quot;Test getting -webkit-grid-temp=
late-columns and -webkit-grid-template-rows set through CSS&quot;);
</span><del>-    testGridTemplatesValues(document.getElementById(&quot;gr=
idWithFixedElement&quot;), &quot;first 10px&quot;, &quot;first 15px&quot;=
);
-    testGridTemplatesValues(document.getElementById(&quot;gridWithPercen=
tElement&quot;), &quot;424px last&quot;, &quot;162px last&quot;);
-    testGridTemplatesValues(document.getElementById(&quot;gridWithPercen=
tWithoutSize&quot;), &quot;0px last&quot;, &quot;0px last&quot;);
-    testGridTemplatesValues(document.getElementById(&quot;gridWithPercen=
tWithoutSizeWithChildren&quot;), &quot;77px last&quot;, &quot;22px last&q=
uot;);
-    testGridTemplatesValues(document.getElementById(&quot;gridWithAutoEl=
ement&quot;), &quot;first 0px&quot;, &quot;0px last&quot;);
-    testGridTemplatesValues(document.getElementById(&quot;gridWithAutoWi=
thChildrenElement&quot;), &quot;first 77px&quot;, &quot;22px last&quot;);
-    testGridTemplatesValues(document.getElementById(&quot;gridWithMinMax=
&quot;), &quot;first 80px&quot;, &quot;300px last&quot;);
-    testGridTemplatesValues(document.getElementById(&quot;gridWithFixedM=
ultiple&quot;), &quot;first nav 10px last&quot;, &quot;first nav 15px las=
t&quot;);
-    testGridTemplatesValues(document.getElementById(&quot;gridWithPercen=
tageSameStringMultipleTimes&quot;), &quot;first nav 80px nav 120px last&q=
uot;, &quot;first nav2 150px nav2 450px last&quot;);
</del><ins>+    testGridTemplatesValues(document.getElementById(&quot;gri=
dWithFixedElement&quot;), &quot;(first) 10px&quot;, &quot;(first) 15px&qu=
ot;);
+    testGridTemplatesValues(document.getElementById(&quot;gridWithPercen=
tElement&quot;), &quot;424px (last)&quot;, &quot;162px (last)&quot;);
+    testGridTemplatesValues(document.getElementById(&quot;gridWithPercen=
tWithoutSize&quot;), &quot;0px (last)&quot;, &quot;0px (last)&quot;);
+    testGridTemplatesValues(document.getElementById(&quot;gridWithPercen=
tWithoutSizeWithChildren&quot;), &quot;77px (last)&quot;, &quot;22px (las=
t)&quot;);
+    testGridTemplatesValues(document.getElementById(&quot;gridWithAutoEl=
ement&quot;), &quot;(first) 0px&quot;, &quot;0px (last)&quot;);
+    testGridTemplatesValues(document.getElementById(&quot;gridWithAutoWi=
thChildrenElement&quot;), &quot;(first) 77px&quot;, &quot;22px (last)&quo=
t;);
+    testGridTemplatesValues(document.getElementById(&quot;gridWithMinMax=
&quot;), &quot;(first) 80px&quot;, &quot;300px (last)&quot;);
+    testGridTemplatesValues(document.getElementById(&quot;gridWithFixedM=
ultiple&quot;), &quot;(first nav) 10px (last)&quot;, &quot;(first nav) 15=
px (last)&quot;);
+    testGridTemplatesValues(document.getElementById(&quot;gridWithPercen=
tageSameStringMultipleTimes&quot;), &quot;(first nav) 80px (nav) 120px (l=
ast)&quot;, &quot;(first nav2) 150px (nav2) 450px (last)&quot;);
</ins><span class=3D"cx">=20
</span><span class=3D"cx">     debug(&quot;&quot;);
</span><span class=3D"cx">     debug(&quot;Test getting and setting -webk=
it-grid-template-columns and -webkit-grid-template-rows through JS&quot;)=
;
</span><del>-    testGridTemplatesSetJSValues(&quot;'first' 18px&quot;, &=
quot;66px 'last'&quot;, &quot;first 18px&quot;, &quot;66px last&quot;, &q=
uot;first 18px&quot;, &quot;66px last&quot;);
-    testGridTemplatesSetJSValues(&quot;'first' 55%&quot;, &quot;40% 'las=
t'&quot;, &quot;first 440px&quot;, &quot;240px last&quot;, &quot;first 55=
%&quot;, &quot;40% last&quot;);
-    testGridTemplatesSetJSValues(&quot;'first' auto&quot;, &quot;auto 'l=
ast'&quot;, &quot;first 0px&quot;, &quot;0px last&quot;, &quot;first auto=
&quot;, &quot;auto last&quot;);
-    testGridTemplatesSetJSValues(&quot;'first' -webkit-min-content&quot;=
, &quot;-webkit-min-content 'last'&quot;, &quot;first 0px&quot;, &quot;0p=
x last&quot;, &quot;first -webkit-min-content&quot;, &quot;-webkit-min-co=
ntent last&quot;);
-    testGridTemplatesSetJSValues(&quot;'first' -webkit-max-content&quot;=
, &quot;-webkit-max-content 'last'&quot;, &quot;first 0px&quot;, &quot;0p=
x last&quot;, &quot;first -webkit-max-content&quot;, &quot;-webkit-max-co=
ntent last&quot;);
-    testGridTemplatesSetJSValues(&quot;'first' minmax(55%, 45px)&quot;, =
&quot;minmax(30px, 40%) 'last'&quot;, &quot;first 440px&quot;, &quot;240p=
x last&quot;, &quot;first minmax(55%, 45px)&quot;, &quot;minmax(30px, 40%=
) last&quot;);
-    testGridTemplatesSetJSValues(&quot;'first' minmax(22em, -webkit-max-=
content)&quot;, &quot;minmax(-webkit-max-content, 5em) 'last'&quot;, &quo=
t;first 220px&quot;, &quot;50px last&quot;, &quot;first minmax(22em, -web=
kit-max-content)&quot;, &quot;minmax(-webkit-max-content, 5em) last&quot;=
);
-    testGridTemplatesSetJSValues(&quot;'first' minmax(22em, -webkit-min-=
content)&quot;, &quot;minmax(-webkit-min-content, 5em) 'last'&quot;, &quo=
t;first 220px&quot;, &quot;50px last&quot;, &quot;first minmax(22em, -web=
kit-min-content)&quot;, &quot;minmax(-webkit-min-content, 5em) last&quot;=
);
-    testGridTemplatesSetJSValues(&quot;'first' minmax(-webkit-min-conten=
t, -webkit-max-content)&quot;, &quot;minmax(-webkit-max-content, -webkit-=
min-content) 'last'&quot;, &quot;first 0px&quot;, &quot;0px last&quot;, &=
quot;first minmax(-webkit-min-content, -webkit-max-content)&quot;, &quot;=
minmax(-webkit-max-content, -webkit-min-content) last&quot;);
-    testGridTemplatesSetJSValues(&quot;'first' 'nav' minmax(-webkit-min-=
content, -webkit-max-content) 'last'&quot;, &quot;'first' 'nav' minmax(-w=
ebkit-max-content, -webkit-min-content) 'last'&quot;, &quot;first nav 0px=
 last&quot;, &quot;first nav 0px last&quot;, &quot;first nav minmax(-webk=
it-min-content, -webkit-max-content) last&quot;, &quot;first nav minmax(-=
webkit-max-content, -webkit-min-content) last&quot;);
-    testGridTemplatesSetJSValues(&quot;'first' 'nav' minmax(-webkit-min-=
content, -webkit-max-content) 'nav' auto 'last'&quot;, &quot;'first' 'nav=
2' minmax(-webkit-max-content, -webkit-min-content) 'nav2' minmax(10px, 1=
5px) 'last'&quot;, &quot;first nav 0px nav 0px last&quot;, &quot;first na=
v2 0px nav2 15px last&quot;, &quot;first nav minmax(-webkit-min-content, =
-webkit-max-content) nav auto last&quot;, &quot;first nav2 minmax(-webkit=
-max-content, -webkit-min-content) nav2 minmax(10px, 15px) last&quot;);
-    testGridTemplatesSetJSValues(&quot;'foo' 'bar' auto 'foo' auto 'bar'=
&quot;, &quot;'foo' 'bar' auto 'foo' auto 'bar'&quot;, &quot;foo bar 0px =
foo 0px bar&quot;, &quot;foo bar 0px foo 0px bar&quot;, &quot;foo bar aut=
o foo auto bar&quot;, &quot;foo bar auto foo auto bar&quot;);
</del><ins>+    testGridTemplatesSetJSValues(&quot;(first) 18px&quot;, &q=
uot;66px (last)&quot;, &quot;(first) 18px&quot;, &quot;66px (last)&quot;,=
 &quot;(first) 18px&quot;, &quot;66px (last)&quot;);
+    testGridTemplatesSetJSValues(&quot;(first) 55%&quot;, &quot;40% (las=
t)&quot;, &quot;(first) 440px&quot;, &quot;240px (last)&quot;, &quot;(fir=
st) 55%&quot;, &quot;40% (last)&quot;);
+    testGridTemplatesSetJSValues(&quot;(first) auto&quot;, &quot;auto (l=
ast)&quot;, &quot;(first) 0px&quot;, &quot;0px (last)&quot;, &quot;(first=
) auto&quot;, &quot;auto (last)&quot;);
+    testGridTemplatesSetJSValues(&quot;(first) -webkit-min-content&quot;=
, &quot;-webkit-min-content (last)&quot;, &quot;(first) 0px&quot;, &quot;=
0px (last)&quot;, &quot;(first) -webkit-min-content&quot;, &quot;-webkit-=
min-content (last)&quot;);
+    testGridTemplatesSetJSValues(&quot;(first) -webkit-max-content&quot;=
, &quot;-webkit-max-content (last)&quot;, &quot;(first) 0px&quot;, &quot;=
0px (last)&quot;, &quot;(first) -webkit-max-content&quot;, &quot;-webkit-=
max-content (last)&quot;);
+    testGridTemplatesSetJSValues(&quot;(first) minmax(55%, 45px)&quot;, =
&quot;minmax(30px, 40%) (last)&quot;, &quot;(first) 440px&quot;, &quot;24=
0px (last)&quot;, &quot;(first) minmax(55%, 45px)&quot;, &quot;minmax(30p=
x, 40%) (last)&quot;);
+    testGridTemplatesSetJSValues(&quot;(first) minmax(22em, -webkit-max-=
content)&quot;, &quot;minmax(-webkit-max-content, 5em) (last)&quot;, &quo=
t;(first) 220px&quot;, &quot;50px (last)&quot;, &quot;(first) minmax(22em=
, -webkit-max-content)&quot;, &quot;minmax(-webkit-max-content, 5em) (las=
t)&quot;);
+    testGridTemplatesSetJSValues(&quot;(first) minmax(22em, -webkit-min-=
content)&quot;, &quot;minmax(-webkit-min-content, 5em) (last)&quot;, &quo=
t;(first) 220px&quot;, &quot;50px (last)&quot;, &quot;(first) minmax(22em=
, -webkit-min-content)&quot;, &quot;minmax(-webkit-min-content, 5em) (las=
t)&quot;);
+    testGridTemplatesSetJSValues(&quot;(first) minmax(-webkit-min-conten=
t, -webkit-max-content)&quot;, &quot;minmax(-webkit-max-content, -webkit-=
min-content) (last)&quot;, &quot;(first) 0px&quot;, &quot;0px (last)&quot=
;, &quot;(first) minmax(-webkit-min-content, -webkit-max-content)&quot;, =
&quot;minmax(-webkit-max-content, -webkit-min-content) (last)&quot;);
+    testGridTemplatesSetJSValues(&quot;(first nav) minmax(-webkit-min-co=
ntent, -webkit-max-content) (last)&quot;, &quot;(first nav) minmax(-webki=
t-max-content, -webkit-min-content) (last)&quot;, &quot;(first nav) 0px (=
last)&quot;, &quot;(first nav) 0px (last)&quot;, &quot;(first nav) minmax=
(-webkit-min-content, -webkit-max-content) (last)&quot;, &quot;(first nav=
) minmax(-webkit-max-content, -webkit-min-content) (last)&quot;);
+    testGridTemplatesSetJSValues(&quot;(first nav) minmax(-webkit-min-co=
ntent, -webkit-max-content) (nav) auto (last)&quot;, &quot;(first nav2) m=
inmax(-webkit-max-content, -webkit-min-content) (nav2) minmax(10px, 15px)=
 (last)&quot;, &quot;(first nav) 0px (nav) 0px (last)&quot;, &quot;(first=
 nav2) 0px (nav2) 15px (last)&quot;, &quot;(first nav) minmax(-webkit-min=
-content, -webkit-max-content) (nav) auto (last)&quot;, &quot;(first nav2=
) minmax(-webkit-max-content, -webkit-min-content) (nav2) minmax(10px, 15=
px) (last)&quot;);
+    testGridTemplatesSetJSValues(&quot;(foo bar) auto (foo) auto (bar)&q=
uot;, &quot;(foo bar) auto (foo) auto (bar)&quot;, &quot;(foo bar) 0px (f=
oo) 0px (bar)&quot;, &quot;(foo bar) 0px (foo) 0px (bar)&quot;, &quot;(fo=
o bar) auto (foo) auto (bar)&quot;, &quot;(foo bar) auto (foo) auto (bar)=
&quot;);
</ins><span class=3D"cx">=20
</span><span class=3D"cx">     debug(&quot;&quot;);
</span><span class=3D"cx">     debug(&quot;Test getting and setting inval=
id -webkit-grid-template-columns and -webkit-grid-template-rows through J=
S&quot;);
</span></span></pre></div>
<a id=3D"trunkLayoutTestsfastcssgridlayoutnamedgridlineswithnamedgridarea=
sresolutionhtml"></a>
<div class=3D"modfile"><h4>Modified: trunk/LayoutTests/fast/css-grid-layo=
ut/named-grid-lines-with-named-grid-areas-resolution.html (166156 =3D> 16=
6157)</h4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/LayoutTests/fast/css-grid-layout/named-gri=
d-lines-with-named-grid-areas-resolution.html	2014-03-24 09:27:38 UTC (re=
v 166156)
+++ trunk/LayoutTests/fast/css-grid-layout/named-grid-lines-with-named-gr=
id-areas-resolution.html	2014-03-24 09:42:21 UTC (rev 166157)
</span><span class=3D"lines">@@ -20,28 +20,28 @@
</span><span class=3D"cx">   }
</span><span class=3D"cx">=20
</span><span class=3D"cx">   .gridUniqueNames {
</span><del>-      -webkit-grid-template-columns: &quot;a&quot; 50px &quo=
t;b&quot; &quot;b-start&quot; 100px &quot;c&quot; 200px &quot;d&quot;;
-      -webkit-grid-template-rows: &quot;e&quot; 50px &quot;f&quot; 100px=
 &quot;g&quot; &quot;g-start&quot; 200px &quot;h&quot;;
</del><ins>+      -webkit-grid-template-columns: (a) 50px (b b-start) 100=
px (c) 200px (d);
+      -webkit-grid-template-rows: (e) 50px (f) 100px (g g-start) 200px (=
h);
</ins><span class=3D"cx">   }
</span><span class=3D"cx">=20
</span><span class=3D"cx">   .gridWithNamedLineBeforeGridArea {
</span><del>-      -webkit-grid-template-columns: &quot;a-start&quot; &qu=
ot;c-start&quot; 50px &quot;d-start&quot; 100px 200px;
-      -webkit-grid-template-rows: &quot;c-start&quot; 50px &quot;d-start=
&quot; 100px 200px;
</del><ins>+      -webkit-grid-template-columns: (a-start c-start) 50px (=
d-start) 100px 200px;
+      -webkit-grid-template-rows: (c-start) 50px (d-start) 100px 200px;
</ins><span class=3D"cx">   }
</span><span class=3D"cx">=20
</span><span class=3D"cx">   .gridWithNamedLineAfterGridArea {
</span><del>-      -webkit-grid-template-columns: 50px 100px &quot;a-star=
t&quot; 200px;
-      -webkit-grid-template-rows: 50px 100px &quot;c-start&quot; 200px;
</del><ins>+      -webkit-grid-template-columns: 50px 100px (a-start) 200=
px;
+      -webkit-grid-template-rows: 50px 100px (c-start) 200px;
</ins><span class=3D"cx">   }
</span><span class=3D"cx">=20
</span><span class=3D"cx">   .gridWithEndLines {
</span><del>-      -webkit-grid-template-columns: 50px 100px &quot;a-end&=
quot; 200px &quot;c-end&quot;;
-      -webkit-grid-template-rows: 50px &quot;c-end&quot; 100px &quot;d-e=
nd&quot; 200px;
</del><ins>+      -webkit-grid-template-columns: 50px 100px (a-end) 200px=
 (c-end);
+      -webkit-grid-template-rows: 50px (c-end) 100px (d-end) 200px;
</ins><span class=3D"cx">   }
</span><span class=3D"cx">=20
</span><span class=3D"cx">   .gridRepeatedNames {
</span><del>-      -webkit-grid-template-columns: &quot;d-start&quot; 50p=
x &quot;d-start&quot; 100px &quot;d-start&quot; 200px;
-      -webkit-grid-template-rows: 50px &quot;c-end&quot; 100px &quot;c-e=
nd&quot; 200px &quot;c-end&quot;;
</del><ins>+      -webkit-grid-template-columns: (d-start) 50px (d-start)=
 100px (d-start) 200px;
+      -webkit-grid-template-rows: 50px (c-end) 100px (c-end) 200px (c-en=
d);
</ins><span class=3D"cx">   }
</span><span class=3D"cx">=20
</span><span class=3D"cx"> &lt;/style&gt;
</span></span></pre></div>
<a id=3D"trunkLayoutTestsfastcssgridlayoutnongridcolumnsrowsgetsetexpecte=
dtxt"></a>
<div class=3D"modfile"><h4>Modified: trunk/LayoutTests/fast/css-grid-layo=
ut/non-grid-columns-rows-get-set-expected.txt (166156 =3D> 166157)</h4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/LayoutTests/fast/css-grid-layout/non-grid-=
columns-rows-get-set-expected.txt	2014-03-24 09:27:38 UTC (rev 166156)
+++ trunk/LayoutTests/fast/css-grid-layout/non-grid-columns-rows-get-set-=
expected.txt	2014-03-24 09:42:21 UTC (rev 166157)
</span><span class=3D"lines">@@ -140,12 +140,12 @@
</span><span class=3D"cx"> PASS element.style.webkitGridTemplateRows is &=
quot;none&quot;
</span><span class=3D"cx">=20
</span><span class=3D"cx"> Test setting grid-template-columns and grid-te=
mplate-rows to 'inherit' through JS
</span><del>-PASS getComputedStyle(element, '').getPropertyValue('-webkit=
-grid-template-columns') is '50px last'
-PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-rows') is 'first 101%'
</del><ins>+PASS getComputedStyle(element, '').getPropertyValue('-webkit-=
grid-template-columns') is '50px (last)'
+PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-rows') is '(first) 101%'
</ins><span class=3D"cx">=20
</span><span class=3D"cx"> Test setting grid-template-columns and grid-te=
mplate-rows to 'initial' through JS
</span><del>-PASS getComputedStyle(element, '').getPropertyValue('-webkit=
-grid-template-columns') is '150% last'
-PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-rows') is 'first 1fr'
</del><ins>+PASS getComputedStyle(element, '').getPropertyValue('-webkit-=
grid-template-columns') is '150% (last)'
+PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-rows') is '(first) 1fr'
</ins><span class=3D"cx"> PASS getComputedStyle(element, '').getPropertyV=
alue('-webkit-grid-template-columns') is 'none'
</span><span class=3D"cx"> PASS getComputedStyle(element, '').getProperty=
Value('-webkit-grid-template-rows') is 'none'
</span><span class=3D"cx"> PASS successfullyParsed is true
</span></span></pre></div>
<a id=3D"trunkLayoutTestsfastcssgridlayoutnongridcolumnsrowsgetsetmultipl=
eexpectedtxt"></a>
<div class=3D"modfile"><h4>Modified: trunk/LayoutTests/fast/css-grid-layo=
ut/non-grid-columns-rows-get-set-multiple-expected.txt (166156 =3D> 16615=
7)</h4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/LayoutTests/fast/css-grid-layout/non-grid-=
columns-rows-get-set-multiple-expected.txt	2014-03-24 09:27:38 UTC (rev 1=
66156)
+++ trunk/LayoutTests/fast/css-grid-layout/non-grid-columns-rows-get-set-=
multiple-expected.txt	2014-03-24 09:42:21 UTC (rev 166157)
</span><span class=3D"lines">@@ -98,14 +98,14 @@
</span><span class=3D"cx"> PASS window.getComputedStyle(element, '').getP=
ropertyValue('-webkit-grid-template-rows') is &quot;none&quot;
</span><span class=3D"cx">=20
</span><span class=3D"cx"> Test setting grid-template-columns and grid-te=
mplate-rows to 'inherit' through JS
</span><del>-PASS window.getComputedStyle(element, '').getPropertyValue('=
-webkit-grid-template-columns') is &quot;50px 1fr last&quot;
-PASS window.getComputedStyle(element, '').getPropertyValue('-webkit-grid=
-template-rows') is &quot;101% middle 45px&quot;
-PASS window.getComputedStyle(element, '').getPropertyValue('-webkit-grid=
-template-columns') is &quot;50px 1fr last&quot;
-PASS window.getComputedStyle(element, '').getPropertyValue('-webkit-grid=
-template-rows') is &quot;101% middle 45px&quot;
</del><ins>+PASS window.getComputedStyle(element, '').getPropertyValue('-=
webkit-grid-template-columns') is &quot;50px 1fr (last)&quot;
+PASS window.getComputedStyle(element, '').getPropertyValue('-webkit-grid=
-template-rows') is &quot;101% (middle) 45px&quot;
+PASS window.getComputedStyle(element, '').getPropertyValue('-webkit-grid=
-template-columns') is &quot;50px 1fr (last)&quot;
+PASS window.getComputedStyle(element, '').getPropertyValue('-webkit-grid=
-template-rows') is &quot;101% (middle) 45px&quot;
</ins><span class=3D"cx">=20
</span><span class=3D"cx"> Test setting grid-template-columns and grid-te=
mplate-rows to 'initial' through JS
</span><del>-PASS window.getComputedStyle(element, '').getPropertyValue('=
-webkit-grid-template-columns') is &quot;150% middle 55px&quot;
-PASS window.getComputedStyle(element, '').getPropertyValue('-webkit-grid=
-template-rows') is &quot;1fr line 2fr line&quot;
</del><ins>+PASS window.getComputedStyle(element, '').getPropertyValue('-=
webkit-grid-template-columns') is &quot;150% (middle) 55px&quot;
+PASS window.getComputedStyle(element, '').getPropertyValue('-webkit-grid=
-template-rows') is &quot;1fr (line) 2fr (line)&quot;
</ins><span class=3D"cx"> PASS getComputedStyle(element, '').getPropertyV=
alue('-webkit-grid-template-columns') is 'none'
</span><span class=3D"cx"> PASS getComputedStyle(element, '').getProperty=
Value('-webkit-grid-template-rows') is 'none'
</span><span class=3D"cx"> PASS successfullyParsed is true
</span></span></pre></div>
<a id=3D"trunkLayoutTestsfastcssgridlayoutnongridelementrepeatgetsetexpec=
tedtxt"></a>
<div class=3D"modfile"><h4>Modified: trunk/LayoutTests/fast/css-grid-layo=
ut/non-grid-element-repeat-get-set-expected.txt (166156 =3D> 166157)</h4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/LayoutTests/fast/css-grid-layout/non-grid-=
element-repeat-get-set-expected.txt	2014-03-24 09:27:38 UTC (rev 166156)
+++ trunk/LayoutTests/fast/css-grid-layout/non-grid-element-repeat-get-se=
t-expected.txt	2014-03-24 09:42:21 UTC (rev 166157)
</span><span class=3D"lines">@@ -10,18 +10,18 @@
</span><span class=3D"cx"> PASS window.getComputedStyle(twoSingleTrackRep=
eat, '').getPropertyValue('-webkit-grid-template-rows') is &quot;auto aut=
o&quot;
</span><span class=3D"cx"> PASS window.getComputedStyle(twoDoubleTrackRep=
eat, '').getPropertyValue('-webkit-grid-template-columns') is &quot;auto =
minmax(100px, 120px) auto minmax(100px, 120px)&quot;
</span><span class=3D"cx"> PASS window.getComputedStyle(twoDoubleTrackRep=
eat, '').getPropertyValue('-webkit-grid-template-rows') is &quot;minmax(5=
px, 10px) auto minmax(5px, 10px) auto&quot;
</span><del>-PASS window.getComputedStyle(twoDoubleTrackWithNamedGridLine=
Repeat, '').getPropertyValue('-webkit-grid-template-columns') is &quot;au=
to middle 250px end auto middle 250px end&quot;
-PASS window.getComputedStyle(twoDoubleTrackWithNamedGridLineRepeat, '').=
getPropertyValue('-webkit-grid-template-rows') is &quot;10px start auto e=
nd 10px start auto end&quot;
-PASS window.getComputedStyle(twoDoubleTrackWithTrailingNamedGridLineRepe=
at, '').getPropertyValue('-webkit-grid-template-columns') is &quot;before=
 auto before auto&quot;
-PASS window.getComputedStyle(twoDoubleTrackWithTrailingNamedGridLineRepe=
at, '').getPropertyValue('-webkit-grid-template-rows') is &quot;before 10=
px before 10px&quot;
-PASS window.getComputedStyle(trailingNamedGridLineRepeat, '').getPropert=
yValue('-webkit-grid-template-columns') is &quot;250px end&quot;
-PASS window.getComputedStyle(trailingNamedGridLineRepeat, '').getPropert=
yValue('-webkit-grid-template-rows') is &quot;10px end&quot;
-PASS window.getComputedStyle(leadingNamedGridLineRepeat, '').getProperty=
Value('-webkit-grid-template-columns') is &quot;start 250px 250px&quot;
-PASS window.getComputedStyle(leadingNamedGridLineRepeat, '').getProperty=
Value('-webkit-grid-template-rows') is &quot;start 10px 10px&quot;
-PASS window.getComputedStyle(mixRepeatAfterNonRepeat, '').getPropertyVal=
ue('-webkit-grid-template-columns') is &quot;start 140px 250px 250px&quot=
;
</del><ins>+PASS window.getComputedStyle(twoDoubleTrackWithNamedGridLineR=
epeat, '').getPropertyValue('-webkit-grid-template-columns') is &quot;aut=
o (middle) 250px (end) auto (middle) 250px (end)&quot;
+PASS window.getComputedStyle(twoDoubleTrackWithNamedGridLineRepeat, '').=
getPropertyValue('-webkit-grid-template-rows') is &quot;10px (start) auto=
 (end) 10px (start) auto (end)&quot;
+PASS window.getComputedStyle(twoDoubleTrackWithTrailingNamedGridLineRepe=
at, '').getPropertyValue('-webkit-grid-template-columns') is &quot;(befor=
e) auto (before) auto&quot;
+PASS window.getComputedStyle(twoDoubleTrackWithTrailingNamedGridLineRepe=
at, '').getPropertyValue('-webkit-grid-template-rows') is &quot;(before) =
10px (before) 10px&quot;
+PASS window.getComputedStyle(trailingNamedGridLineRepeat, '').getPropert=
yValue('-webkit-grid-template-columns') is &quot;250px (end)&quot;
+PASS window.getComputedStyle(trailingNamedGridLineRepeat, '').getPropert=
yValue('-webkit-grid-template-rows') is &quot;10px (end)&quot;
+PASS window.getComputedStyle(leadingNamedGridLineRepeat, '').getProperty=
Value('-webkit-grid-template-columns') is &quot;(start) 250px 250px&quot;
+PASS window.getComputedStyle(leadingNamedGridLineRepeat, '').getProperty=
Value('-webkit-grid-template-rows') is &quot;(start) 10px 10px&quot;
+PASS window.getComputedStyle(mixRepeatAfterNonRepeat, '').getPropertyVal=
ue('-webkit-grid-template-columns') is &quot;(start) 140px 250px 250px&qu=
ot;
</ins><span class=3D"cx"> PASS window.getComputedStyle(mixRepeatAfterNonR=
epeat, '').getPropertyValue('-webkit-grid-template-rows') is &quot;auto 1=
0px 10px&quot;
</span><del>-PASS window.getComputedStyle(mixNonRepeatAfterRepeat, '').ge=
tPropertyValue('-webkit-grid-template-columns') is &quot;250px 250px 15% =
last&quot;
-PASS window.getComputedStyle(mixNonRepeatAfterRepeat, '').getPropertyVal=
ue('-webkit-grid-template-rows') is &quot;10px 10px end auto&quot;
</del><ins>+PASS window.getComputedStyle(mixNonRepeatAfterRepeat, '').get=
PropertyValue('-webkit-grid-template-columns') is &quot;250px 250px 15% (=
last)&quot;
+PASS window.getComputedStyle(mixNonRepeatAfterRepeat, '').getPropertyVal=
ue('-webkit-grid-template-rows') is &quot;10px 10px (end) auto&quot;
</ins><span class=3D"cx">=20
</span><span class=3D"cx"> Test invalid repeat syntax.
</span><span class=3D"cx"> PASS window.getComputedStyle(element, '').getP=
ropertyValue('-webkit-grid-template-columns') is &quot;none&quot;
</span></span></pre></div>
<a id=3D"trunkLayoutTestsfastcssgridlayoutnongridelementrepeatgetsethtml"=
></a>
<div class=3D"modfile"><h4>Modified: trunk/LayoutTests/fast/css-grid-layo=
ut/non-grid-element-repeat-get-set.html (166156 =3D> 166157)</h4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/LayoutTests/fast/css-grid-layout/non-grid-=
element-repeat-get-set.html	2014-03-24 09:27:38 UTC (rev 166156)
+++ trunk/LayoutTests/fast/css-grid-layout/non-grid-element-repeat-get-se=
t.html	2014-03-24 09:42:21 UTC (rev 166157)
</span><span class=3D"lines">@@ -23,33 +23,33 @@
</span><span class=3D"cx"> }
</span><span class=3D"cx">=20
</span><span class=3D"cx"> .twoDoubleTrackWithNamedGridLineRepeat {
</span><del>-    -webkit-grid-template-rows: repeat(2, 10px 'start' auto =
'end');
-    -webkit-grid-template-columns: repeat(2, auto 'middle' 250px 'end');
</del><ins>+    -webkit-grid-template-rows: repeat(2, 10px (start) auto (=
end));
+    -webkit-grid-template-columns: repeat(2, auto (middle) 250px (end));
</ins><span class=3D"cx"> }
</span><span class=3D"cx">=20
</span><span class=3D"cx"> .twoDoubleTrackWithTrailingNamedGridLineRepeat=
 {
</span><del>-    -webkit-grid-template-rows: repeat(2, 'before' 10px);
-    -webkit-grid-template-columns: repeat(2, 'before' auto);
</del><ins>+    -webkit-grid-template-rows: repeat(2, (before) 10px);
+    -webkit-grid-template-columns: repeat(2, (before) auto);
</ins><span class=3D"cx"> }
</span><span class=3D"cx">=20
</span><span class=3D"cx"> .trailingNamedGridLineRepeat {
</span><del>-    -webkit-grid-template-rows: repeat(1, 10px) 'end';
-    -webkit-grid-template-columns: repeat(1, 250px) 'end';
</del><ins>+    -webkit-grid-template-rows: repeat(1, 10px) (end);
+    -webkit-grid-template-columns: repeat(1, 250px) (end);
</ins><span class=3D"cx"> }
</span><span class=3D"cx">=20
</span><span class=3D"cx"> .leadingNamedGridLineRepeat {
</span><del>-    -webkit-grid-template-rows: 'start' repeat(2, 10px);
-    -webkit-grid-template-columns: 'start' repeat(2, 250px);
</del><ins>+    -webkit-grid-template-rows: (start) repeat(2, 10px);
+    -webkit-grid-template-columns: (start) repeat(2, 250px);
</ins><span class=3D"cx"> }
</span><span class=3D"cx">=20
</span><span class=3D"cx"> .mixRepeatAfterNonRepeat {
</span><span class=3D"cx">     -webkit-grid-template-rows: auto repeat(2,=
 10px);
</span><del>-    -webkit-grid-template-columns: 'start' 140px repeat(2, 2=
50px);
</del><ins>+    -webkit-grid-template-columns: (start) 140px repeat(2, 25=
0px);
</ins><span class=3D"cx"> }
</span><span class=3D"cx">=20
</span><span class=3D"cx"> .mixNonRepeatAfterRepeat {
</span><del>-    -webkit-grid-template-rows: repeat(2, 10px) 'end' auto;
-    -webkit-grid-template-columns: repeat(2, 250px) 15% 'last';
</del><ins>+    -webkit-grid-template-rows: repeat(2, 10px) (end) auto;
+    -webkit-grid-template-columns: repeat(2, 250px) 15% (last);
</ins><span class=3D"cx"> }
</span><span class=3D"cx"> &lt;/style&gt;
</span><span class=3D"cx"> &lt;script src=3D&quot;../../resources/js-test=
-pre.js&quot;&gt;&lt;/script&gt;
</span><span class=3D"lines">@@ -73,12 +73,12 @@
</span><span class=3D"cx">     testGridTemplatesValues(document.getElemen=
tById(&quot;singleSingleTrackRepeat&quot;), &quot;15%&quot;, &quot;18px&q=
uot;);
</span><span class=3D"cx">     testGridTemplatesValues(document.getElemen=
tById(&quot;twoSingleTrackRepeat&quot;), &quot;minmax(15px, 50%) minmax(1=
5px, 50%)&quot;, &quot;auto auto&quot;);
</span><span class=3D"cx">     testGridTemplatesValues(document.getElemen=
tById(&quot;twoDoubleTrackRepeat&quot;), &quot;auto minmax(100px, 120px) =
auto minmax(100px, 120px)&quot;, &quot;minmax(5px, 10px) auto minmax(5px,=
 10px) auto&quot;);
</span><del>-    testGridTemplatesValues(document.getElementById(&quot;tw=
oDoubleTrackWithNamedGridLineRepeat&quot;), &quot;auto middle 250px end a=
uto middle 250px end&quot;, &quot;10px start auto end 10px start auto end=
&quot;);
-    testGridTemplatesValues(document.getElementById(&quot;twoDoubleTrack=
WithTrailingNamedGridLineRepeat&quot;), &quot;before auto before auto&quo=
t;, &quot;before 10px before 10px&quot;);
-    testGridTemplatesValues(document.getElementById(&quot;trailingNamedG=
ridLineRepeat&quot;), &quot;250px end&quot;, &quot;10px end&quot;);
-    testGridTemplatesValues(document.getElementById(&quot;leadingNamedGr=
idLineRepeat&quot;), &quot;start 250px 250px&quot;, &quot;start 10px 10px=
&quot;);
-    testGridTemplatesValues(document.getElementById(&quot;mixRepeatAfter=
NonRepeat&quot;), &quot;start 140px 250px 250px&quot;, &quot;auto 10px 10=
px&quot;);
-    testGridTemplatesValues(document.getElementById(&quot;mixNonRepeatAf=
terRepeat&quot;), &quot;250px 250px 15% last&quot;, &quot;10px 10px end a=
uto&quot;);
</del><ins>+    testGridTemplatesValues(document.getElementById(&quot;two=
DoubleTrackWithNamedGridLineRepeat&quot;), &quot;auto (middle) 250px (end=
) auto (middle) 250px (end)&quot;, &quot;10px (start) auto (end) 10px (st=
art) auto (end)&quot;);
+    testGridTemplatesValues(document.getElementById(&quot;twoDoubleTrack=
WithTrailingNamedGridLineRepeat&quot;), &quot;(before) auto (before) auto=
&quot;, &quot;(before) 10px (before) 10px&quot;);
+    testGridTemplatesValues(document.getElementById(&quot;trailingNamedG=
ridLineRepeat&quot;), &quot;250px (end)&quot;, &quot;10px (end)&quot;);
+    testGridTemplatesValues(document.getElementById(&quot;leadingNamedGr=
idLineRepeat&quot;), &quot;(start) 250px 250px&quot;, &quot;(start) 10px =
10px&quot;);
+    testGridTemplatesValues(document.getElementById(&quot;mixRepeatAfter=
NonRepeat&quot;), &quot;(start) 140px 250px 250px&quot;, &quot;auto 10px =
10px&quot;);
+    testGridTemplatesValues(document.getElementById(&quot;mixNonRepeatAf=
terRepeat&quot;), &quot;250px 250px 15% (last)&quot;, &quot;10px 10px (en=
d) auto&quot;);
</ins><span class=3D"cx">=20
</span><span class=3D"cx">     debug(&quot;&quot;);
</span><span class=3D"cx">     debug(&quot;Test invalid repeat syntax.&qu=
ot;);
</span></span></pre></div>
<a id=3D"trunkLayoutTestsfastcssgridlayoutnonnamedgridlinegetsetexpectedt=
xt"></a>
<div class=3D"modfile"><h4>Modified: trunk/LayoutTests/fast/css-grid-layo=
ut/non-named-grid-line-get-set-expected.txt (166156 =3D> 166157)</h4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/LayoutTests/fast/css-grid-layout/non-named=
-grid-line-get-set-expected.txt	2014-03-24 09:27:38 UTC (rev 166156)
+++ trunk/LayoutTests/fast/css-grid-layout/non-named-grid-line-get-set-ex=
pected.txt	2014-03-24 09:42:21 UTC (rev 166157)
</span><span class=3D"lines">@@ -4,68 +4,68 @@
</span><span class=3D"cx">=20
</span><span class=3D"cx">=20
</span><span class=3D"cx"> Test getting grid-template-columns and grid-te=
mplate-rows set through CSS
</span><del>-PASS window.getComputedStyle(gridWithFixedElement, '').getPr=
opertyValue('-webkit-grid-template-columns') is &quot;first 10px&quot;
-PASS window.getComputedStyle(gridWithFixedElement, '').getPropertyValue(=
'-webkit-grid-template-rows') is &quot;first 15px&quot;
-PASS window.getComputedStyle(gridWithPercentElement, '').getPropertyValu=
e('-webkit-grid-template-columns') is &quot;53% last&quot;
-PASS window.getComputedStyle(gridWithPercentElement, '').getPropertyValu=
e('-webkit-grid-template-rows') is &quot;27% last&quot;
-PASS window.getComputedStyle(gridWithAutoElement, '').getPropertyValue('=
-webkit-grid-template-columns') is &quot;first auto&quot;
-PASS window.getComputedStyle(gridWithAutoElement, '').getPropertyValue('=
-webkit-grid-template-rows') is &quot;auto last&quot;
-PASS window.getComputedStyle(gridWithMinMax, '').getPropertyValue('-webk=
it-grid-template-columns') is &quot;first minmax(10%, 15px)&quot;
-PASS window.getComputedStyle(gridWithMinMax, '').getPropertyValue('-webk=
it-grid-template-rows') is &quot;minmax(20px, 50%) last&quot;
-PASS window.getComputedStyle(gridWithFixedMultiple, '').getPropertyValue=
('-webkit-grid-template-columns') is &quot;first nav 10px last&quot;
-PASS window.getComputedStyle(gridWithFixedMultiple, '').getPropertyValue=
('-webkit-grid-template-rows') is &quot;first nav 15px last&quot;
-PASS window.getComputedStyle(gridWithPercentageSameStringMultipleTimes, =
'').getPropertyValue('-webkit-grid-template-columns') is &quot;first nav =
10% nav 15% last&quot;
-PASS window.getComputedStyle(gridWithPercentageSameStringMultipleTimes, =
'').getPropertyValue('-webkit-grid-template-rows') is &quot;first nav2 25=
% nav2 75% last&quot;
</del><ins>+PASS window.getComputedStyle(gridWithFixedElement, '').getPro=
pertyValue('-webkit-grid-template-columns') is &quot;(first) 10px&quot;
+PASS window.getComputedStyle(gridWithFixedElement, '').getPropertyValue(=
'-webkit-grid-template-rows') is &quot;(first) 15px&quot;
+PASS window.getComputedStyle(gridWithPercentElement, '').getPropertyValu=
e('-webkit-grid-template-columns') is &quot;53% (last)&quot;
+PASS window.getComputedStyle(gridWithPercentElement, '').getPropertyValu=
e('-webkit-grid-template-rows') is &quot;27% (last)&quot;
+PASS window.getComputedStyle(gridWithAutoElement, '').getPropertyValue('=
-webkit-grid-template-columns') is &quot;(first) auto&quot;
+PASS window.getComputedStyle(gridWithAutoElement, '').getPropertyValue('=
-webkit-grid-template-rows') is &quot;auto (last)&quot;
+PASS window.getComputedStyle(gridWithMinMax, '').getPropertyValue('-webk=
it-grid-template-columns') is &quot;(first) minmax(10%, 15px)&quot;
+PASS window.getComputedStyle(gridWithMinMax, '').getPropertyValue('-webk=
it-grid-template-rows') is &quot;minmax(20px, 50%) (last)&quot;
+PASS window.getComputedStyle(gridWithFixedMultiple, '').getPropertyValue=
('-webkit-grid-template-columns') is &quot;(first nav) 10px (last)&quot;
+PASS window.getComputedStyle(gridWithFixedMultiple, '').getPropertyValue=
('-webkit-grid-template-rows') is &quot;(first nav) 15px (last)&quot;
+PASS window.getComputedStyle(gridWithPercentageSameStringMultipleTimes, =
'').getPropertyValue('-webkit-grid-template-columns') is &quot;(first nav=
) 10% (nav) 15% (last)&quot;
+PASS window.getComputedStyle(gridWithPercentageSameStringMultipleTimes, =
'').getPropertyValue('-webkit-grid-template-rows') is &quot;(first nav2) =
25% (nav2) 75% (last)&quot;
</ins><span class=3D"cx">=20
</span><span class=3D"cx"> Test getting and setting grid-template-columns=
 and grid-template-rows through JS
</span><del>-PASS getComputedStyle(element, '').getPropertyValue('-webkit=
-grid-template-columns') is &quot;first 18px&quot;
-PASS element.style.webkitGridTemplateColumns is &quot;first 18px&quot;
-PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-rows') is &quot;66px last&quot;
-PASS element.style.webkitGridTemplateRows is &quot;66px last&quot;
-PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-columns') is &quot;first 55%&quot;
-PASS element.style.webkitGridTemplateColumns is &quot;first 55%&quot;
-PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-rows') is &quot;40% last&quot;
-PASS element.style.webkitGridTemplateRows is &quot;40% last&quot;
-PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-columns') is &quot;first auto&quot;
-PASS element.style.webkitGridTemplateColumns is &quot;first auto&quot;
-PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-rows') is &quot;auto last&quot;
-PASS element.style.webkitGridTemplateRows is &quot;auto last&quot;
-PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-columns') is &quot;first -webkit-min-content&quot;
-PASS element.style.webkitGridTemplateColumns is &quot;first -webkit-min-=
content&quot;
-PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-rows') is &quot;-webkit-min-content last&quot;
-PASS element.style.webkitGridTemplateRows is &quot;-webkit-min-content l=
ast&quot;
-PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-columns') is &quot;first -webkit-max-content&quot;
-PASS element.style.webkitGridTemplateColumns is &quot;first -webkit-max-=
content&quot;
-PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-rows') is &quot;-webkit-max-content last&quot;
-PASS element.style.webkitGridTemplateRows is &quot;-webkit-max-content l=
ast&quot;
-PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-columns') is &quot;first minmax(55%, 45px)&quot;
-PASS element.style.webkitGridTemplateColumns is &quot;first minmax(55%, =
45px)&quot;
-PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-rows') is &quot;minmax(30px, 40%) last&quot;
-PASS element.style.webkitGridTemplateRows is &quot;minmax(30px, 40%) las=
t&quot;
-PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-columns') is &quot;first minmax(220px, -webkit-max-content)&quot;
-PASS element.style.webkitGridTemplateColumns is &quot;first minmax(22em,=
 -webkit-max-content)&quot;
-PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-rows') is &quot;minmax(-webkit-max-content, 50px) last&quot;
-PASS element.style.webkitGridTemplateRows is &quot;minmax(-webkit-max-co=
ntent, 5em) last&quot;
-PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-columns') is &quot;first minmax(220px, -webkit-min-content)&quot;
-PASS element.style.webkitGridTemplateColumns is &quot;first minmax(22em,=
 -webkit-min-content)&quot;
-PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-rows') is &quot;minmax(-webkit-min-content, 50px) last&quot;
-PASS element.style.webkitGridTemplateRows is &quot;minmax(-webkit-min-co=
ntent, 5em) last&quot;
-PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-columns') is &quot;first minmax(-webkit-min-content, -webkit-max-conte=
nt)&quot;
-PASS element.style.webkitGridTemplateColumns is &quot;first minmax(-webk=
it-min-content, -webkit-max-content)&quot;
-PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-rows') is &quot;minmax(-webkit-max-content, -webkit-min-content) last&=
quot;
-PASS element.style.webkitGridTemplateRows is &quot;minmax(-webkit-max-co=
ntent, -webkit-min-content) last&quot;
-PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-columns') is &quot;first nav minmax(-webkit-min-content, -webkit-max-c=
ontent) last&quot;
-PASS element.style.webkitGridTemplateColumns is &quot;first nav minmax(-=
webkit-min-content, -webkit-max-content) last&quot;
-PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-rows') is &quot;first nav minmax(-webkit-max-content, -webkit-min-cont=
ent) last&quot;
-PASS element.style.webkitGridTemplateRows is &quot;first nav minmax(-web=
kit-max-content, -webkit-min-content) last&quot;
-PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-columns') is &quot;first nav minmax(-webkit-min-content, -webkit-max-c=
ontent) nav auto last&quot;
-PASS element.style.webkitGridTemplateColumns is &quot;first nav minmax(-=
webkit-min-content, -webkit-max-content) nav auto last&quot;
-PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-rows') is &quot;first nav2 minmax(-webkit-max-content, -webkit-min-con=
tent) nav2 minmax(10px, 15px) last&quot;
-PASS element.style.webkitGridTemplateRows is &quot;first nav2 minmax(-we=
bkit-max-content, -webkit-min-content) nav2 minmax(10px, 15px) last&quot;
-PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-columns') is &quot;foo bar auto foo auto bar&quot;
-PASS element.style.webkitGridTemplateColumns is &quot;foo bar auto foo a=
uto bar&quot;
-PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-rows') is &quot;foo bar auto foo auto bar&quot;
-PASS element.style.webkitGridTemplateRows is &quot;foo bar auto foo auto=
 bar&quot;
</del><ins>+PASS getComputedStyle(element, '').getPropertyValue('-webkit-=
grid-template-columns') is &quot;(first) 18px&quot;
+PASS element.style.webkitGridTemplateColumns is &quot;(first) 18px&quot;
+PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-rows') is &quot;66px (last)&quot;
+PASS element.style.webkitGridTemplateRows is &quot;66px (last)&quot;
+PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-columns') is &quot;(first) 55%&quot;
+PASS element.style.webkitGridTemplateColumns is &quot;(first) 55%&quot;
+PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-rows') is &quot;40% (last)&quot;
+PASS element.style.webkitGridTemplateRows is &quot;40% (last)&quot;
+PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-columns') is &quot;(first) auto&quot;
+PASS element.style.webkitGridTemplateColumns is &quot;(first) auto&quot;
+PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-rows') is &quot;auto (last)&quot;
+PASS element.style.webkitGridTemplateRows is &quot;auto (last)&quot;
+PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-columns') is &quot;(first) -webkit-min-content&quot;
+PASS element.style.webkitGridTemplateColumns is &quot;(first) -webkit-mi=
n-content&quot;
+PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-rows') is &quot;-webkit-min-content (last)&quot;
+PASS element.style.webkitGridTemplateRows is &quot;-webkit-min-content (=
last)&quot;
+PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-columns') is &quot;(first) -webkit-max-content&quot;
+PASS element.style.webkitGridTemplateColumns is &quot;(first) -webkit-ma=
x-content&quot;
+PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-rows') is &quot;-webkit-max-content (last)&quot;
+PASS element.style.webkitGridTemplateRows is &quot;-webkit-max-content (=
last)&quot;
+PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-columns') is &quot;(first) minmax(55%, 45px)&quot;
+PASS element.style.webkitGridTemplateColumns is &quot;(first) minmax(55%=
, 45px)&quot;
+PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-rows') is &quot;minmax(30px, 40%) (last)&quot;
+PASS element.style.webkitGridTemplateRows is &quot;minmax(30px, 40%) (la=
st)&quot;
+PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-columns') is &quot;(first) minmax(220px, -webkit-max-content)&quot;
+PASS element.style.webkitGridTemplateColumns is &quot;(first) minmax(22e=
m, -webkit-max-content)&quot;
+PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-rows') is &quot;minmax(-webkit-max-content, 50px) (last)&quot;
+PASS element.style.webkitGridTemplateRows is &quot;minmax(-webkit-max-co=
ntent, 5em) (last)&quot;
+PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-columns') is &quot;(first) minmax(220px, -webkit-min-content)&quot;
+PASS element.style.webkitGridTemplateColumns is &quot;(first) minmax(22e=
m, -webkit-min-content)&quot;
+PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-rows') is &quot;minmax(-webkit-min-content, 50px) (last)&quot;
+PASS element.style.webkitGridTemplateRows is &quot;minmax(-webkit-min-co=
ntent, 5em) (last)&quot;
+PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-columns') is &quot;(first) minmax(-webkit-min-content, -webkit-max-con=
tent)&quot;
+PASS element.style.webkitGridTemplateColumns is &quot;(first) minmax(-we=
bkit-min-content, -webkit-max-content)&quot;
+PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-rows') is &quot;minmax(-webkit-max-content, -webkit-min-content) (last=
)&quot;
+PASS element.style.webkitGridTemplateRows is &quot;minmax(-webkit-max-co=
ntent, -webkit-min-content) (last)&quot;
+PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-columns') is &quot;(first nav) minmax(-webkit-min-content, -webkit-max=
-content) (last)&quot;
+PASS element.style.webkitGridTemplateColumns is &quot;(first nav) minmax=
(-webkit-min-content, -webkit-max-content) (last)&quot;
+PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-rows') is &quot;(first nav) minmax(-webkit-max-content, -webkit-min-co=
ntent) (last)&quot;
+PASS element.style.webkitGridTemplateRows is &quot;(first nav) minmax(-w=
ebkit-max-content, -webkit-min-content) (last)&quot;
+PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-columns') is &quot;(first nav) minmax(-webkit-min-content, -webkit-max=
-content) (nav) auto (last)&quot;
+PASS element.style.webkitGridTemplateColumns is &quot;(first nav) minmax=
(-webkit-min-content, -webkit-max-content) (nav) auto (last)&quot;
+PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-rows') is &quot;(first nav2) minmax(-webkit-max-content, -webkit-min-c=
ontent) (nav2) minmax(10px, 15px) (last)&quot;
+PASS element.style.webkitGridTemplateRows is &quot;(first nav2) minmax(-=
webkit-max-content, -webkit-min-content) (nav2) minmax(10px, 15px) (last)=
&quot;
+PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-columns') is &quot;(foo bar) auto (foo) auto (bar)&quot;
+PASS element.style.webkitGridTemplateColumns is &quot;(foo bar) auto (fo=
o) auto (bar)&quot;
+PASS getComputedStyle(element, '').getPropertyValue('-webkit-grid-templa=
te-rows') is &quot;(foo bar) auto (foo) auto (bar)&quot;
+PASS element.style.webkitGridTemplateRows is &quot;(foo bar) auto (foo) =
auto (bar)&quot;
</ins><span class=3D"cx">=20
</span><span class=3D"cx"> Test getting and setting invalid grid-template=
-columns and grid-template-rows through JS
</span><span class=3D"cx"> PASS getComputedStyle(element, '').getProperty=
Value('-webkit-grid-template-columns') is &quot;none&quot;
</span></span></pre></div>
<a id=3D"trunkLayoutTestsfastcssgridlayoutnonnamedgridlinegetsethtml"></a=
>
<div class=3D"modfile"><h4>Modified: trunk/LayoutTests/fast/css-grid-layo=
ut/non-named-grid-line-get-set.html (166156 =3D> 166157)</h4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/LayoutTests/fast/css-grid-layout/non-named=
-grid-line-get-set.html	2014-03-24 09:27:38 UTC (rev 166156)
+++ trunk/LayoutTests/fast/css-grid-layout/non-named-grid-line-get-set.ht=
ml	2014-03-24 09:42:21 UTC (rev 166157)
</span><span class=3D"lines">@@ -14,28 +14,28 @@
</span><span class=3D"cx">     width: 77px;
</span><span class=3D"cx"> }
</span><span class=3D"cx"> .gridWithFixed {
</span><del>-    -webkit-grid-template-columns: &quot;first&quot; 10px;
-    -webkit-grid-template-rows: &quot;first&quot; 15px;
</del><ins>+    -webkit-grid-template-columns: (first) 10px;
+    -webkit-grid-template-rows: (first) 15px;
</ins><span class=3D"cx"> }
</span><span class=3D"cx"> .gridWithPercent {
</span><del>-    -webkit-grid-template-columns: 53% &quot;last&quot;;
-    -webkit-grid-template-rows: 27% &quot;last&quot;;
</del><ins>+    -webkit-grid-template-columns: 53% (last);
+    -webkit-grid-template-rows: 27% (last);
</ins><span class=3D"cx"> }
</span><span class=3D"cx"> .gridWithAuto {
</span><del>-    -webkit-grid-template-columns: &quot;first&quot; auto;
-    -webkit-grid-template-rows: auto &quot;last&quot;;
</del><ins>+    -webkit-grid-template-columns: (first) auto;
+    -webkit-grid-template-rows: auto (last);
</ins><span class=3D"cx"> }
</span><span class=3D"cx"> .gridWithMinMax {
</span><del>-    -webkit-grid-template-columns: &quot;first&quot; minmax(=
10%, 15px);
-    -webkit-grid-template-rows: minmax(20px, 50%) &quot;last&quot;;
</del><ins>+    -webkit-grid-template-columns: (first) minmax(10%, 15px);
+    -webkit-grid-template-rows: minmax(20px, 50%) (last);
</ins><span class=3D"cx"> }
</span><span class=3D"cx"> .gridWithFixedMultiple {
</span><del>-    -webkit-grid-template-columns: &quot;first&quot; &quot;n=
av&quot; 10px &quot;last&quot;;
-    -webkit-grid-template-rows: &quot;first&quot; &quot;nav&quot; 15px &=
quot;last&quot;;
</del><ins>+    -webkit-grid-template-columns: (first nav) 10px (last);
+    -webkit-grid-template-rows: (first nav) 15px (last);
</ins><span class=3D"cx"> }
</span><span class=3D"cx"> .gridWithPercentageSameStringMultipleTimes {
</span><del>-    -webkit-grid-template-columns: &quot;first&quot; &quot;n=
av&quot; 10% &quot;nav&quot; 15% &quot;last&quot;;
-    -webkit-grid-template-rows: &quot;first&quot; &quot;nav2&quot; 25% &=
quot;nav2&quot; 75% &quot;last&quot;;
</del><ins>+    -webkit-grid-template-columns: (first nav) 10% (nav) 15% =
(last);
+    -webkit-grid-template-rows: (first nav2) 25% (nav2) 75% (last);
</ins><span class=3D"cx"> }
</span><span class=3D"cx"> &lt;/style&gt;
</span><span class=3D"cx"> &lt;script src=3D&quot;../../resources/js-test=
-pre.js&quot;&gt;&lt;/script&gt;
</span><span class=3D"lines">@@ -56,41 +56,41 @@
</span><span class=3D"cx">     description('Test that setting and getting=
 grid-template-columns and grid-template-rows works as expected');
</span><span class=3D"cx">=20
</span><span class=3D"cx">     debug(&quot;Test getting grid-template-col=
umns and grid-template-rows set through CSS&quot;);
</span><del>-    testGridTemplatesValues(document.getElementById(&quot;gr=
idWithFixedElement&quot;), &quot;first 10px&quot;, &quot;first 15px&quot;=
);
-    testGridTemplatesValues(document.getElementById(&quot;gridWithPercen=
tElement&quot;), &quot;53% last&quot;, &quot;27% last&quot;);
-    testGridTemplatesValues(document.getElementById(&quot;gridWithAutoEl=
ement&quot;), &quot;first auto&quot;, &quot;auto last&quot;);
-    testGridTemplatesValues(document.getElementById(&quot;gridWithMinMax=
&quot;), &quot;first minmax(10%, 15px)&quot;, &quot;minmax(20px, 50%) las=
t&quot;);
-    testGridTemplatesValues(document.getElementById(&quot;gridWithFixedM=
ultiple&quot;), &quot;first nav 10px last&quot;, &quot;first nav 15px las=
t&quot;);
-    testGridTemplatesValues(document.getElementById(&quot;gridWithPercen=
tageSameStringMultipleTimes&quot;), &quot;first nav 10% nav 15% last&quot=
;, &quot;first nav2 25% nav2 75% last&quot;);
</del><ins>+    testGridTemplatesValues(document.getElementById(&quot;gri=
dWithFixedElement&quot;), &quot;(first) 10px&quot;, &quot;(first) 15px&qu=
ot;);
+    testGridTemplatesValues(document.getElementById(&quot;gridWithPercen=
tElement&quot;), &quot;53% (last)&quot;, &quot;27% (last)&quot;);
+    testGridTemplatesValues(document.getElementById(&quot;gridWithAutoEl=
ement&quot;), &quot;(first) auto&quot;, &quot;auto (last)&quot;);
+    testGridTemplatesValues(document.getElementById(&quot;gridWithMinMax=
&quot;), &quot;(first) minmax(10%, 15px)&quot;, &quot;minmax(20px, 50%) (=
last)&quot;);
+    testGridTemplatesValues(document.getElementById(&quot;gridWithFixedM=
ultiple&quot;), &quot;(first nav) 10px (last)&quot;, &quot;(first nav) 15=
px (last)&quot;);
+    testGridTemplatesValues(document.getElementById(&quot;gridWithPercen=
tageSameStringMultipleTimes&quot;), &quot;(first nav) 10% (nav) 15% (last=
)&quot;, &quot;(first nav2) 25% (nav2) 75% (last)&quot;);
</ins><span class=3D"cx">=20
</span><span class=3D"cx">     debug(&quot;&quot;);
</span><span class=3D"cx">     debug(&quot;Test getting and setting grid-=
template-columns and grid-template-rows through JS&quot;);
</span><del>-    testNonGridTemplatesSetJSValues(&quot;'first' 18px&quot;=
, &quot;66px 'last'&quot;, &quot;first 18px&quot;, &quot;66px last&quot;,=
 &quot;first 18px&quot;, &quot;66px last&quot;);
-    testNonGridTemplatesSetJSValues(&quot;'first' 55%&quot;, &quot;40% '=
last'&quot;, &quot;first 55%&quot;, &quot;40% last&quot;, &quot;first 55%=
&quot;, &quot;40% last&quot;);
-    testNonGridTemplatesSetJSValues(&quot;'first' auto&quot;, &quot;auto=
 'last'&quot;, &quot;first auto&quot;, &quot;auto last&quot;, &quot;first=
 auto&quot;, &quot;auto last&quot;);
-    testNonGridTemplatesSetJSValues(&quot;'first' -webkit-min-content&qu=
ot;, &quot;-webkit-min-content 'last'&quot;, &quot;first -webkit-min-cont=
ent&quot;, &quot;-webkit-min-content last&quot;, &quot;first -webkit-min-=
content&quot;, &quot;-webkit-min-content last&quot;);
-    testNonGridTemplatesSetJSValues(&quot;'first' -webkit-max-content&qu=
ot;, &quot;-webkit-max-content 'last'&quot;, &quot;first -webkit-max-cont=
ent&quot;, &quot;-webkit-max-content last&quot;, &quot;first -webkit-max-=
content&quot;, &quot;-webkit-max-content last&quot;);
-    testNonGridTemplatesSetJSValues(&quot;'first' minmax(55%, 45px)&quot=
;, &quot;minmax(30px, 40%) 'last'&quot;, &quot;first minmax(55%, 45px)&qu=
ot;, &quot;minmax(30px, 40%) last&quot;, &quot;first minmax(55%, 45px)&qu=
ot;, &quot;minmax(30px, 40%) last&quot;);
-    testNonGridTemplatesSetJSValues(&quot;'first' minmax(22em, -webkit-m=
ax-content)&quot;, &quot;minmax(-webkit-max-content, 5em) 'last'&quot;, &=
quot;first minmax(220px, -webkit-max-content)&quot;, &quot;minmax(-webkit=
-max-content, 50px) last&quot;, &quot;first minmax(22em, -webkit-max-cont=
ent)&quot;, &quot;minmax(-webkit-max-content, 5em) last&quot;, &quot;firs=
t minmax(220px, -webkit-max-content)&quot;, &quot;minmax(-webkit-max-cont=
ent, 50px) last&quot;, &quot;minmax(-webkit-max-content, 50px) last&quot;=
);
-    testNonGridTemplatesSetJSValues(&quot;'first' minmax(22em, -webkit-m=
in-content)&quot;, &quot;minmax(-webkit-min-content, 5em) 'last'&quot;, &=
quot;first minmax(220px, -webkit-min-content)&quot;, &quot;minmax(-webkit=
-min-content, 50px) last&quot;, &quot;first minmax(22em, -webkit-min-cont=
ent)&quot;, &quot;minmax(-webkit-min-content, 5em) last&quot;, &quot;firs=
t minmax(220px, -webkit-min-content)&quot;, &quot;minmax(-webkit-min-cont=
ent, 50px) last&quot;, &quot;minmax(-webkit-min-content, 50px) last&quot;=
);
-    testNonGridTemplatesSetJSValues(&quot;'first' minmax(-webkit-min-con=
tent, -webkit-max-content)&quot;, &quot;minmax(-webkit-max-content, -webk=
it-min-content) 'last'&quot;, &quot;first minmax(-webkit-min-content, -we=
bkit-max-content)&quot;, &quot;minmax(-webkit-max-content, -webkit-min-co=
ntent) last&quot;, &quot;first minmax(-webkit-min-content, -webkit-max-co=
ntent)&quot;, &quot;minmax(-webkit-max-content, -webkit-min-content) last=
&quot;);
-    testNonGridTemplatesSetJSValues(&quot;'first' 'nav' minmax(-webkit-m=
in-content, -webkit-max-content) 'last'&quot;, &quot;'first' 'nav' minmax=
(-webkit-max-content, -webkit-min-content) 'last'&quot;, &quot;first nav =
minmax(-webkit-min-content, -webkit-max-content) last&quot;, &quot;first =
nav minmax(-webkit-max-content, -webkit-min-content) last&quot;, &quot;fi=
rst nav minmax(-webkit-min-content, -webkit-max-content) last&quot;, &quo=
t;first nav minmax(-webkit-max-content, -webkit-min-content) last&quot;);
-    testNonGridTemplatesSetJSValues(&quot;'first' 'nav' minmax(-webkit-m=
in-content, -webkit-max-content) 'nav' auto 'last'&quot;, &quot;'first' '=
nav2' minmax(-webkit-max-content, -webkit-min-content) 'nav2' minmax(10px=
, 15px) 'last'&quot;, &quot;first nav minmax(-webkit-min-content, -webkit=
-max-content) nav auto last&quot;, &quot;first nav2 minmax(-webkit-max-co=
ntent, -webkit-min-content) nav2 minmax(10px, 15px) last&quot;, &quot;fir=
st nav minmax(-webkit-min-content, -webkit-max-content) nav auto last&quo=
t;, &quot;first nav2 minmax(-webkit-max-content, -webkit-min-content) nav=
2 minmax(10px, 15px) last&quot;);;
-    testNonGridTemplatesSetJSValues(&quot;'foo' 'bar' auto 'foo' auto 'b=
ar'&quot;, &quot;'foo' 'bar' auto 'foo' auto 'bar'&quot;, &quot;foo bar a=
uto foo auto bar&quot;, &quot;foo bar auto foo auto bar&quot;, &quot;foo =
bar auto foo auto bar&quot;, &quot;foo bar auto foo auto bar&quot;);
</del><ins>+    testNonGridTemplatesSetJSValues(&quot;(first) 18px&quot;,=
 &quot;66px (last)&quot;, &quot;(first) 18px&quot;, &quot;66px (last)&quo=
t;, &quot;(first) 18px&quot;, &quot;66px (last)&quot;);
+    testNonGridTemplatesSetJSValues(&quot;(first) 55%&quot;, &quot;40% (=
last)&quot;, &quot;(first) 55%&quot;, &quot;40% (last)&quot;, &quot;(firs=
t) 55%&quot;, &quot;40% (last)&quot;);
+    testNonGridTemplatesSetJSValues(&quot;(first) auto&quot;, &quot;auto=
 (last)&quot;, &quot;(first) auto&quot;, &quot;auto (last)&quot;, &quot;(=
first) auto&quot;, &quot;auto (last)&quot;);
+    testNonGridTemplatesSetJSValues(&quot;(first) -webkit-min-content&qu=
ot;, &quot;-webkit-min-content (last)&quot;, &quot;(first) -webkit-min-co=
ntent&quot;, &quot;-webkit-min-content (last)&quot;, &quot;(first) -webki=
t-min-content&quot;, &quot;-webkit-min-content (last)&quot;);
+    testNonGridTemplatesSetJSValues(&quot;(first) -webkit-max-content&qu=
ot;, &quot;-webkit-max-content (last)&quot;, &quot;(first) -webkit-max-co=
ntent&quot;, &quot;-webkit-max-content (last)&quot;, &quot;(first) -webki=
t-max-content&quot;, &quot;-webkit-max-content (last)&quot;);
+    testNonGridTemplatesSetJSValues(&quot;(first) minmax(55%, 45px)&quot=
;, &quot;minmax(30px, 40%) (last)&quot;, &quot;(first) minmax(55%, 45px)&=
quot;, &quot;minmax(30px, 40%) (last)&quot;, &quot;(first) minmax(55%, 45=
px)&quot;, &quot;minmax(30px, 40%) (last)&quot;);
+    testNonGridTemplatesSetJSValues(&quot;(first) minmax(22em, -webkit-m=
ax-content)&quot;, &quot;minmax(-webkit-max-content, 5em) (last)&quot;, &=
quot;(first) minmax(220px, -webkit-max-content)&quot;, &quot;minmax(-webk=
it-max-content, 50px) (last)&quot;, &quot;(first) minmax(22em, -webkit-ma=
x-content)&quot;, &quot;minmax(-webkit-max-content, 5em) (last)&quot;, &q=
uot;(first) minmax(220px, -webkit-max-content)&quot;, &quot;minmax(-webki=
t-max-content, 50px) (last)&quot;, &quot;minmax(-webkit-max-content, 50px=
) (last)&quot;);
+    testNonGridTemplatesSetJSValues(&quot;(first) minmax(22em, -webkit-m=
in-content)&quot;, &quot;minmax(-webkit-min-content, 5em) (last)&quot;, &=
quot;(first) minmax(220px, -webkit-min-content)&quot;, &quot;minmax(-webk=
it-min-content, 50px) (last)&quot;, &quot;(first) minmax(22em, -webkit-mi=
n-content)&quot;, &quot;minmax(-webkit-min-content, 5em) (last)&quot;, &q=
uot;(first) minmax(220px, -webkit-min-content)&quot;, &quot;minmax(-webki=
t-min-content, 50px) (last)&quot;, &quot;minmax(-webkit-min-content, 50px=
) (last)&quot;);
+    testNonGridTemplatesSetJSValues(&quot;(first) minmax(-webkit-min-con=
tent, -webkit-max-content)&quot;, &quot;minmax(-webkit-max-content, -webk=
it-min-content) (last)&quot;, &quot;(first) minmax(-webkit-min-content, -=
webkit-max-content)&quot;, &quot;minmax(-webkit-max-content, -webkit-min-=
content) (last)&quot;, &quot;(first) minmax(-webkit-min-content, -webkit-=
max-content)&quot;, &quot;minmax(-webkit-max-content, -webkit-min-content=
) (last)&quot;);
+    testNonGridTemplatesSetJSValues(&quot;(first nav) minmax(-webkit-min=
-content, -webkit-max-content) (last)&quot;, &quot;(first nav) minmax(-we=
bkit-max-content, -webkit-min-content) (last)&quot;, &quot;(first nav) mi=
nmax(-webkit-min-content, -webkit-max-content) (last)&quot;, &quot;(first=
 nav) minmax(-webkit-max-content, -webkit-min-content) (last)&quot;, &quo=
t;(first nav) minmax(-webkit-min-content, -webkit-max-content) (last)&quo=
t;, &quot;(first nav) minmax(-webkit-max-content, -webkit-min-content) (l=
ast)&quot;);
+    testNonGridTemplatesSetJSValues(&quot;(first nav) minmax(-webkit-min=
-content, -webkit-max-content) (nav) auto (last)&quot;, &quot;(first nav2=
) minmax(-webkit-max-content, -webkit-min-content) (nav2) minmax(10px, 15=
px) (last)&quot;, &quot;(first nav) minmax(-webkit-min-content, -webkit-m=
ax-content) (nav) auto (last)&quot;, &quot;(first nav2) minmax(-webkit-ma=
x-content, -webkit-min-content) (nav2) minmax(10px, 15px) (last)&quot;, &=
quot;(first nav) minmax(-webkit-min-content, -webkit-max-content) (nav) a=
uto (last)&quot;, &quot;(first nav2) minmax(-webkit-max-content, -webkit-=
min-content) (nav2) minmax(10px, 15px) (last)&quot;);;
+    testNonGridTemplatesSetJSValues(&quot;(foo bar) auto (foo) auto (bar=
)&quot;, &quot;(foo bar) auto (foo) auto (bar)&quot;, &quot;(foo bar) aut=
o (foo) auto (bar)&quot;, &quot;(foo bar) auto (foo) auto (bar)&quot;, &q=
uot;(foo bar) auto (foo) auto (bar)&quot;, &quot;(foo bar) auto (foo) aut=
o (bar)&quot;);
</ins><span class=3D"cx">=20
</span><span class=3D"cx">     debug(&quot;&quot;);
</span><span class=3D"cx">     debug(&quot;Test getting and setting inval=
id grid-template-columns and grid-template-rows through JS&quot;);
</span><span class=3D"cx">     element =3D document.createElement(&quot;d=
iv&quot;);
</span><span class=3D"cx">     document.body.appendChild(element);
</span><del>-    element.style.webkitGridTemplateColumns =3D &quot;'foo'&=
quot;;
-    element.style.webkitGridTemplateRows =3D &quot;'bar&quot;;
</del><ins>+    element.style.webkitGridTemplateColumns =3D &quot;(foo)&q=
uot;;
+    element.style.webkitGridTemplateRows =3D &quot;(bar)&quot;;
</ins><span class=3D"cx">     shouldBeEqualToString(&quot;getComputedStyl=
e(element, '').getPropertyValue('-webkit-grid-template-columns')&quot;, &=
quot;none&quot;);
</span><span class=3D"cx">     shouldBeEqualToString(&quot;getComputedSty=
le(element, '').getPropertyValue('-webkit-grid-template-rows')&quot;, &qu=
ot;none&quot;);
</span><span class=3D"cx">=20
</span><span class=3D"cx">     element =3D document.createElement(&quot;d=
iv&quot;);
</span><span class=3D"cx">     document.body.appendChild(element);
</span><del>-    element.style.webkitGridTemplateColumns =3D &quot;'foo' =
'bar'&quot;;
-    element.style.webkitGridTemplateRows =3D &quot;'bar' 'foo'&quot;;
</del><ins>+    element.style.webkitGridTemplateColumns =3D &quot;(foo ba=
r)&quot;;
+    element.style.webkitGridTemplateRows =3D &quot;(bar foo)&quot;;
</ins><span class=3D"cx">     shouldBeEqualToString(&quot;getComputedStyl=
e(element, '').getPropertyValue('-webkit-grid-template-columns')&quot;, &=
quot;none&quot;);
</span><span class=3D"cx">     shouldBeEqualToString(&quot;getComputedSty=
le(element, '').getPropertyValue('-webkit-grid-template-rows')&quot;, &qu=
ot;none&quot;);
</span><span class=3D"cx"> &lt;/script&gt;
</span></span></pre></div>
<a id=3D"trunkLayoutTestsfastcssgridlayoutresourcesgridcolumnsrowsgetsetm=
ultiplejs"></a>
<div class=3D"modfile"><h4>Modified: trunk/LayoutTests/fast/css-grid-layo=
ut/resources/grid-columns-rows-get-set-multiple.js (166156 =3D> 166157)</=
h4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/LayoutTests/fast/css-grid-layout/resources=
/grid-columns-rows-get-set-multiple.js	2014-03-24 09:27:38 UTC (rev 16615=
6)
+++ trunk/LayoutTests/fast/css-grid-layout/resources/grid-columns-rows-ge=
t-set-multiple.js	2014-03-24 09:42:21 UTC (rev 166157)
</span><span class=3D"lines">@@ -66,15 +66,15 @@
</span><span class=3D"cx">     document.body.appendChild(parentElement);
</span><span class=3D"cx">     parentElement.style.width =3D &quot;800px&=
quot;;
</span><span class=3D"cx">     parentElement.style.font =3D &quot;10px Ah=
em&quot;; // Used to resolve em font consistently.
</span><del>-    parentElement.style.webkitGridTemplateColumns =3D &quot;=
50px 1fr 'last'&quot;;
-    parentElement.style.webkitGridTemplateRows =3D &quot;2em 'middle' 45=
px&quot;;
</del><ins>+    parentElement.style.webkitGridTemplateColumns =3D &quot;5=
0px 1fr (last)&quot;;
+    parentElement.style.webkitGridTemplateRows =3D &quot;2em (middle) 45=
px&quot;;
</ins><span class=3D"cx">=20
</span><span class=3D"cx">     element =3D document.createElement(&quot;d=
iv&quot;);
</span><span class=3D"cx">     parentElement.appendChild(element);
</span><span class=3D"cx">     element.style.display =3D &quot;-webkit-gr=
id&quot;;
</span><span class=3D"cx">     element.style.webkitGridTemplateColumns =3D=
 &quot;inherit&quot;;
</span><span class=3D"cx">     element.style.webkitGridTemplateRows =3D &=
quot;inherit&quot;;
</span><del>-    testGridTemplatesValues(element, &quot;50px 750px last&q=
uot;, &quot;20px middle 45px&quot;);
</del><ins>+    testGridTemplatesValues(element, &quot;50px 750px (last)&=
quot;, &quot;20px (middle) 45px&quot;);
</ins><span class=3D"cx">=20
</span><span class=3D"cx">     document.body.removeChild(parentElement);
</span><span class=3D"cx"> }
</span><span class=3D"lines">@@ -89,9 +89,9 @@
</span><span class=3D"cx">     element.style.display =3D &quot;-webkit-gr=
id&quot;;
</span><span class=3D"cx">     element.style.width =3D &quot;800px&quot;;
</span><span class=3D"cx">     element.style.height =3D &quot;600px&quot;=
;
</span><del>-    element.style.webkitGridTemplateColumns =3D &quot;150% '=
middle' 55px&quot;;
-    element.style.webkitGridTemplateRows =3D &quot;1fr 'line' 2fr 'line'=
&quot;;
-    testGridTemplatesValues(element, &quot;1200px middle 55px&quot;, &qu=
ot;200px line 400px line&quot;);
</del><ins>+    element.style.webkitGridTemplateColumns =3D &quot;150% (m=
iddle) 55px&quot;;
+    element.style.webkitGridTemplateRows =3D &quot;1fr (line) 2fr (line)=
&quot;;
+    testGridTemplatesValues(element, &quot;1200px (middle) 55px&quot;, &=
quot;200px (line) 400px (line)&quot;);
</ins><span class=3D"cx">=20
</span><span class=3D"cx">     element.style.webkitGridTemplateColumns =3D=
 &quot;initial&quot;;
</span><span class=3D"cx">     element.style.webkitGridTemplateRows =3D &=
quot;initial&quot;;
</span></span></pre></div>
<a id=3D"trunkLayoutTestsfastcssgridlayoutresourcesgridcolumnsrowsgetsetj=
s"></a>
<div class=3D"modfile"><h4>Modified: trunk/LayoutTests/fast/css-grid-layo=
ut/resources/grid-columns-rows-get-set.js (166156 =3D> 166157)</h4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/LayoutTests/fast/css-grid-layout/resources=
/grid-columns-rows-get-set.js	2014-03-24 09:27:38 UTC (rev 166156)
+++ trunk/LayoutTests/fast/css-grid-layout/resources/grid-columns-rows-ge=
t-set.js	2014-03-24 09:42:21 UTC (rev 166157)
</span><span class=3D"lines">@@ -102,16 +102,16 @@
</span><span class=3D"cx">     var parentElement =3D document.createEleme=
nt(&quot;div&quot;);
</span><span class=3D"cx">     document.body.appendChild(parentElement);
</span><span class=3D"cx">     parentElement.style.font =3D &quot;10px Ah=
em&quot;; // Used to resolve em font consistently.
</span><del>-    parentElement.style.webkitGridTemplateColumns =3D &quot;=
50px 'last'&quot;;
-    parentElement.style.webkitGridTemplateRows =3D &quot;'first' 2em&quo=
t;;
</del><ins>+    parentElement.style.webkitGridTemplateColumns =3D &quot;5=
0px (last)&quot;;
+    parentElement.style.webkitGridTemplateRows =3D &quot;(first) 2em&quo=
t;;
</ins><span class=3D"cx">=20
</span><span class=3D"cx">     element =3D document.createElement(&quot;d=
iv&quot;);
</span><span class=3D"cx">     parentElement.appendChild(element);
</span><span class=3D"cx">     element.style.display =3D &quot;-webkit-gr=
id&quot;;
</span><span class=3D"cx">     element.style.webkitGridTemplateColumns =3D=
 &quot;inherit&quot;;
</span><span class=3D"cx">     element.style.webkitGridTemplateRows =3D &=
quot;inherit&quot;;
</span><del>-    shouldBe(&quot;getComputedStyle(element, '').getProperty=
Value('-webkit-grid-template-columns')&quot;, &quot;'50px last'&quot;);
-    shouldBe(&quot;getComputedStyle(element, '').getPropertyValue('-webk=
it-grid-template-rows')&quot;, &quot;'first 20px'&quot;);
</del><ins>+    shouldBe(&quot;getComputedStyle(element, '').getPropertyV=
alue('-webkit-grid-template-columns')&quot;, &quot;'50px (last)'&quot;);
+    shouldBe(&quot;getComputedStyle(element, '').getPropertyValue('-webk=
it-grid-template-rows')&quot;, &quot;'(first) 20px'&quot;);
</ins><span class=3D"cx">=20
</span><span class=3D"cx">     document.body.removeChild(parentElement);
</span><span class=3D"cx"> }
</span><span class=3D"lines">@@ -126,10 +126,10 @@
</span><span class=3D"cx">     element.style.display =3D &quot;-webkit-gr=
id&quot;;
</span><span class=3D"cx">     element.style.width =3D &quot;300px&quot;;
</span><span class=3D"cx">     element.style.height =3D &quot;150px&quot;=
;
</span><del>-    element.style.webkitGridTemplateColumns =3D &quot;150% '=
last'&quot;;
-    element.style.webkitGridTemplateRows =3D &quot;'first' 1fr&quot;;
-    shouldBe(&quot;getComputedStyle(element, '').getPropertyValue('-webk=
it-grid-template-columns')&quot;, &quot;'450px last'&quot;);
-    shouldBe(&quot;getComputedStyle(element, '').getPropertyValue('-webk=
it-grid-template-rows')&quot;, &quot;'first 150px'&quot;);
</del><ins>+    element.style.webkitGridTemplateColumns =3D &quot;150% (l=
ast)&quot;;
+    element.style.webkitGridTemplateRows =3D &quot;(first) 1fr&quot;;
+    shouldBe(&quot;getComputedStyle(element, '').getPropertyValue('-webk=
it-grid-template-columns')&quot;, &quot;'450px (last)'&quot;);
+    shouldBe(&quot;getComputedStyle(element, '').getPropertyValue('-webk=
it-grid-template-rows')&quot;, &quot;'(first) 150px'&quot;);
</ins><span class=3D"cx">=20
</span><span class=3D"cx">     element.style.display =3D &quot;-webkit-gr=
id&quot;;
</span><span class=3D"cx">     element.style.webkitGridTemplateColumns =3D=
 &quot;initial&quot;;
</span></span></pre></div>
<a id=3D"trunkLayoutTestsfastcssgridlayoutresourcesnongridcolumnsrowsgets=
etmultiplejs"></a>
<div class=3D"modfile"><h4>Modified: trunk/LayoutTests/fast/css-grid-layo=
ut/resources/non-grid-columns-rows-get-set-multiple.js (166156 =3D> 16615=
7)</h4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/LayoutTests/fast/css-grid-layout/resources=
/non-grid-columns-rows-get-set-multiple.js	2014-03-24 09:27:38 UTC (rev 1=
66156)
+++ trunk/LayoutTests/fast/css-grid-layout/resources/non-grid-columns-row=
s-get-set-multiple.js	2014-03-24 09:42:21 UTC (rev 166157)
</span><span class=3D"lines">@@ -62,15 +62,15 @@
</span><span class=3D"cx"> {
</span><span class=3D"cx">     var parentElement =3D document.createEleme=
nt(&quot;div&quot;);
</span><span class=3D"cx">     document.body.appendChild(parentElement);
</span><del>-    parentElement.style.webkitGridTemplateColumns =3D &quot;=
50px 1fr 'last'&quot;;
-    parentElement.style.webkitGridTemplateRows =3D &quot;101% 'middle' 4=
5px&quot;;
-    testGridTemplatesValues(parentElement, &quot;50px 1fr last&quot;, &q=
uot;101% middle 45px&quot;);
</del><ins>+    parentElement.style.webkitGridTemplateColumns =3D &quot;5=
0px 1fr (last)&quot;;
+    parentElement.style.webkitGridTemplateRows =3D &quot;101% (middle) 4=
5px&quot;;
+    testGridTemplatesValues(parentElement, &quot;50px 1fr (last)&quot;, =
&quot;101% (middle) 45px&quot;);
</ins><span class=3D"cx">=20
</span><span class=3D"cx">     element =3D document.createElement(&quot;d=
iv&quot;);
</span><span class=3D"cx">     parentElement.appendChild(element);
</span><span class=3D"cx">     element.style.webkitGridTemplateColumns =3D=
 &quot;inherit&quot;;
</span><span class=3D"cx">     element.style.webkitGridTemplateRows =3D &=
quot;inherit&quot;;
</span><del>-    testGridTemplatesValues(element, &quot;50px 1fr last&quo=
t;, &quot;101% middle 45px&quot;);
</del><ins>+    testGridTemplatesValues(element, &quot;50px 1fr (last)&qu=
ot;, &quot;101% (middle) 45px&quot;);
</ins><span class=3D"cx">=20
</span><span class=3D"cx">     document.body.removeChild(parentElement);
</span><span class=3D"cx"> }
</span><span class=3D"lines">@@ -82,9 +82,9 @@
</span><span class=3D"cx"> {
</span><span class=3D"cx">     element =3D document.createElement(&quot;d=
iv&quot;);
</span><span class=3D"cx">     document.body.appendChild(element);
</span><del>-    element.style.webkitGridTemplateColumns =3D &quot;150% '=
middle' 55px&quot;;
-    element.style.webkitGridTemplateRows =3D &quot;1fr 'line' 2fr 'line'=
&quot;;
-    testGridTemplatesValues(element, &quot;150% middle 55px&quot;, &quot=
;1fr line 2fr line&quot;);
</del><ins>+    element.style.webkitGridTemplateColumns =3D &quot;150% (m=
iddle) 55px&quot;;
+    element.style.webkitGridTemplateRows =3D &quot;1fr (line) 2fr (line)=
&quot;;
+    testGridTemplatesValues(element, &quot;150% (middle) 55px&quot;, &qu=
ot;1fr (line) 2fr (line)&quot;);
</ins><span class=3D"cx">=20
</span><span class=3D"cx">     element.style.webkitGridTemplateColumns =3D=
 &quot;initial&quot;;
</span><span class=3D"cx">     element.style.webkitGridTemplateRows =3D &=
quot;initial&quot;;
</span></span></pre></div>
<a id=3D"trunkLayoutTestsfastcssgridlayoutresourcesnongridcolumnsrowsgets=
etjs"></a>
<div class=3D"modfile"><h4>Modified: trunk/LayoutTests/fast/css-grid-layo=
ut/resources/non-grid-columns-rows-get-set.js (166156 =3D> 166157)</h4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/LayoutTests/fast/css-grid-layout/resources=
/non-grid-columns-rows-get-set.js	2014-03-24 09:27:38 UTC (rev 166156)
+++ trunk/LayoutTests/fast/css-grid-layout/resources/non-grid-columns-row=
s-get-set.js	2014-03-24 09:42:21 UTC (rev 166157)
</span><span class=3D"lines">@@ -84,15 +84,15 @@
</span><span class=3D"cx"> {
</span><span class=3D"cx">     var parentElement =3D document.createEleme=
nt(&quot;div&quot;);
</span><span class=3D"cx">     document.body.appendChild(parentElement);
</span><del>-    parentElement.style.webkitGridTemplateColumns =3D &quot;=
50px 'last'&quot;;
-    parentElement.style.webkitGridTemplateRows =3D &quot;'first' 101%&qu=
ot;;
</del><ins>+    parentElement.style.webkitGridTemplateColumns =3D &quot;5=
0px (last)&quot;;
+    parentElement.style.webkitGridTemplateRows =3D &quot;(first) 101%&qu=
ot;;
</ins><span class=3D"cx">=20
</span><span class=3D"cx">     element =3D document.createElement(&quot;d=
iv&quot;);
</span><span class=3D"cx">     parentElement.appendChild(element);
</span><span class=3D"cx">     element.style.webkitGridTemplateColumns =3D=
 &quot;inherit&quot;;
</span><span class=3D"cx">     element.style.webkitGridTemplateRows =3D &=
quot;inherit&quot;;
</span><del>-    shouldBe(&quot;getComputedStyle(element, '').getProperty=
Value('-webkit-grid-template-columns')&quot;, &quot;'50px last'&quot;);
-    shouldBe(&quot;getComputedStyle(element, '').getPropertyValue('-webk=
it-grid-template-rows')&quot;, &quot;'first 101%'&quot;);
</del><ins>+    shouldBe(&quot;getComputedStyle(element, '').getPropertyV=
alue('-webkit-grid-template-columns')&quot;, &quot;'50px (last)'&quot;);
+    shouldBe(&quot;getComputedStyle(element, '').getPropertyValue('-webk=
it-grid-template-rows')&quot;, &quot;'(first) 101%'&quot;);
</ins><span class=3D"cx">=20
</span><span class=3D"cx">     document.body.removeChild(parentElement);
</span><span class=3D"cx"> }
</span><span class=3D"lines">@@ -104,10 +104,10 @@
</span><span class=3D"cx"> {
</span><span class=3D"cx">     element =3D document.createElement(&quot;d=
iv&quot;);
</span><span class=3D"cx">     document.body.appendChild(element);
</span><del>-    element.style.webkitGridTemplateColumns =3D &quot;150% '=
last'&quot;;
-    element.style.webkitGridTemplateRows =3D &quot;'first' 1fr&quot;;
-    shouldBe(&quot;getComputedStyle(element, '').getPropertyValue('-webk=
it-grid-template-columns')&quot;, &quot;'150% last'&quot;);
-    shouldBe(&quot;getComputedStyle(element, '').getPropertyValue('-webk=
it-grid-template-rows')&quot;, &quot;'first 1fr'&quot;);
</del><ins>+    element.style.webkitGridTemplateColumns =3D &quot;150% (l=
ast)&quot;;
+    element.style.webkitGridTemplateRows =3D &quot;(first) 1fr&quot;;
+    shouldBe(&quot;getComputedStyle(element, '').getPropertyValue('-webk=
it-grid-template-columns')&quot;, &quot;'150% (last)'&quot;);
+    shouldBe(&quot;getComputedStyle(element, '').getPropertyValue('-webk=
it-grid-template-rows')&quot;, &quot;'(first) 1fr'&quot;);
</ins><span class=3D"cx">=20
</span><span class=3D"cx">     element.style.webkitGridTemplateColumns =3D=
 &quot;initial&quot;;
</span><span class=3D"cx">     element.style.webkitGridTemplateRows =3D &=
quot;initial&quot;;
</span></span></pre></div>
<a id=3D"trunkSourceWebCoreCMakeListstxt"></a>
<div class=3D"modfile"><h4>Modified: trunk/Source/WebCore/CMakeLists.txt =
(166156 =3D> 166157)</h4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/Source/WebCore/CMakeLists.txt	2014-03-24 0=
9:27:38 UTC (rev 166156)
+++ trunk/Source/WebCore/CMakeLists.txt	2014-03-24 09:42:21 UTC (rev 1661=
57)
</span><span class=3D"lines">@@ -1037,6 +1037,7 @@
</span><span class=3D"cx">     css/CSSFunctionValue.cpp
</span><span class=3D"cx">     css/CSSGradientValue.cpp
</span><span class=3D"cx">     css/CSSGridTemplateAreasValue.cpp
</span><ins>+    css/CSSGridLineNamesValue.cpp
</ins><span class=3D"cx">     css/CSSGroupingRule.cpp
</span><span class=3D"cx">     css/CSSImageGeneratorValue.cpp
</span><span class=3D"cx">     css/CSSImageSetValue.cpp
</span></span></pre></div>
<a id=3D"trunkSourceWebCoreChangeLog"></a>
<div class=3D"modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (1661=
56 =3D> 166157)</h4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/Source/WebCore/ChangeLog	2014-03-24 09:27:=
38 UTC (rev 166156)
+++ trunk/Source/WebCore/ChangeLog	2014-03-24 09:42:21 UTC (rev 166157)
</span><span class=3D"lines">@@ -1,3 +1,48 @@
</span><ins>+2014-03-24  Javier Fernandez  &lt;jfernandez at igalia.com&gt;
+
+        [CSS Grid Layout] Update named &lt;grid-line&gt; syntax to the l=
ast version of the specs
+        https://bugs.webkit.org/show_bug.cgi?id=3D129041
+
+        Reviewed by Sergio Villar Senin.
+
+        From Blink r162555 by &lt;svillar at igalia.com&gt;
+
+        Names for grid lines are now specified as a list of whitespace s=
eparated
+        idents enclosed in parentheses instead of as a list of strings.
+
+        Updated tests to match the new &lt;grid-line&gt; syntax.
+
+        * CMakeLists.txt:
+        * GNUmakefile.list.am:
+        * WebCore.xcodeproj/project.pbxproj: Added info of the new file =
for the CSSGridLineNamesValue class.
+        * css/CSSComputedStyleDeclaration.cpp:
+        (WebCore::addValuesForNamedGridLinesAtIndex): The named &lt;grid=
-line&gt; value is now a list.
+        * css/CSSGrammar.y.in: New syntax for named &lt;grid-line&gt;.
+        * css/CSSGridLineNamesValue.cpp: Added.
+        (WebCore::CSSGridLineNamesValue::customCSSText): String represen=
tation of the named &lt;grid-line&gt; as a list of Strings.
+        (WebCore::CSSGridLineNamesValue::CSSGridLineNamesValue): Constru=
ctor.
+        (WebCore::CSSGridLineNamesValue::cloneForCSSOM): Ref counted clo=
ning function.
+        * css/CSSGridLineNamesValue.h: Added.
+        (WebCore::CSSGridLineNamesValue::create): Ref counted constructo=
r.
+        * css/CSSParser.cpp:
+        (WebCore::CSSParser::parseGridLineNames): It replaces the old pa=
rseGrdTrackNames.
+        (WebCore::CSSParser::parseGridTrackList): Using the new named &l=
t;grid-line&gt; syntax.
+        (WebCore::CSSParser::parseGridTrackRepeatFunction): Using the ne=
w named &lt;grid-line&gt; syntax.
+        * css/CSSParser.h:
+        * css/CSSParserValues.cpp:
+        (WebCore::destroy): Handling the case of CSSValue being CSSValue=
List intances.
+        (WebCore::CSSParserValue::createCSSValue): Handling the case of =
CSSValue being CSSValueList intances.
+        * css/CSSParserValues.h:
+        (WebCore::CSSParserValue::setFromValueList): Adds the named &lt;=
grid-line&gt; list to the CSSParserValueList instance.
+        * css/CSSValue.cpp:
+        (WebCore::CSSValue::equals): Handling the case of the new CSSGri=
dLineNamesValue class.
+        (WebCore::CSSValue::cssText): Handling the case of the new CSSGr=
idLineNamesValue class.
+        (WebCore::CSSValue::destroy): Handling the case of the new CSSGr=
idLineNamesValue class.
+        * css/CSSValue.h:
+        (WebCore::CSSValue::isGridLineNamesValue): Type cast check for t=
he new CSSGridLineNamesValue class.
+        * css/StyleResolver.cpp:
+        (WebCore::createGridTrackList): Using the new named &lt;grid-lin=
e&gt; syntax.
+
</ins><span class=3D"cx"> 2014-03-23  Sam Weinig  &lt;sam at webkit.org&gt;
</span><span class=3D"cx">=20
</span><span class=3D"cx">         Convert WebHTMLConverter to C++
</span></span></pre></div>
<a id=3D"trunkSourceWebCoreGNUmakefilelistam"></a>
<div class=3D"modfile"><h4>Modified: trunk/Source/WebCore/GNUmakefile.lis=
t.am (166156 =3D> 166157)</h4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/Source/WebCore/GNUmakefile.list.am	2014-03=
-24 09:27:38 UTC (rev 166156)
+++ trunk/Source/WebCore/GNUmakefile.list.am	2014-03-24 09:42:21 UTC (rev=
 166157)
</span><span class=3D"lines">@@ -2575,6 +2575,8 @@
</span><span class=3D"cx"> 	Source/WebCore/css/CSSFunctionValue.h \
</span><span class=3D"cx"> 	Source/WebCore/css/CSSGradientValue.cpp \
</span><span class=3D"cx"> 	Source/WebCore/css/CSSGradientValue.h \
</span><ins>+	Source/WebCore/css/CSSGridLineNamesValue.h \
+	Source/WebCore/css/CSSGridLineNamesValue.cpp \
</ins><span class=3D"cx"> 	Source/WebCore/css/CSSGridTemplateAreasValue.c=
pp \
</span><span class=3D"cx"> 	Source/WebCore/css/CSSGridTemplateAreasValue.=
h \
</span><span class=3D"cx"> 	Source/WebCore/css/CSSGroupingRule.cpp \
</span></span></pre></div>
<a id=3D"trunkSourceWebCoreWebCorexcodeprojprojectpbxproj"></a>
<div class=3D"modfile"><h4>Modified: trunk/Source/WebCore/WebCore.xcodepr=
oj/project.pbxproj (166156 =3D> 166157)</h4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/Source/WebCore/WebCore.xcodeproj/project.p=
bxproj	2014-03-24 09:27:38 UTC (rev 166156)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj	2014-03-24 09:=
42:21 UTC (rev 166157)
</span><span class=3D"lines">@@ -5535,6 +5535,8 @@
</span><span class=3D"cx"> 		CD641EB41818F5ED00EE4C41 /* SourceBufferPriv=
ate.h in Headers */ =3D {isa =3D PBXBuildFile; fileRef =3D CD641EB21818F5=
ED00EE4C41 /* SourceBufferPrivate.h */; };
</span><span class=3D"cx"> 		CD641EBF1819B36000EE4C41 /* MediaTimeMac.cpp=
 in Sources */ =3D {isa =3D PBXBuildFile; fileRef =3D CD641EBD1819B35900E=
E4C41 /* MediaTimeMac.cpp */; };
</span><span class=3D"cx"> 		CD641EC01819B36000EE4C41 /* MediaTimeMac.h i=
n Headers */ =3D {isa =3D PBXBuildFile; fileRef =3D CD641EBE1819B35900EE4=
C41 /* MediaTimeMac.h */; };
</span><ins>+		CD7DBB2818CA19A400C11066 /* CSSGridLineNamesValue.cpp in S=
ources */ =3D {isa =3D PBXBuildFile; fileRef =3D CD7DBB2618CA11FF00C11066=
 /* CSSGridLineNamesValue.cpp */; };
+		CD7DBB2918CA19C600C11066 /* CSSGridLineNamesValue.h in Headers */ =3D =
{isa =3D PBXBuildFile; fileRef =3D CD7DBB2718CA11FF00C11066 /* CSSGridLin=
eNamesValue.h */; };
</ins><span class=3D"cx"> 		CD7E05221651C28200C1201F /* WebCoreAVFResourc=
eLoader.mm in Sources */ =3D {isa =3D PBXBuildFile; fileRef =3D CD7E05211=
651A84100C1201F /* WebCoreAVFResourceLoader.mm */; };
</span><span class=3D"cx"> 		CD82030A1395AB6A00F956C6 /* WebVideoFullscre=
enController.h in Headers */ =3D {isa =3D PBXBuildFile; fileRef =3D CD820=
3061395AB6A00F956C6 /* WebVideoFullscreenController.h */; settings =3D {A=
TTRIBUTES =3D (Private, ); }; };
</span><span class=3D"cx"> 		CD82030B1395AB6A00F956C6 /* WebVideoFullscre=
enController.mm in Sources */ =3D {isa =3D PBXBuildFile; fileRef =3D CD82=
03071395AB6A00F956C6 /* WebVideoFullscreenController.mm */; settings =3D =
{COMPILER_FLAGS =3D &quot;-Wno-undef -Wno-deprecated-declarations&quot;; =
}; };
</span><span class=3D"lines">@@ -12837,6 +12839,8 @@
</span><span class=3D"cx"> 		CD641EBD1819B35900EE4C41 /* MediaTimeMac.cpp=
 */ =3D {isa =3D PBXFileReference; lastKnownFileType =3D sourcecode.cpp.c=
pp; path =3D MediaTimeMac.cpp; sourceTree =3D &quot;&lt;group&gt;&quot;; =
};
</span><span class=3D"cx"> 		CD641EBE1819B35900EE4C41 /* MediaTimeMac.h *=
/ =3D {isa =3D PBXFileReference; lastKnownFileType =3D sourcecode.c.h; pa=
th =3D MediaTimeMac.h; sourceTree =3D &quot;&lt;group&gt;&quot;; };
</span><span class=3D"cx"> 		CD641EC7181ED60100EE4C41 /* MediaSample.h */=
 =3D {isa =3D PBXFileReference; lastKnownFileType =3D sourcecode.c.h; pat=
h =3D MediaSample.h; sourceTree =3D &quot;&lt;group&gt;&quot;; };
</span><ins>+		CD7DBB2618CA11FF00C11066 /* CSSGridLineNamesValue.cpp */ =3D=
 {isa =3D PBXFileReference; fileEncoding =3D 4; lastKnownFileType =3D sou=
rcecode.cpp.cpp; path =3D CSSGridLineNamesValue.cpp; sourceTree =3D &quot=
;&lt;group&gt;&quot;; };
+		CD7DBB2718CA11FF00C11066 /* CSSGridLineNamesValue.h */ =3D {isa =3D PB=
XFileReference; fileEncoding =3D 4; lastKnownFileType =3D sourcecode.c.h;=
 path =3D CSSGridLineNamesValue.h; sourceTree =3D &quot;&lt;group&gt;&quo=
t;; };
</ins><span class=3D"cx"> 		CD7E05201651A84100C1201F /* WebCoreAVFResourc=
eLoader.h */ =3D {isa =3D PBXFileReference; lastKnownFileType =3D sourcec=
ode.c.h; name =3D WebCoreAVFResourceLoader.h; path =3D objc/WebCoreAVFRes=
ourceLoader.h; sourceTree =3D &quot;&lt;group&gt;&quot;; };
</span><span class=3D"cx"> 		CD7E05211651A84100C1201F /* WebCoreAVFResour=
ceLoader.mm */ =3D {isa =3D PBXFileReference; lastKnownFileType =3D sourc=
ecode.cpp.objcpp; name =3D WebCoreAVFResourceLoader.mm; path =3D objc/Web=
CoreAVFResourceLoader.mm; sourceTree =3D &quot;&lt;group&gt;&quot;; };
</span><span class=3D"cx"> 		CD8203061395AB6A00F956C6 /* WebVideoFullscre=
enController.h */ =3D {isa =3D PBXFileReference; fileEncoding =3D 4; last=
KnownFileType =3D sourcecode.c.h; path =3D WebVideoFullscreenController.h=
; sourceTree =3D &quot;&lt;group&gt;&quot;; };
</span><span class=3D"lines">@@ -21515,6 +21519,8 @@
</span><span class=3D"cx"> 		F523D18402DE42E8018635CA /* css */ =3D {
</span><span class=3D"cx"> 			isa =3D PBXGroup;
</span><span class=3D"cx"> 			children =3D (
</span><ins>+				CD7DBB2618CA11FF00C11066 /* CSSGridLineNamesValue.cpp */=
,
+				CD7DBB2718CA11FF00C11066 /* CSSGridLineNamesValue.h */,
</ins><span class=3D"cx"> 				FBD6AF8415EF21D4008B7110 /* BasicShapeFunct=
ions.cpp */,
</span><span class=3D"cx"> 				FBD6AF8515EF21D4008B7110 /* BasicShapeFunc=
tions.h */,
</span><span class=3D"cx"> 				A80E6CDA0A1989CA007FB8C5 /* Counter.h */,
</span><span class=3D"lines">@@ -23915,6 +23921,7 @@
</span><span class=3D"cx"> 				9B24DE8E15194B9500C59C27 /* HTMLBDIElement=
.h in Headers */,
</span><span class=3D"cx"> 				A871DE2C0A152AC800B12A68 /* HTMLBodyElemen=
t.h in Headers */,
</span><span class=3D"cx"> 				A8CFF7AA0A156978000A4234 /* HTMLBRElement.=
h in Headers */,
</span><ins>+				CD7DBB2918CA19C600C11066 /* CSSGridLineNamesValue.h in H=
eaders */,
</ins><span class=3D"cx"> 				A81369D2097374F600D74463 /* HTMLButtonEleme=
nt.h in Headers */,
</span><span class=3D"cx"> 				93F199E508245E59001E9ABC /* HTMLCanvasElem=
ent.h in Headers */,
</span><span class=3D"cx"> 				996231F318D18AC300C03FDA /* InspectorWebBa=
ckendCommands.js in Headers */,
</span><span class=3D"lines">@@ -27168,6 +27175,7 @@
</span><span class=3D"cx"> 				26F40D4A14904A6300CA67C4 /* EventLoopIOS.m=
m in Sources */,
</span><span class=3D"cx"> 				1CA19E050DC255950065A994 /* EventLoopMac.m=
m in Sources */,
</span><span class=3D"cx"> 				939885C308B7E3D100E707C4 /* EventNames.cpp=
 in Sources */,
</span><ins>+				CD7DBB2818CA19A400C11066 /* CSSGridLineNamesValue.cpp in=
 Sources */,
</ins><span class=3D"cx"> 				E0FEF372B27C53EAC1C1FBEE /* EventSource.cpp=
 in Sources */,
</span><span class=3D"cx"> 				E12EDBEA0B308E0B002704B6 /* EventTarget.cp=
p in Sources */,
</span><span class=3D"cx"> 				BC60D8F20D2A11E000B9918F /* ExceptionBase.=
cpp in Sources */,
</span></span></pre></div>
<a id=3D"trunkSourceWebCorecssCSSComputedStyleDeclarationcpp"></a>
<div class=3D"modfile"><h4>Modified: trunk/Source/WebCore/css/CSSComputed=
StyleDeclaration.cpp (166156 =3D> 166157)</h4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/Source/WebCore/css/CSSComputedStyleDeclara=
tion.cpp	2014-03-24 09:27:38 UTC (rev 166156)
+++ trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp	2014-03-24 0=
9:42:21 UTC (rev 166157)
</span><span class=3D"lines">@@ -34,7 +34,6 @@
</span><span class=3D"cx"> #include &quot;CSSFontFeatureValue.h&quot;
</span><span class=3D"cx"> #include &quot;CSSFontValue.h&quot;
</span><span class=3D"cx"> #include &quot;CSSFunctionValue.h&quot;
</span><del>-#include &quot;CSSGridTemplateAreasValue.h&quot;
</del><span class=3D"cx"> #include &quot;CSSLineBoxContainValue.h&quot;
</span><span class=3D"cx"> #include &quot;CSSParser.h&quot;
</span><span class=3D"cx"> #include &quot;CSSPrimitiveValue.h&quot;
</span><span class=3D"lines">@@ -57,7 +56,6 @@
</span><span class=3D"cx"> #include &quot;PseudoElement.h&quot;
</span><span class=3D"cx"> #include &quot;Rect.h&quot;
</span><span class=3D"cx"> #include &quot;RenderBox.h&quot;
</span><del>-#include &quot;RenderGrid.h&quot;
</del><span class=3D"cx"> #include &quot;RenderStyle.h&quot;
</span><span class=3D"cx"> #include &quot;RenderView.h&quot;
</span><span class=3D"cx"> #include &quot;SVGElement.h&quot;
</span><span class=3D"lines">@@ -69,6 +67,12 @@
</span><span class=3D"cx"> #include &quot;WebKitFontFamilyNames.h&quot;
</span><span class=3D"cx"> #include &lt;wtf/text/StringBuilder.h&gt;
</span><span class=3D"cx">=20
</span><ins>+#if ENABLE(CSS_GRID_LAYOUT)
+#include &quot;CSSGridLineNamesValue.h&quot;
+#include &quot;CSSGridTemplateAreasValue.h&quot;
+#include &quot;RenderGrid.h&quot;
+#endif
+
</ins><span class=3D"cx"> #if ENABLE(CSS_SHAPES)
</span><span class=3D"cx"> #include &quot;ShapeValue.h&quot;
</span><span class=3D"cx"> #endif
</span><span class=3D"lines">@@ -996,8 +1000,10 @@
</span><span class=3D"cx">     if (namedGridLines.isEmpty())
</span><span class=3D"cx">         return;
</span><span class=3D"cx">=20
</span><ins>+    RefPtr&lt;CSSGridLineNamesValue&gt; lineNames =3D CSSGri=
dLineNamesValue::create();
</ins><span class=3D"cx">     for (size_t i =3D 0; i &lt; namedGridLines.=
size(); ++i)
</span><del>-        list.append(cssValuePool().createValue(namedGridLine=
s[i], CSSPrimitiveValue::CSS_STRING));
</del><ins>+        lineNames-&gt;append(cssValuePool().createValue(named=
GridLines[i], CSSPrimitiveValue::CSS_STRING));
+    list.append(lineNames.release());
</ins><span class=3D"cx"> }
</span><span class=3D"cx">=20
</span><span class=3D"cx"> static PassRef&lt;CSSValue&gt; valueForGridTra=
ckList(GridTrackSizingDirection direction, RenderObject* renderer, const =
RenderStyle* style, RenderView* renderView)
</span></span></pre></div>
<a id=3D"trunkSourceWebCorecssCSSGrammaryin"></a>
<div class=3D"modfile"><h4>Modified: trunk/Source/WebCore/css/CSSGrammar.=
y.in (166156 =3D> 166157)</h4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/Source/WebCore/css/CSSGrammar.y.in	2014-03=
-24 09:27:38 UTC (rev 166156)
+++ trunk/Source/WebCore/css/CSSGrammar.y.in	2014-03-24 09:42:21 UTC (rev=
 166157)
</span><span class=3D"lines">@@ -68,9 +68,22 @@
</span><span class=3D"cx">=20
</span><span class=3D"cx"> #endif
</span><span class=3D"cx">=20
</span><ins>+static inline CSSParserValue makeIdentValue(CSSParserString =
string)
+{
+    CSSParserValue v;
+    v.id =3D cssValueKeywordID(string);
+    v.unit =3D CSSPrimitiveValue::CSS_IDENT;
+    v.string =3D string;
+    return v;
+}
+
</ins><span class=3D"cx"> %}
</span><span class=3D"cx">=20
</span><ins>+#if ENABLE_CSS_GRID_LAYOUT
+%expect 30
+#else
</ins><span class=3D"cx"> %expect 29
</span><ins>+#endif
</ins><span class=3D"cx">=20
</span><span class=3D"cx"> %nonassoc LOWEST_PREC
</span><span class=3D"cx">=20
</span><span class=3D"lines">@@ -224,7 +237,7 @@
</span><span class=3D"cx"> %type &lt;keyframeRuleList&gt; keyframes_rule
</span><span class=3D"cx"> %destructor { delete $$; } keyframes_rule
</span><span class=3D"cx">=20
</span><del>-// These two parser values never need to be destroyed becaus=
e they are never functions.
</del><ins>+// These two parser values never need to be destroyed because=
 they are never functions or value lists.
</ins><span class=3D"cx"> %type &lt;value&gt; key unary_term
</span><span class=3D"cx">=20
</span><span class=3D"cx"> // These parser values need to be destroyed be=
cause they might be functions.
</span><span class=3D"lines">@@ -265,6 +278,14 @@
</span><span class=3D"cx"> %union { CSSParser::Location location; }
</span><span class=3D"cx"> %type &lt;location&gt; error_location
</span><span class=3D"cx">=20
</span><ins>+#if ENABLE_CSS_GRID_LAYOUT
+%type &lt;valueList&gt; ident_list
+%destructor { delete $$; } ident_list
+
+%type &lt;value&gt; track_names_list
+%destructor { destroy($$); } track_names_list
+#endif
+
</ins><span class=3D"cx"> #if ENABLE_CSS3_CONDITIONAL_RULES
</span><span class=3D"cx">=20
</span><span class=3D"cx"> %token SUPPORTS_AND
</span><span class=3D"lines">@@ -1343,6 +1364,35 @@
</span><span class=3D"cx">=20
</span><span class=3D"cx"> priority: IMPORTANT_SYM maybe_space { $$ =3D t=
rue; } | /* empty */ { $$ =3D false; } ;
</span><span class=3D"cx">=20
</span><ins>+#if ENABLE_CSS_GRID_LAYOUT
+
+ident_list:
+    IDENT maybe_space {
+        $$ =3D new CSSParserValueList;
+        $$-&gt;addValue(makeIdentValue($1));
+    }
+    | ident_list IDENT maybe_space {
+        $$ =3D $1;
+        $$-&gt;addValue(makeIdentValue($2));
+    }
+    ;
+
+track_names_list:
+    '(' maybe_space closing_parenthesis {
+        $$.setFromValueList(std::make_unique&lt;CSSParserValueList&gt;()=
);
+    }
+    | '(' maybe_space ident_list closing_parenthesis {
+        $$.setFromValueList(std::unique_ptr&lt;CSSParserValueList&gt;($3=
));
+    }
+    | '(' maybe_space expr_recovery closing_parenthesis {
+        $$.id =3D CSSValueInvalid;
+        $$.unit =3D 0;
+        YYERROR;
+    }
+  ;
+
+#endif
+
</ins><span class=3D"cx"> expr: valid_expr | valid_expr expr_recovery { $=
$ =3D nullptr; delete $1; } ;
</span><span class=3D"cx">=20
</span><span class=3D"cx"> valid_expr:
</span><span class=3D"lines">@@ -1375,11 +1425,7 @@
</span><span class=3D"cx">   unary_term maybe_space
</span><span class=3D"cx">   | unary_operator unary_term maybe_space { $$=
 =3D $2; $$.fValue *=3D $1; }
</span><span class=3D"cx">   | STRING maybe_space { $$.id =3D CSSValueInv=
alid; $$.string =3D $1; $$.unit =3D CSSPrimitiveValue::CSS_STRING; }
</span><del>-  | IDENT maybe_space {
-      $$.id =3D cssValueKeywordID($1);
-      $$.unit =3D CSSPrimitiveValue::CSS_IDENT;
-      $$.string =3D $1;
-  }
</del><ins>+  | IDENT maybe_space { $$ =3D makeIdentValue($1); }
</ins><span class=3D"cx">   /* We might need to actually parse the number=
 from a dimension, but we can't just put something that uses $$.string in=
to unary_term. */
</span><span class=3D"cx">   | DIMEN maybe_space { $$.id =3D CSSValueInva=
lid; $$.string =3D $1; $$.unit =3D CSSPrimitiveValue::CSS_DIMENSION; }
</span><span class=3D"cx">   | unary_operator DIMEN maybe_space { $$.id =3D=
 CSSValueInvalid; $$.string =3D $2; $$.unit =3D CSSPrimitiveValue::CSS_DI=
MENSION; }
</span><span class=3D"lines">@@ -1394,6 +1440,9 @@
</span><span class=3D"cx">   | '%' maybe_space { /* Handle width: %; */
</span><span class=3D"cx">       $$.id =3D CSSValueInvalid; $$.unit =3D 0=
;
</span><span class=3D"cx">   }
</span><ins>+#if ENABLE_CSS_GRID_LAYOUT
+  | track_names_list maybe_space
+#endif
</ins><span class=3D"cx">   ;
</span><span class=3D"cx">=20
</span><span class=3D"cx"> unary_term:
</span></span></pre></div>
<a id=3D"trunkSourceWebCorecssCSSGridLineNamesValuecpp"></a>
<div class=3D"addfile"><h4>Added: trunk/Source/WebCore/css/CSSGridLineNam=
esValue.cpp (0 =3D> 166157)</h4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/Source/WebCore/css/CSSGridLineNamesValue.c=
pp	                        (rev 0)
+++ trunk/Source/WebCore/css/CSSGridLineNamesValue.cpp	2014-03-24 09:42:2=
1 UTC (rev 166157)
</span><span class=3D"lines">@@ -0,0 +1,52 @@
</span><ins>+/*
+ * Copyright (C) 2013, 2014 Igalia, S.L. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions ar=
e
+ * met:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *     * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaime=
r
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ *     * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, B=
UT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include &quot;config.h&quot;
+#include &quot;CSSGridLineNamesValue.h&quot;
+
+namespace WebCore {
+
+String CSSGridLineNamesValue::customCSSText() const
+{
+    return &quot;(&quot; + CSSValueList::customCSSText() + &quot;)&quot;=
;
+}
+
+CSSGridLineNamesValue::CSSGridLineNamesValue()
+    : CSSValueList(GridLineNamesClass, SpaceSeparator)
+{
+}
+
+PassRefPtr&lt;CSSGridLineNamesValue&gt; CSSGridLineNamesValue::cloneForC=
SSOM() const
+{
+    return adoptRef(new CSSGridLineNamesValue(*this));
+}
+
+}
+
</ins></span></pre></div>
<a id=3D"trunkSourceWebCorecssCSSGridLineNamesValueh"></a>
<div class=3D"addfile"><h4>Added: trunk/Source/WebCore/css/CSSGridLineNam=
esValue.h (0 =3D> 166157)</h4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/Source/WebCore/css/CSSGridLineNamesValue.h=
	                        (rev 0)
+++ trunk/Source/WebCore/css/CSSGridLineNamesValue.h	2014-03-24 09:42:21 =
UTC (rev 166157)
</span><span class=3D"lines">@@ -0,0 +1,58 @@
</span><ins>+/*
+ * Copyright (C) 2013, 2014 Igalia, S.L. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions ar=
e
+ * met:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *     * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaime=
r
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ *     * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, B=
UT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef CSSGridLineNamesValue_h
+#define CSSGridLineNamesValue_h
+
+#include &quot;CSSValueList.h&quot;
+#include &lt;wtf/PassRefPtr.h&gt;
+
+namespace WebCore {
+
+class CSSGridLineNamesValue : public CSSValueList {
+public:
+    static PassRefPtr&lt;CSSGridLineNamesValue&gt; create()
+    {
+        return adoptRef(new CSSGridLineNamesValue());
+    }
+
+    String customCSSText() const;
+
+    PassRefPtr&lt;CSSGridLineNamesValue&gt; cloneForCSSOM() const;
+
+private:
+    CSSGridLineNamesValue();
+};
+
+CSS_VALUE_TYPE_CASTS(CSSGridLineNamesValue, isGridLineNamesValue());
+
+}
+
+#endif
</ins></span></pre></div>
<a id=3D"trunkSourceWebCorecssCSSParsercpp"></a>
<div class=3D"modfile"><h4>Modified: trunk/Source/WebCore/css/CSSParser.c=
pp (166156 =3D> 166157)</h4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/Source/WebCore/css/CSSParser.cpp	2014-03-2=
4 09:27:38 UTC (rev 166156)
+++ trunk/Source/WebCore/css/CSSParser.cpp	2014-03-24 09:42:21 UTC (rev 1=
66157)
</span><span class=3D"lines">@@ -40,7 +40,6 @@
</span><span class=3D"cx"> #include &quot;CSSFontValue.h&quot;
</span><span class=3D"cx"> #include &quot;CSSFunctionValue.h&quot;
</span><span class=3D"cx"> #include &quot;CSSGradientValue.h&quot;
</span><del>-#include &quot;CSSGridTemplateAreasValue.h&quot;
</del><span class=3D"cx"> #include &quot;CSSImageValue.h&quot;
</span><span class=3D"cx"> #include &quot;CSSInheritedValue.h&quot;
</span><span class=3D"cx"> #include &quot;CSSInitialValue.h&quot;
</span><span class=3D"lines">@@ -93,6 +92,11 @@
</span><span class=3D"cx"> #include &lt;wtf/text/StringBuilder.h&gt;
</span><span class=3D"cx"> #include &lt;wtf/text/StringImpl.h&gt;
</span><span class=3D"cx">=20
</span><ins>+#if ENABLE(CSS_GRID_LAYOUT)
+#include &quot;CSSGridLineNamesValue.h&quot;
+#include &quot;CSSGridTemplateAreasValue.h&quot;
+#endif
+
</ins><span class=3D"cx"> #if ENABLE(CSS_IMAGE_SET)
</span><span class=3D"cx"> #include &quot;CSSImageSetValue.h&quot;
</span><span class=3D"cx"> #endif
</span><span class=3D"lines">@@ -4871,13 +4875,25 @@
</span><span class=3D"cx">     return true;
</span><span class=3D"cx"> }
</span><span class=3D"cx">=20
</span><del>-void CSSParser::parseGridTrackNames(CSSParserValueList&amp; =
parserValues, CSSValueList&amp; values)
</del><ins>+void CSSParser::parseGridLineNames(CSSParserValueList&amp; in=
putList, CSSValueList&amp; valueList)
</ins><span class=3D"cx"> {
</span><del>-    do {
-        RefPtr&lt;CSSPrimitiveValue&gt; name =3D createPrimitiveStringVa=
lue(parserValues.current());
-        values.append(name.release());
-        parserValues.next();
-    } while (parserValues.current() &amp;&amp; parserValues.current()-&g=
t;unit =3D=3D CSSPrimitiveValue::CSS_STRING);
</del><ins>+    ASSERT(inputList.current() &amp;&amp; inputList.current()=
-&gt;unit =3D=3D CSSParserValue::ValueList);
+
+    CSSParserValueList* identList =3D inputList.current()-&gt;valueList;
+    if (!identList-&gt;size()) {
+        inputList.next();
+        return;
+    }
+
+    RefPtr&lt;CSSGridLineNamesValue&gt; lineNames =3D CSSGridLineNamesVa=
lue::create();
+    while (CSSParserValue* identValue =3D identList-&gt;current()) {
+        ASSERT(identValue-&gt;unit =3D=3D CSSPrimitiveValue::CSS_IDENT);
+        lineNames-&gt;append(createPrimitiveStringValue(identValue));
+        identList-&gt;next();
+    }
+    valueList.append(lineNames.release());
+
+    inputList.next();
</ins><span class=3D"cx"> }
</span><span class=3D"cx">=20
</span><span class=3D"cx"> bool CSSParser::parseGridTrackList(CSSProperty=
ID propId, bool important)
</span><span class=3D"lines">@@ -4892,9 +4908,10 @@
</span><span class=3D"cx">     }
</span><span class=3D"cx">=20
</span><span class=3D"cx">     RefPtr&lt;CSSValueList&gt; values =3D CSSV=
alueList::createSpaceSeparated();
</span><del>-    // Handle leading track names
-    if (m_valueList-&gt;current() &amp;&amp; m_valueList-&gt;current()-&=
gt;unit =3D=3D CSSPrimitiveValue::CSS_STRING)
-        parseGridTrackNames(*m_valueList, *values);
</del><ins>+    // Handle leading  &lt;custom-ident&gt;*.
+    value =3D m_valueList-&gt;current();
+    if (value &amp;&amp; value-&gt;unit =3D=3D CSSParserValue::ValueList=
)
+        parseGridLineNames(*m_valueList, *values);
</ins><span class=3D"cx">=20
</span><span class=3D"cx">     bool seenTrackSizeOrRepeatFunction =3D fal=
se;
</span><span class=3D"cx">     while (CSSParserValue* currentValue =3D m_=
valueList-&gt;current()) {
</span><span class=3D"lines">@@ -4909,8 +4926,10 @@
</span><span class=3D"cx">         }
</span><span class=3D"cx">         seenTrackSizeOrRepeatFunction =3D true=
;
</span><span class=3D"cx">=20
</span><del>-        if (m_valueList-&gt;current() &amp;&amp; m_valueList=
-&gt;current()-&gt;unit =3D=3D CSSPrimitiveValue::CSS_STRING)
-            parseGridTrackNames(*m_valueList, *values);
</del><ins>+        // This will handle the trailing &lt;custom-ident&gt;=
* in the grammar.
+        value =3D m_valueList-&gt;current();
+        if (value &amp;&amp; value-&gt;unit =3D=3D CSSParserValue::Value=
List)
+            parseGridLineNames(*m_valueList, *values);
</ins><span class=3D"cx">     }
</span><span class=3D"cx">=20
</span><span class=3D"cx">     if (!seenTrackSizeOrRepeatFunction)
</span><span class=3D"lines">@@ -4932,18 +4951,22 @@
</span><span class=3D"cx">     arguments-&gt;next(); // Skip the repetiti=
on count.
</span><span class=3D"cx">     arguments-&gt;next(); // Skip the comma.
</span><span class=3D"cx">=20
</span><ins>+    // Handle leading &lt;custom-ident&gt;*.
+    CSSParserValue* currentValue =3D arguments-&gt;current();
+    if (currentValue &amp;&amp; currentValue-&gt;unit =3D=3D CSSParserVa=
lue::ValueList)
+        parseGridLineNames(*arguments, *repeatedValues);
+
</ins><span class=3D"cx">     while (arguments-&gt;current()) {
</span><del>-        if (arguments-&gt;current()-&gt;unit =3D=3D CSSPrimi=
tiveValue::CSS_STRING)
-            parseGridTrackNames(*arguments, *repeatedValues);
-
-        if (!arguments-&gt;current())
-            break;
-
</del><span class=3D"cx">         RefPtr&lt;CSSValue&gt; trackSize =3D pa=
rseGridTrackSize(*arguments);
</span><span class=3D"cx">         if (!trackSize)
</span><span class=3D"cx">             return false;
</span><span class=3D"cx">=20
</span><span class=3D"cx">         repeatedValues-&gt;append(trackSize.re=
lease());
</span><ins>+
+        // This takes care of any trailing &lt;custom-ident&gt;* in the =
grammar.
+        currentValue =3D arguments-&gt;current();
+        if (currentValue &amp;&amp; currentValue-&gt;unit =3D=3D CSSPars=
erValue::ValueList)
+            parseGridLineNames(*arguments, *repeatedValues);
</ins><span class=3D"cx">     }
</span><span class=3D"cx">=20
</span><span class=3D"cx">     for (size_t i =3D 0; i &lt; repetitions; +=
+i) {
</span></span></pre></div>
<a id=3D"trunkSourceWebCorecssCSSParserh"></a>
<div class=3D"modfile"><h4>Modified: trunk/Source/WebCore/css/CSSParser.h=
 (166156 =3D> 166157)</h4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/Source/WebCore/css/CSSParser.h	2014-03-24 =
09:27:38 UTC (rev 166156)
+++ trunk/Source/WebCore/css/CSSParser.h	2014-03-24 09:42:21 UTC (rev 166=
157)
</span><span class=3D"lines">@@ -163,7 +163,7 @@
</span><span class=3D"cx">     PassRefPtr&lt;CSSValue&gt; parseGridTrackS=
ize(CSSParserValueList&amp; inputList);
</span><span class=3D"cx">     PassRefPtr&lt;CSSPrimitiveValue&gt; parseG=
ridBreadth(CSSParserValue*);
</span><span class=3D"cx">     PassRefPtr&lt;CSSValue&gt; parseGridTempla=
teAreas();
</span><del>-    void parseGridTrackNames(CSSParserValueList&amp; inputLi=
st, CSSValueList&amp; values);
</del><ins>+    void parseGridLineNames(CSSParserValueList&amp;, CSSValue=
List&amp;);
</ins><span class=3D"cx"> #endif
</span><span class=3D"cx">=20
</span><span class=3D"cx">     bool parseDashboardRegions(CSSPropertyID, =
bool important);
</span></span></pre></div>
<a id=3D"trunkSourceWebCorecssCSSParserValuescpp"></a>
<div class=3D"modfile"><h4>Modified: trunk/Source/WebCore/css/CSSParserVa=
lues.cpp (166156 =3D> 166157)</h4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/Source/WebCore/css/CSSParserValues.cpp	201=
4-03-24 09:27:38 UTC (rev 166156)
+++ trunk/Source/WebCore/css/CSSParserValues.cpp	2014-03-24 09:42:21 UTC =
(rev 166157)
</span><span class=3D"lines">@@ -35,6 +35,8 @@
</span><span class=3D"cx"> {
</span><span class=3D"cx">     if (value.unit =3D=3D CSSParserValue::Func=
tion)
</span><span class=3D"cx">         delete value.function;
</span><ins>+    else if (value.unit =3D=3D CSSParserValue::ValueList)
+        delete value.valueList;
</ins><span class=3D"cx"> }
</span><span class=3D"cx">=20
</span><span class=3D"cx"> CSSParserValueList::~CSSParserValueList()
</span><span class=3D"lines">@@ -77,6 +79,8 @@
</span><span class=3D"cx">     }
</span><span class=3D"cx">     if (unit =3D=3D CSSParserValue::Function)
</span><span class=3D"cx">         return CSSFunctionValue::create(functi=
on);
</span><ins>+    if (unit =3D=3D CSSParserValue::ValueList)
+        return CSSValueList::createFromParserValueList(*valueList);
</ins><span class=3D"cx">     if (unit &gt;=3D CSSParserValue::Q_EMS)
</span><span class=3D"cx">         return CSSPrimitiveValue::createAllowi=
ngMarginQuirk(fValue, CSSPrimitiveValue::CSS_EMS);
</span><span class=3D"cx">=20
</span></span></pre></div>
<a id=3D"trunkSourceWebCorecssCSSParserValuesh"></a>
<div class=3D"modfile"><h4>Modified: trunk/Source/WebCore/css/CSSParserVa=
lues.h (166156 =3D> 166157)</h4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/Source/WebCore/css/CSSParserValues.h	2014-=
03-24 09:27:38 UTC (rev 166156)
+++ trunk/Source/WebCore/css/CSSParserValues.h	2014-03-24 09:42:21 UTC (r=
ev 166157)
</span><span class=3D"lines">@@ -113,14 +113,18 @@
</span><span class=3D"cx">         int iValue;
</span><span class=3D"cx">         CSSParserString string;
</span><span class=3D"cx">         CSSParserFunction* function;
</span><ins>+        CSSParserValueList* valueList;
</ins><span class=3D"cx">     };
</span><span class=3D"cx">     enum {
</span><del>-        Operator =3D 0x100000,
-        Function =3D 0x100001,
-        Q_EMS    =3D 0x100002
</del><ins>+        Operator  =3D 0x100000,
+        Function  =3D 0x100001,
+        ValueList =3D 0x100002,
+        Q_EMS     =3D 0x100003,
</ins><span class=3D"cx">     };
</span><span class=3D"cx">     int unit;
</span><span class=3D"cx">=20
</span><ins>+    void setFromValueList(std::unique_ptr&lt;CSSParserValueL=
ist&gt;);
+
</ins><span class=3D"cx">     PassRefPtr&lt;CSSValue&gt; createCSSValue()=
;
</span><span class=3D"cx"> };
</span><span class=3D"cx">=20
</span><span class=3D"lines">@@ -215,6 +219,12 @@
</span><span class=3D"cx">     return m_selector-&gt;relation() =3D=3D CS=
SSelector::ShadowDescendant;
</span><span class=3D"cx"> }
</span><span class=3D"cx">=20
</span><ins>+inline void CSSParserValue::setFromValueList(std::unique_ptr=
&lt;CSSParserValueList&gt; valueList)
+{
+    id =3D CSSValueInvalid;
+    this-&gt;valueList =3D valueList.release();
+    unit =3D ValueList;
</ins><span class=3D"cx"> }
</span><ins>+}
</ins><span class=3D"cx">=20
</span><span class=3D"cx"> #endif
</span></span></pre></div>
<a id=3D"trunkSourceWebCorecssCSSValuecpp"></a>
<div class=3D"modfile"><h4>Modified: trunk/Source/WebCore/css/CSSValue.cp=
p (166156 =3D> 166157)</h4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/Source/WebCore/css/CSSValue.cpp	2014-03-24=
 09:27:38 UTC (rev 166156)
+++ trunk/Source/WebCore/css/CSSValue.cpp	2014-03-24 09:42:21 UTC (rev 16=
6157)
</span><span class=3D"lines">@@ -57,6 +57,7 @@
</span><span class=3D"cx"> #include &quot;WebKitCSSTransformValue.h&quot;
</span><span class=3D"cx">=20
</span><span class=3D"cx"> #if ENABLE(CSS_GRID_LAYOUT)
</span><ins>+#include &quot;CSSGridLineNamesValue.h&quot;
</ins><span class=3D"cx"> #include &quot;CSSGridTemplateAreasValue.h&quot=
;
</span><span class=3D"cx"> #endif
</span><span class=3D"cx">=20
</span><span class=3D"lines">@@ -193,6 +194,8 @@
</span><span class=3D"cx">         case InitialClass:
</span><span class=3D"cx">             return compareCSSValues&lt;CSSInit=
ialValue&gt;(*this, other);
</span><span class=3D"cx"> #if ENABLE(CSS_GRID_LAYOUT)
</span><ins>+        case GridLineNamesClass:
+            return compareCSSValues&lt;CSSGridLineNamesValue&gt;(*this, =
other);
</ins><span class=3D"cx">         case GridTemplateAreasClass:
</span><span class=3D"cx">             return compareCSSValues&lt;CSSGrid=
TemplateAreasValue&gt;(*this, other);
</span><span class=3D"cx"> #endif
</span><span class=3D"lines">@@ -281,6 +284,8 @@
</span><span class=3D"cx">     case InitialClass:
</span><span class=3D"cx">         return toCSSInitialValue(this)-&gt;cus=
tomCSSText();
</span><span class=3D"cx"> #if ENABLE(CSS_GRID_LAYOUT)
</span><ins>+    case GridLineNamesClass:
+        return toCSSGridLineNamesValue(this)-&gt;customCSSText();
</ins><span class=3D"cx">     case GridTemplateAreasClass:
</span><span class=3D"cx">         return toCSSGridTemplateAreasValue(thi=
s)-&gt;customCSSText();
</span><span class=3D"cx"> #endif
</span><span class=3D"lines">@@ -374,6 +379,9 @@
</span><span class=3D"cx">         delete toCSSInitialValue(this);
</span><span class=3D"cx">         return;
</span><span class=3D"cx"> #if ENABLE(CSS_GRID_LAYOUT)
</span><ins>+    case GridLineNamesClass:
+        delete toCSSGridLineNamesValue(this);
+        return;
</ins><span class=3D"cx">     case GridTemplateAreasClass:
</span><span class=3D"cx">         delete toCSSGridTemplateAreasValue(thi=
s);
</span><span class=3D"cx">         return;
</span></span></pre></div>
<a id=3D"trunkSourceWebCorecssCSSValueh"></a>
<div class=3D"modfile"><h4>Modified: trunk/Source/WebCore/css/CSSValue.h =
(166156 =3D> 166157)</h4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/Source/WebCore/css/CSSValue.h	2014-03-24 0=
9:27:38 UTC (rev 166156)
+++ trunk/Source/WebCore/css/CSSValue.h	2014-03-24 09:42:21 UTC (rev 1661=
57)
</span><span class=3D"lines">@@ -99,6 +99,7 @@
</span><span class=3D"cx"> #endif // ENABLE(CSS_FILTERS)
</span><span class=3D"cx"> #if ENABLE(CSS_GRID_LAYOUT)
</span><span class=3D"cx">     bool isGridTemplateAreasValue() const { re=
turn m_classType =3D=3D GridTemplateAreasClass; }
</span><ins>+    bool isGridLineNamesValue() const { return m_classType =3D=
=3D GridLineNamesClass; }
</ins><span class=3D"cx"> #endif
</span><span class=3D"cx">     bool isSVGColor() const { return m_classTy=
pe =3D=3D SVGColorClass || m_classType =3D=3D SVGPaintClass; }
</span><span class=3D"cx">     bool isSVGPaint() const { return m_classTy=
pe =3D=3D SVGPaintClass; }
</span><span class=3D"lines">@@ -174,6 +175,9 @@
</span><span class=3D"cx">         WebKitCSSFilterClass,
</span><span class=3D"cx"> #endif
</span><span class=3D"cx">         WebKitCSSTransformClass,
</span><ins>+#if ENABLE(CSS_GRID_LAYOUT)
+        GridLineNamesClass,
+#endif
</ins><span class=3D"cx">         // Do not append non-list class types h=
ere.
</span><span class=3D"cx">     };
</span><span class=3D"cx">=20
</span></span></pre></div>
<a id=3D"trunkSourceWebCorecssStyleResolvercpp"></a>
<div class=3D"modfile"><h4>Modified: trunk/Source/WebCore/css/StyleResolv=
er.cpp (166156 =3D> 166157)</h4>
<pre class=3D"diff"><span>
<span class=3D"info">--- trunk/Source/WebCore/css/StyleResolver.cpp	2014-=
03-24 09:27:38 UTC (rev 166156)
+++ trunk/Source/WebCore/css/StyleResolver.cpp	2014-03-24 09:42:21 UTC (r=
ev 166157)
</span><span class=3D"lines">@@ -144,6 +144,7 @@
</span><span class=3D"cx"> #endif
</span><span class=3D"cx">=20
</span><span class=3D"cx"> #if ENABLE(CSS_GRID_LAYOUT)
</span><ins>+#include &quot;CSSGridLineNamesValue.h&quot;
</ins><span class=3D"cx"> #include &quot;CSSGridTemplateAreasValue.h&quot=
;
</span><span class=3D"cx"> #endif
</span><span class=3D"cx">=20
</span><span class=3D"lines">@@ -2033,16 +2034,16 @@
</span><span class=3D"cx">     size_t currentNamedGridLine =3D 0;
</span><span class=3D"cx">     for (CSSValueListIterator i =3D value; i.h=
asMore(); i.advance()) {
</span><span class=3D"cx">         CSSValue* currValue =3D i.value();
</span><del>-        if (currValue-&gt;isPrimitiveValue()) {
-            CSSPrimitiveValue* primitiveValue =3D toCSSPrimitiveValue(cu=
rrValue);
-            if (primitiveValue-&gt;isString()) {
-                String namedGridLine =3D primitiveValue-&gt;getStringVal=
ue();
</del><ins>+        if (currValue-&gt;isGridLineNamesValue()) {
+            CSSGridLineNamesValue* lineNamesValue =3D toCSSGridLineNames=
Value(currValue);
+            for (CSSValueListIterator j =3D lineNamesValue; j.hasMore();=
 j.advance()) {
+                String namedGridLine =3D toCSSPrimitiveValue(j.value())-=
&gt;getStringValue();
</ins><span class=3D"cx">                 NamedGridLinesMap::AddResult re=
sult =3D namedGridLines.add(namedGridLine, Vector&lt;size_t&gt;());
</span><span class=3D"cx">                 result.iterator-&gt;value.appe=
nd(currentNamedGridLine);
</span><span class=3D"cx">                 OrderedNamedGridLinesMap::AddR=
esult orderedResult =3D orderedNamedGridLines.add(currentNamedGridLine, V=
ector&lt;String&gt;());
</span><span class=3D"cx">                 orderedResult.iterator-&gt;val=
ue.append(namedGridLine);
</span><del>-                continue;
</del><span class=3D"cx">             }
</span><ins>+            continue;
</ins><span class=3D"cx">         }
</span><span class=3D"cx">=20
</span><span class=3D"cx">         ++currentNamedGridLine;
</span></span></pre>
</div>
</div>

</body>
</html>


More information about the webkit-changes mailing list