[css-grid] Ship CSS Grid Layout

Intent to ship:
https://groups.google.com/a/chromium.org/d/msg/blink-dev/hBx1ffTS9CQ/TMTigaDIAgAJ

BUG=79180

Review-Url: https://codereview.chromium.org/2521953002
Cr-Commit-Position: refs/heads/master@{#433853}
diff --git a/third_party/WebKit/LayoutTests/virtual/stable/webexposed/css-properties-as-js-properties-expected.txt b/third_party/WebKit/LayoutTests/virtual/stable/webexposed/css-properties-as-js-properties-expected.txt
index 9371674..b0e3371 100644
--- a/third_party/WebKit/LayoutTests/virtual/stable/webexposed/css-properties-as-js-properties-expected.txt
+++ b/third_party/WebKit/LayoutTests/virtual/stable/webexposed/css-properties-as-js-properties-expected.txt
@@ -131,12 +131,32 @@
 fontWeight
 getPropertyPriority
 getPropertyValue
+grid
+gridArea
+gridAutoColumns
+gridAutoFlow
+gridAutoRows
+gridColumn
+gridColumnEnd
+gridColumnGap
+gridColumnStart
+gridGap
+gridRow
+gridRowEnd
+gridRowGap
+gridRowStart
+gridTemplate
+gridTemplateAreas
+gridTemplateColumns
+gridTemplateRows
 height
 hyphens
 imageRendering
 isolation
 item
 justifyContent
+justifyItems
+justifySelf
 left
 length
 letterSpacing
diff --git a/third_party/WebKit/LayoutTests/virtual/stable/webexposed/nonstable-css-properties-expected.txt b/third_party/WebKit/LayoutTests/virtual/stable/webexposed/nonstable-css-properties-expected.txt
index a879f3ab..3e5c942 100644
--- a/third_party/WebKit/LayoutTests/virtual/stable/webexposed/nonstable-css-properties-expected.txt
+++ b/third_party/WebKit/LayoutTests/virtual/stable/webexposed/nonstable-css-properties-expected.txt
@@ -12,52 +12,52 @@
 getComputedStyle(el).getPropertyValue('shape-outside') is circle(10px at 10px 10px)
 
 el.style.setProperty('grid-auto-columns', 'auto')
-el.style.getPropertyValue('grid-auto-columns') is 
-getComputedStyle(el).getPropertyValue('grid-auto-columns') is 
+el.style.getPropertyValue('grid-auto-columns') is auto
+getComputedStyle(el).getPropertyValue('grid-auto-columns') is auto
 
 el.style.setProperty('grid-auto-rows', 'auto')
-el.style.getPropertyValue('grid-auto-rows') is 
-getComputedStyle(el).getPropertyValue('grid-auto-rows') is 
+el.style.getPropertyValue('grid-auto-rows') is auto
+getComputedStyle(el).getPropertyValue('grid-auto-rows') is auto
 
 el.style.setProperty('grid-template-columns', 'min-content')
-el.style.getPropertyValue('grid-template-columns') is 
-getComputedStyle(el).getPropertyValue('grid-template-columns') is 
+el.style.getPropertyValue('grid-template-columns') is min-content
+getComputedStyle(el).getPropertyValue('grid-template-columns') is min-content
 
 el.style.setProperty('grid-template-rows', 'max-content')
-el.style.getPropertyValue('grid-template-rows') is 
-getComputedStyle(el).getPropertyValue('grid-template-rows') is 
+el.style.getPropertyValue('grid-template-rows') is max-content
+getComputedStyle(el).getPropertyValue('grid-template-rows') is max-content
 
 el.style.setProperty('grid-column-start', 'auto')
-el.style.getPropertyValue('grid-column-start') is 
-getComputedStyle(el).getPropertyValue('grid-column-start') is 
+el.style.getPropertyValue('grid-column-start') is auto
+getComputedStyle(el).getPropertyValue('grid-column-start') is auto
 
 el.style.setProperty('grid-column-end', '2')
-el.style.getPropertyValue('grid-column-end') is 
-getComputedStyle(el).getPropertyValue('grid-column-end') is 
+el.style.getPropertyValue('grid-column-end') is 2
+getComputedStyle(el).getPropertyValue('grid-column-end') is 2
 
 el.style.setProperty('grid-row-start', '1')
-el.style.getPropertyValue('grid-row-start') is 
-getComputedStyle(el).getPropertyValue('grid-row-start') is 
+el.style.getPropertyValue('grid-row-start') is 1
+getComputedStyle(el).getPropertyValue('grid-row-start') is 1
 
 el.style.setProperty('grid-column', 'auto')
-el.style.getPropertyValue('grid-column') is 
-getComputedStyle(el).getPropertyValue('grid-column') is 
+el.style.getPropertyValue('grid-column') is auto / auto
+getComputedStyle(el).getPropertyValue('grid-column') is auto / auto
 
 el.style.setProperty('grid-row', '1')
-el.style.getPropertyValue('grid-row') is 
-getComputedStyle(el).getPropertyValue('grid-row') is 
+el.style.getPropertyValue('grid-row') is 1 / auto
+getComputedStyle(el).getPropertyValue('grid-row') is 1 / auto
 
 el.style.setProperty('grid-area', '2')
-el.style.getPropertyValue('grid-area') is 
-getComputedStyle(el).getPropertyValue('grid-area') is 
+el.style.getPropertyValue('grid-area') is 2 / auto / auto / auto
+getComputedStyle(el).getPropertyValue('grid-area') is 2 / auto / auto / auto
 
 el.style.setProperty('grid-auto-flow', 'column')
-el.style.getPropertyValue('grid-auto-flow') is 
-getComputedStyle(el).getPropertyValue('grid-auto-flow') is 
+el.style.getPropertyValue('grid-auto-flow') is column
+getComputedStyle(el).getPropertyValue('grid-auto-flow') is column
 
 el.style.setProperty('grid-template-areas', '"test"')
-el.style.getPropertyValue('grid-template-areas') is 
-getComputedStyle(el).getPropertyValue('grid-template-areas') is 
+el.style.getPropertyValue('grid-template-areas') is "test"
+getComputedStyle(el).getPropertyValue('grid-template-areas') is "test"
 
 el.style.setProperty('text-justify', 'distribute')
 el.style.getPropertyValue('text-justify') is 
diff --git a/third_party/WebKit/Source/platform/RuntimeEnabledFeatures.in b/third_party/WebKit/Source/platform/RuntimeEnabledFeatures.in
index 7c10f30..7718973 100644
--- a/third_party/WebKit/Source/platform/RuntimeEnabledFeatures.in
+++ b/third_party/WebKit/Source/platform/RuntimeEnabledFeatures.in
@@ -58,7 +58,7 @@
 CSSContainment status=stable
 CSSFontDisplay status=experimental
 CSSFontSizeAdjust status=experimental
-CSSGridLayout status=experimental, settable_from_internals=True
+CSSGridLayout status=stable, settable_from_internals=True
 CSSDisplayContents status=experimental
 CSSHyphens status=stable
 CSSInBodyDoesNotBlockPaint status=experimental