<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[212131] trunk</title>
</head>
<body>
<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; }
#msg dl a { font-weight: bold}
#msg dl a:link { color:#fc3; }
#msg dl a:active { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/212131">212131</a></dd>
<dt>Author</dt> <dd>hyatt@apple.com</dd>
<dt>Date</dt> <dd>2017-02-10 12:26:30 -0800 (Fri, 10 Feb 2017)</dd>
</dl>
<h3>Log Message</h3>
<pre>[CSS Parser] Make intercap property values serialize correctly
https://bugs.webkit.org/show_bug.cgi?id=168073
Reviewed by Zalan Bujtas.
Source/WebCore:
Fix CSS value keywords to preserve case when the value contains capital
letters. Examples include optimizeSpeed, translateX, scaleY, etc.
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator EPointerEvents):
(WebCore::CSSPrimitiveValue::operator TextRenderingMode):
(WebCore::CSSPrimitiveValue::operator EImageRendering):
(WebCore::CSSPrimitiveValue::operator EColorInterpolation):
(WebCore::CSSPrimitiveValue::operator EColorRendering):
(WebCore::CSSPrimitiveValue::operator EShapeRendering):
* css/MediaQueryEvaluator.cpp:
(WebCore::colorGamutEvaluate):
* css/SVGCSSValueKeywords.in:
* css/TransformFunctions.cpp:
(WebCore::transformOperationType):
(WebCore::transformsForValue):
* css/makevalues.pl:
* css/parser/CSSParserFastPaths.cpp:
(WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):
(WebCore::parseTransformTranslateArguments):
(WebCore::parseSimpleTransformValue):
* css/parser/CSSPropertyParser.cpp:
(WebCore::consumeTransformValue):
* css/parser/CSSPropertyParserHelpers.cpp:
(WebCore::CSSPropertyParserHelpers::parseColorFunctionParameters):
LayoutTests:
* fast/css/getComputedStyle/computed-style-expected.txt:
* fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
* fast/css/image-rendering-parsing-expected.txt:
* fast/css/parsing-text-rendering-expected.txt:
* fast/css/resources/parsing-text-rendering.js:
* fast/css/script-tests/image-rendering-parsing.js:
* svg/css/getComputedStyle-basic-expected.txt:
* svg/css/script-tests/shape-rendering-parsing.js:
* svg/css/shape-rendering-parsing-expected.txt:
* transforms/2d/transform-value-types-expected.txt:
* transforms/2d/transform-value-types.html:</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsfastcssgetComputedStylecomputedstyleexpectedtxt">trunk/LayoutTests/fast/css/getComputedStyle/computed-style-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastcssgetComputedStylecomputedstylewithoutrendererexpectedtxt">trunk/LayoutTests/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastcssimagerenderingparsingexpectedtxt">trunk/LayoutTests/fast/css/image-rendering-parsing-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastcssparsingtextrenderingexpectedtxt">trunk/LayoutTests/fast/css/parsing-text-rendering-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastcssresourcesparsingtextrenderingjs">trunk/LayoutTests/fast/css/resources/parsing-text-rendering.js</a></li>
<li><a href="#trunkLayoutTestsfastcssscripttestsimagerenderingparsingjs">trunk/LayoutTests/fast/css/script-tests/image-rendering-parsing.js</a></li>
<li><a href="#trunkLayoutTestssvgcssgetComputedStylebasicexpectedtxt">trunk/LayoutTests/svg/css/getComputedStyle-basic-expected.txt</a></li>
<li><a href="#trunkLayoutTestssvgcssscripttestsshaperenderingparsingjs">trunk/LayoutTests/svg/css/script-tests/shape-rendering-parsing.js</a></li>
<li><a href="#trunkLayoutTestssvgcssshaperenderingparsingexpectedtxt">trunk/LayoutTests/svg/css/shape-rendering-parsing-expected.txt</a></li>
<li><a href="#trunkLayoutTeststransforms2dtransformvaluetypesexpectedtxt">trunk/LayoutTests/transforms/2d/transform-value-types-expected.txt</a></li>
<li><a href="#trunkLayoutTeststransforms2dtransformvaluetypeshtml">trunk/LayoutTests/transforms/2d/transform-value-types.html</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCorecssCSSPrimitiveValueMappingsh">trunk/Source/WebCore/css/CSSPrimitiveValueMappings.h</a></li>
<li><a href="#trunkSourceWebCorecssMediaQueryEvaluatorcpp">trunk/Source/WebCore/css/MediaQueryEvaluator.cpp</a></li>
<li><a href="#trunkSourceWebCorecssSVGCSSValueKeywordsin">trunk/Source/WebCore/css/SVGCSSValueKeywords.in</a></li>
<li><a href="#trunkSourceWebCorecssTransformFunctionscpp">trunk/Source/WebCore/css/TransformFunctions.cpp</a></li>
<li><a href="#trunkSourceWebCorecssmakevaluespl">trunk/Source/WebCore/css/makevalues.pl</a></li>
<li><a href="#trunkSourceWebCorecssparserCSSParserFastPathscpp">trunk/Source/WebCore/css/parser/CSSParserFastPaths.cpp</a></li>
<li><a href="#trunkSourceWebCorecssparserCSSPropertyParsercpp">trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp</a></li>
<li><a href="#trunkSourceWebCorecssparserCSSPropertyParserHelperscpp">trunk/Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (212130 => 212131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2017-02-10 19:52:57 UTC (rev 212130)
+++ trunk/LayoutTests/ChangeLog        2017-02-10 20:26:30 UTC (rev 212131)
</span><span class="lines">@@ -1,3 +1,22 @@
</span><ins>+2017-02-10 Dave Hyatt <hyatt@apple.com>
+
+ [CSS Parser] Make intercap property values serialize correctly
+ https://bugs.webkit.org/show_bug.cgi?id=168073
+
+ Reviewed by Zalan Bujtas.
+
+ * fast/css/getComputedStyle/computed-style-expected.txt:
+ * fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
+ * fast/css/image-rendering-parsing-expected.txt:
+ * fast/css/parsing-text-rendering-expected.txt:
+ * fast/css/resources/parsing-text-rendering.js:
+ * fast/css/script-tests/image-rendering-parsing.js:
+ * svg/css/getComputedStyle-basic-expected.txt:
+ * svg/css/script-tests/shape-rendering-parsing.js:
+ * svg/css/shape-rendering-parsing-expected.txt:
+ * transforms/2d/transform-value-types-expected.txt:
+ * transforms/2d/transform-value-types.html:
+
</ins><span class="cx"> 2017-02-08 Jiewen Tan <jiewen_tan@apple.com>
</span><span class="cx">
</span><span class="cx"> [WebCrypto] Import imported/w3c/web-platform-tests/WebCryptoAPI tests
</span></span></pre></div>
<a id="trunkLayoutTestsfastcssgetComputedStylecomputedstyleexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/css/getComputedStyle/computed-style-expected.txt (212130 => 212131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/getComputedStyle/computed-style-expected.txt        2017-02-10 19:52:57 UTC (rev 212130)
+++ trunk/LayoutTests/fast/css/getComputedStyle/computed-style-expected.txt        2017-02-10 20:26:30 UTC (rev 212131)
</span><span class="lines">@@ -249,8 +249,8 @@
</span><span class="cx"> lighting-color: rgb(255, 255, 255);
</span><span class="cx"> stop-color: rgb(0, 0, 0);
</span><span class="cx"> stop-opacity: 1;
</span><del>-color-interpolation: srgb;
-color-interpolation-filters: linearrgb;
</del><ins>+color-interpolation: sRGB;
+color-interpolation-filters: linearRGB;
</ins><span class="cx"> color-rendering: auto;
</span><span class="cx"> fill: rgb(0, 0, 0);
</span><span class="cx"> fill-opacity: 1;
</span></span></pre></div>
<a id="trunkLayoutTestsfastcssgetComputedStylecomputedstylewithoutrendererexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt (212130 => 212131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt        2017-02-10 19:52:57 UTC (rev 212130)
+++ trunk/LayoutTests/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt        2017-02-10 20:26:30 UTC (rev 212131)
</span><span class="lines">@@ -248,8 +248,8 @@
</span><span class="cx"> lighting-color: rgb(255, 255, 255)
</span><span class="cx"> stop-color: rgb(0, 0, 0)
</span><span class="cx"> stop-opacity: 1
</span><del>-color-interpolation: srgb
-color-interpolation-filters: linearrgb
</del><ins>+color-interpolation: sRGB
+color-interpolation-filters: linearRGB
</ins><span class="cx"> color-rendering: auto
</span><span class="cx"> fill: rgb(0, 0, 0)
</span><span class="cx"> fill-opacity: 1
</span></span></pre></div>
<a id="trunkLayoutTestsfastcssimagerenderingparsingexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/css/image-rendering-parsing-expected.txt (212130 => 212131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/image-rendering-parsing-expected.txt        2017-02-10 19:52:57 UTC (rev 212130)
+++ trunk/LayoutTests/fast/css/image-rendering-parsing-expected.txt        2017-02-10 20:26:30 UTC (rev 212131)
</span><span class="lines">@@ -19,11 +19,11 @@
</span><span class="cx"> PASS div.style.getPropertyValue('image-rendering') is "-webkit-optimize-contrast"
</span><span class="cx"> PASS getComputedStyle(div).getPropertyValue('image-rendering') is "crisp-edges"
</span><span class="cx"> PASS div.style.getPropertyCSSValue('image-rendering').cssValueType is CSSValue.CSS_PRIMITIVE_VALUE
</span><del>-PASS div.style.getPropertyValue('image-rendering') is "optimizespeed"
-PASS getComputedStyle(div).getPropertyValue('image-rendering') is "optimizespeed"
</del><ins>+PASS div.style.getPropertyValue('image-rendering') is "optimizeSpeed"
+PASS getComputedStyle(div).getPropertyValue('image-rendering') is "optimizeSpeed"
</ins><span class="cx"> PASS div.style.getPropertyCSSValue('image-rendering').cssValueType is CSSValue.CSS_PRIMITIVE_VALUE
</span><del>-PASS div.style.getPropertyValue('image-rendering') is "optimizequality"
-PASS getComputedStyle(div).getPropertyValue('image-rendering') is "optimizequality"
</del><ins>+PASS div.style.getPropertyValue('image-rendering') is "optimizeQuality"
+PASS getComputedStyle(div).getPropertyValue('image-rendering') is "optimizeQuality"
</ins><span class="cx"> PASS successfullyParsed is true
</span><span class="cx">
</span><span class="cx"> TEST COMPLETE
</span></span></pre></div>
<a id="trunkLayoutTestsfastcssparsingtextrenderingexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/css/parsing-text-rendering-expected.txt (212130 => 212131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/parsing-text-rendering-expected.txt        2017-02-10 19:52:57 UTC (rev 212130)
+++ trunk/LayoutTests/fast/css/parsing-text-rendering-expected.txt        2017-02-10 20:26:30 UTC (rev 212131)
</span><span class="lines">@@ -4,9 +4,9 @@
</span><span class="cx">
</span><span class="cx">
</span><span class="cx"> PASS test("text-rendering: auto;") is "auto"
</span><del>-PASS test("text-rendering: optimizeSpeed;") is "optimizespeed"
-PASS test("text-rendering: optimizeLegibility;") is "optimizelegibility"
-PASS test("text-rendering: geometricPrecision;") is "geometricprecision"
</del><ins>+PASS test("text-rendering: optimizeSpeed;") is "optimizeSpeed"
+PASS test("text-rendering: optimizeLegibility;") is "optimizeLegibility"
+PASS test("text-rendering: geometricPrecision;") is "geometricPrecision"
</ins><span class="cx"> PASS test("text-rendering: auto auto;") is ""
</span><span class="cx"> PASS test("text-rendering: optimizeCoconuts;") is ""
</span><span class="cx"> PASS test("text-rendering: 15;") is ""
</span></span></pre></div>
<a id="trunkLayoutTestsfastcssresourcesparsingtextrenderingjs"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/css/resources/parsing-text-rendering.js (212130 => 212131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/resources/parsing-text-rendering.js        2017-02-10 19:52:57 UTC (rev 212130)
+++ trunk/LayoutTests/fast/css/resources/parsing-text-rendering.js        2017-02-10 20:26:30 UTC (rev 212131)
</span><span class="lines">@@ -12,9 +12,9 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> shouldBe('test("text-rendering: auto;")', '"auto"');
</span><del>-shouldBe('test("text-rendering: optimizeSpeed;")', '"optimizespeed"');
-shouldBe('test("text-rendering: optimizeLegibility;")', '"optimizelegibility"');
-shouldBe('test("text-rendering: geometricPrecision;")', '"geometricprecision"');
</del><ins>+shouldBe('test("text-rendering: optimizeSpeed;")', '"optimizeSpeed"');
+shouldBe('test("text-rendering: optimizeLegibility;")', '"optimizeLegibility"');
+shouldBe('test("text-rendering: geometricPrecision;")', '"geometricPrecision"');
</ins><span class="cx">
</span><span class="cx"> shouldBeEqualToString('test("text-rendering: auto auto;")', '');
</span><span class="cx"> shouldBeEqualToString('test("text-rendering: optimizeCoconuts;")', '');
</span></span></pre></div>
<a id="trunkLayoutTestsfastcssscripttestsimagerenderingparsingjs"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/css/script-tests/image-rendering-parsing.js (212130 => 212131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/script-tests/image-rendering-parsing.js        2017-02-10 19:52:57 UTC (rev 212130)
+++ trunk/LayoutTests/fast/css/script-tests/image-rendering-parsing.js        2017-02-10 20:26:30 UTC (rev 212131)
</span><span class="lines">@@ -18,7 +18,7 @@
</span><span class="cx"> testImageRendering('pixelated', 'pixelated');
</span><span class="cx"> testImageRendering('-webkit-crisp-edges', 'crisp-edges');
</span><span class="cx"> testImageRendering('-webkit-optimize-contrast', 'crisp-edges');
</span><del>-testImageRendering('optimizespeed', 'optimizespeed');
-testImageRendering('optimizequality', 'optimizequality');
</del><ins>+testImageRendering('optimizeSpeed', 'optimizeSpeed');
+testImageRendering('optimizeQuality', 'optimizeQuality');
</ins><span class="cx">
</span><span class="cx"> successfullyParsed = true;
</span></span></pre></div>
<a id="trunkLayoutTestssvgcssgetComputedStylebasicexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/svg/css/getComputedStyle-basic-expected.txt (212130 => 212131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/svg/css/getComputedStyle-basic-expected.txt        2017-02-10 19:52:57 UTC (rev 212130)
+++ trunk/LayoutTests/svg/css/getComputedStyle-basic-expected.txt        2017-02-10 20:26:30 UTC (rev 212131)
</span><span class="lines">@@ -496,9 +496,9 @@
</span><span class="cx"> rect: style.getPropertyCSSValue(stop-color) : [object CSSPrimitiveValue]
</span><span class="cx"> rect: style.getPropertyValue(stop-opacity) : 1
</span><span class="cx"> rect: style.getPropertyCSSValue(stop-opacity) : [object CSSPrimitiveValue]
</span><del>-rect: style.getPropertyValue(color-interpolation) : srgb
</del><ins>+rect: style.getPropertyValue(color-interpolation) : sRGB
</ins><span class="cx"> rect: style.getPropertyCSSValue(color-interpolation) : [object CSSPrimitiveValue]
</span><del>-rect: style.getPropertyValue(color-interpolation-filters) : linearrgb
</del><ins>+rect: style.getPropertyValue(color-interpolation-filters) : linearRGB
</ins><span class="cx"> rect: style.getPropertyCSSValue(color-interpolation-filters) : [object CSSPrimitiveValue]
</span><span class="cx"> rect: style.getPropertyValue(color-rendering) : auto
</span><span class="cx"> rect: style.getPropertyCSSValue(color-rendering) : [object CSSPrimitiveValue]
</span><span class="lines">@@ -1050,9 +1050,9 @@
</span><span class="cx"> g: style.getPropertyCSSValue(stop-color) : [object CSSPrimitiveValue]
</span><span class="cx"> g: style.getPropertyValue(stop-opacity) : 1
</span><span class="cx"> g: style.getPropertyCSSValue(stop-opacity) : [object CSSPrimitiveValue]
</span><del>-g: style.getPropertyValue(color-interpolation) : srgb
</del><ins>+g: style.getPropertyValue(color-interpolation) : sRGB
</ins><span class="cx"> g: style.getPropertyCSSValue(color-interpolation) : [object CSSPrimitiveValue]
</span><del>-g: style.getPropertyValue(color-interpolation-filters) : linearrgb
</del><ins>+g: style.getPropertyValue(color-interpolation-filters) : linearRGB
</ins><span class="cx"> g: style.getPropertyCSSValue(color-interpolation-filters) : [object CSSPrimitiveValue]
</span><span class="cx"> g: style.getPropertyValue(color-rendering) : auto
</span><span class="cx"> g: style.getPropertyCSSValue(color-rendering) : [object CSSPrimitiveValue]
</span></span></pre></div>
<a id="trunkLayoutTestssvgcssscripttestsshaperenderingparsingjs"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/svg/css/script-tests/shape-rendering-parsing.js (212130 => 212131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/svg/css/script-tests/shape-rendering-parsing.js        2017-02-10 19:52:57 UTC (rev 212130)
+++ trunk/LayoutTests/svg/css/script-tests/shape-rendering-parsing.js        2017-02-10 20:26:30 UTC (rev 212131)
</span><span class="lines">@@ -14,10 +14,10 @@
</span><span class="cx"> shouldBeEqualToString("document.defaultView.getComputedStyle(group, null).shapeRendering", "crispedges");
</span><span class="cx">
</span><span class="cx"> group.setAttribute("shape-rendering", "optimizeSpeed");
</span><del>-shouldBeEqualToString("document.defaultView.getComputedStyle(group, null).shapeRendering", "optimizespeed");
</del><ins>+shouldBeEqualToString("document.defaultView.getComputedStyle(group, null).shapeRendering", "optimizeSpeed");
</ins><span class="cx">
</span><span class="cx"> group.setAttribute("shape-rendering", "geometricPrecision");
</span><del>-shouldBeEqualToString("document.defaultView.getComputedStyle(group, null).shapeRendering", "geometricprecision");
</del><ins>+shouldBeEqualToString("document.defaultView.getComputedStyle(group, null).shapeRendering", "geometricPrecision");
</ins><span class="cx">
</span><span class="cx"> var successfullyParsed = true;
</span><span class="cx">
</span></span></pre></div>
<a id="trunkLayoutTestssvgcssshaperenderingparsingexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/svg/css/shape-rendering-parsing-expected.txt (212130 => 212131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/svg/css/shape-rendering-parsing-expected.txt        2017-02-10 19:52:57 UTC (rev 212130)
+++ trunk/LayoutTests/svg/css/shape-rendering-parsing-expected.txt        2017-02-10 20:26:30 UTC (rev 212131)
</span><span class="lines">@@ -6,8 +6,8 @@
</span><span class="cx"> PASS document.defaultView.getComputedStyle(group, null).shapeRendering is "auto"
</span><span class="cx"> PASS document.defaultView.getComputedStyle(group, null).shapeRendering is "crispedges"
</span><span class="cx"> PASS document.defaultView.getComputedStyle(group, null).shapeRendering is "crispedges"
</span><del>-PASS document.defaultView.getComputedStyle(group, null).shapeRendering is "optimizespeed"
-PASS document.defaultView.getComputedStyle(group, null).shapeRendering is "geometricprecision"
</del><ins>+PASS document.defaultView.getComputedStyle(group, null).shapeRendering is "optimizeSpeed"
+PASS document.defaultView.getComputedStyle(group, null).shapeRendering is "geometricPrecision"
</ins><span class="cx"> PASS successfullyParsed is true
</span><span class="cx">
</span><span class="cx"> TEST COMPLETE
</span></span></pre></div>
<a id="trunkLayoutTeststransforms2dtransformvaluetypesexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/transforms/2d/transform-value-types-expected.txt (212130 => 212131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/transforms/2d/transform-value-types-expected.txt        2017-02-10 19:52:57 UTC (rev 212130)
+++ trunk/LayoutTests/transforms/2d/transform-value-types-expected.txt        2017-02-10 20:26:30 UTC (rev 212131)
</span><span class="lines">@@ -5,18 +5,18 @@
</span><span class="cx"> PASS jsWrapperClass(transformRule[0].__proto__) is 'CSSValuePrototype'
</span><span class="cx"> PASS jsWrapperClass(transformRule[0].constructor) is 'Function'
</span><span class="cx"> PASS transformRule[0].cssText is 'translate(10px)'
</span><del>-PASS transformRule[1].cssText is 'translatex(10px)'
-PASS transformRule[2].cssText is 'translatey(10px)'
</del><ins>+PASS transformRule[1].cssText is 'translateX(10px)'
+PASS transformRule[2].cssText is 'translateY(10px)'
</ins><span class="cx"> PASS transformRule[3].cssText is 'rotate(10deg)'
</span><span class="cx"> PASS transformRule[4].cssText is 'rotate(11rad)'
</span><span class="cx"> PASS transformRule[5].cssText is 'rotate(12grad)'
</span><span class="cx"> PASS transformRule[6].cssText is 'rotate(13turn)'
</span><span class="cx"> PASS transformRule[7].cssText is 'scale(2)'
</span><del>-PASS transformRule[8].cssText is 'scalex(1.2)'
-PASS transformRule[9].cssText is 'scaley(1.2)'
</del><ins>+PASS transformRule[8].cssText is 'scaleX(1.2)'
+PASS transformRule[9].cssText is 'scaleY(1.2)'
</ins><span class="cx"> PASS transformRule[10].cssText is 'skew(10deg, 10rad)'
</span><del>-PASS transformRule[11].cssText is 'skewx(10deg)'
-PASS transformRule[12].cssText is 'skewy(11grad)'
</del><ins>+PASS transformRule[11].cssText is 'skewX(10deg)'
+PASS transformRule[12].cssText is 'skewY(11grad)'
</ins><span class="cx"> PASS transformRule[13].cssText is 'matrix(1, 0, 0, 1, 0, 0)'
</span><span class="cx"> PASS successfullyParsed is true
</span><span class="cx">
</span></span></pre></div>
<a id="trunkLayoutTeststransforms2dtransformvaluetypeshtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/transforms/2d/transform-value-types.html (212130 => 212131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/transforms/2d/transform-value-types.html        2017-02-10 19:52:57 UTC (rev 212130)
+++ trunk/LayoutTests/transforms/2d/transform-value-types.html        2017-02-10 20:26:30 UTC (rev 212131)
</span><span class="lines">@@ -55,9 +55,9 @@
</span><span class="cx">
</span><span class="cx"> shouldBe("transformRule[0].cssText", "'translate(10px)'");
</span><span class="cx">
</span><del>- shouldBe("transformRule[1].cssText", "'translatex(10px)'");
</del><ins>+ shouldBe("transformRule[1].cssText", "'translateX(10px)'");
</ins><span class="cx">
</span><del>- shouldBe("transformRule[2].cssText", "'translatey(10px)'");
</del><ins>+ shouldBe("transformRule[2].cssText", "'translateY(10px)'");
</ins><span class="cx">
</span><span class="cx"> shouldBe("transformRule[3].cssText", "'rotate(10deg)'");
</span><span class="cx">
</span><span class="lines">@@ -69,15 +69,15 @@
</span><span class="cx">
</span><span class="cx"> shouldBe("transformRule[7].cssText", "'scale(2)'");
</span><span class="cx">
</span><del>- shouldBe("transformRule[8].cssText", "'scalex(1.2)'");
</del><ins>+ shouldBe("transformRule[8].cssText", "'scaleX(1.2)'");
</ins><span class="cx">
</span><del>- shouldBe("transformRule[9].cssText", "'scaley(1.2)'");
</del><ins>+ shouldBe("transformRule[9].cssText", "'scaleY(1.2)'");
</ins><span class="cx">
</span><span class="cx"> shouldBe("transformRule[10].cssText", "'skew(10deg, 10rad)'");
</span><span class="cx">
</span><del>- shouldBe("transformRule[11].cssText", "'skewx(10deg)'");
</del><ins>+ shouldBe("transformRule[11].cssText", "'skewX(10deg)'");
</ins><span class="cx">
</span><del>- shouldBe("transformRule[12].cssText", "'skewy(11grad)'");
</del><ins>+ shouldBe("transformRule[12].cssText", "'skewY(11grad)'");
</ins><span class="cx">
</span><span class="cx"> shouldBe("transformRule[13].cssText", "'matrix(1, 0, 0, 1, 0, 0)'");
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (212130 => 212131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2017-02-10 19:52:57 UTC (rev 212130)
+++ trunk/Source/WebCore/ChangeLog        2017-02-10 20:26:30 UTC (rev 212131)
</span><span class="lines">@@ -1,3 +1,37 @@
</span><ins>+2017-02-10 Dave Hyatt <hyatt@apple.com>
+
+ [CSS Parser] Make intercap property values serialize correctly
+ https://bugs.webkit.org/show_bug.cgi?id=168073
+
+ Reviewed by Zalan Bujtas.
+
+ Fix CSS value keywords to preserve case when the value contains capital
+ letters. Examples include optimizeSpeed, translateX, scaleY, etc.
+
+ * css/CSSPrimitiveValueMappings.h:
+ (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
+ (WebCore::CSSPrimitiveValue::operator EPointerEvents):
+ (WebCore::CSSPrimitiveValue::operator TextRenderingMode):
+ (WebCore::CSSPrimitiveValue::operator EImageRendering):
+ (WebCore::CSSPrimitiveValue::operator EColorInterpolation):
+ (WebCore::CSSPrimitiveValue::operator EColorRendering):
+ (WebCore::CSSPrimitiveValue::operator EShapeRendering):
+ * css/MediaQueryEvaluator.cpp:
+ (WebCore::colorGamutEvaluate):
+ * css/SVGCSSValueKeywords.in:
+ * css/TransformFunctions.cpp:
+ (WebCore::transformOperationType):
+ (WebCore::transformsForValue):
+ * css/makevalues.pl:
+ * css/parser/CSSParserFastPaths.cpp:
+ (WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):
+ (WebCore::parseTransformTranslateArguments):
+ (WebCore::parseSimpleTransformValue):
+ * css/parser/CSSPropertyParser.cpp:
+ (WebCore::consumeTransformValue):
+ * css/parser/CSSPropertyParserHelpers.cpp:
+ (WebCore::CSSPropertyParserHelpers::parseColorFunctionParameters):
+
</ins><span class="cx"> 2017-02-10 Zan Dobersek <zdobersek@igalia.com>
</span><span class="cx">
</span><span class="cx"> [EME] Implement MediaKeySession::load()
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSPrimitiveValueMappingsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSPrimitiveValueMappings.h (212130 => 212131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSPrimitiveValueMappings.h        2017-02-10 19:52:57 UTC (rev 212130)
+++ trunk/Source/WebCore/css/CSSPrimitiveValueMappings.h        2017-02-10 20:26:30 UTC (rev 212131)
</span><span class="lines">@@ -3504,13 +3504,13 @@
</span><span class="cx"> m_value.valueID = CSSValueVisible;
</span><span class="cx"> break;
</span><span class="cx"> case PE_VISIBLE_STROKE:
</span><del>- m_value.valueID = CSSValueVisiblestroke;
</del><ins>+ m_value.valueID = CSSValueVisibleStroke;
</ins><span class="cx"> break;
</span><span class="cx"> case PE_VISIBLE_FILL:
</span><del>- m_value.valueID = CSSValueVisiblefill;
</del><ins>+ m_value.valueID = CSSValueVisibleFill;
</ins><span class="cx"> break;
</span><span class="cx"> case PE_VISIBLE_PAINTED:
</span><del>- m_value.valueID = CSSValueVisiblepainted;
</del><ins>+ m_value.valueID = CSSValueVisiblePainted;
</ins><span class="cx"> break;
</span><span class="cx"> case PE_AUTO:
</span><span class="cx"> m_value.valueID = CSSValueAuto;
</span><span class="lines">@@ -3532,11 +3532,11 @@
</span><span class="cx"> return PE_AUTO;
</span><span class="cx"> case CSSValueNone:
</span><span class="cx"> return PE_NONE;
</span><del>- case CSSValueVisiblepainted:
</del><ins>+ case CSSValueVisiblePainted:
</ins><span class="cx"> return PE_VISIBLE_PAINTED;
</span><del>- case CSSValueVisiblefill:
</del><ins>+ case CSSValueVisibleFill:
</ins><span class="cx"> return PE_VISIBLE_FILL;
</span><del>- case CSSValueVisiblestroke:
</del><ins>+ case CSSValueVisibleStroke:
</ins><span class="cx"> return PE_VISIBLE_STROKE;
</span><span class="cx"> case CSSValueVisible:
</span><span class="cx"> return PE_VISIBLE;
</span><span class="lines">@@ -3831,13 +3831,13 @@
</span><span class="cx"> m_value.valueID = CSSValueAuto;
</span><span class="cx"> break;
</span><span class="cx"> case OptimizeSpeed:
</span><del>- m_value.valueID = CSSValueOptimizespeed;
</del><ins>+ m_value.valueID = CSSValueOptimizeSpeed;
</ins><span class="cx"> break;
</span><span class="cx"> case OptimizeLegibility:
</span><del>- m_value.valueID = CSSValueOptimizelegibility;
</del><ins>+ m_value.valueID = CSSValueOptimizeLegibility;
</ins><span class="cx"> break;
</span><span class="cx"> case GeometricPrecision:
</span><del>- m_value.valueID = CSSValueGeometricprecision;
</del><ins>+ m_value.valueID = CSSValueGeometricPrecision;
</ins><span class="cx"> break;
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="lines">@@ -3849,11 +3849,11 @@
</span><span class="cx"> switch (m_value.valueID) {
</span><span class="cx"> case CSSValueAuto:
</span><span class="cx"> return AutoTextRendering;
</span><del>- case CSSValueOptimizespeed:
</del><ins>+ case CSSValueOptimizeSpeed:
</ins><span class="cx"> return OptimizeSpeed;
</span><del>- case CSSValueOptimizelegibility:
</del><ins>+ case CSSValueOptimizeLegibility:
</ins><span class="cx"> return OptimizeLegibility;
</span><del>- case CSSValueGeometricprecision:
</del><ins>+ case CSSValueGeometricPrecision:
</ins><span class="cx"> return GeometricPrecision;
</span><span class="cx"> default:
</span><span class="cx"> break;
</span><span class="lines">@@ -4453,10 +4453,10 @@
</span><span class="cx"> m_value.valueID = CSSValuePixelated;
</span><span class="cx"> break;
</span><span class="cx"> case ImageRenderingOptimizeSpeed:
</span><del>- m_value.valueID = CSSValueOptimizespeed;
</del><ins>+ m_value.valueID = CSSValueOptimizeSpeed;
</ins><span class="cx"> break;
</span><span class="cx"> case ImageRenderingOptimizeQuality:
</span><del>- m_value.valueID = CSSValueOptimizequality;
</del><ins>+ m_value.valueID = CSSValueOptimizeQuality;
</ins><span class="cx"> break;
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="lines">@@ -4474,9 +4474,9 @@
</span><span class="cx"> return ImageRenderingCrispEdges;
</span><span class="cx"> case CSSValuePixelated:
</span><span class="cx"> return ImageRenderingPixelated;
</span><del>- case CSSValueOptimizespeed:
</del><ins>+ case CSSValueOptimizeSpeed:
</ins><span class="cx"> return ImageRenderingOptimizeSpeed;
</span><del>- case CSSValueOptimizequality:
</del><ins>+ case CSSValueOptimizeQuality:
</ins><span class="cx"> return ImageRenderingOptimizeQuality;
</span><span class="cx"> default:
</span><span class="cx"> break;
</span><span class="lines">@@ -4669,10 +4669,10 @@
</span><span class="cx"> m_value.valueID = CSSValueAuto;
</span><span class="cx"> break;
</span><span class="cx"> case CI_SRGB:
</span><del>- m_value.valueID = CSSValueSrgb;
</del><ins>+ m_value.valueID = CSSValueSRGB;
</ins><span class="cx"> break;
</span><span class="cx"> case CI_LINEARRGB:
</span><del>- m_value.valueID = CSSValueLinearrgb;
</del><ins>+ m_value.valueID = CSSValueLinearRGB;
</ins><span class="cx"> break;
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="lines">@@ -4682,9 +4682,9 @@
</span><span class="cx"> ASSERT(isValueID());
</span><span class="cx">
</span><span class="cx"> switch (m_value.valueID) {
</span><del>- case CSSValueSrgb:
</del><ins>+ case CSSValueSRGB:
</ins><span class="cx"> return CI_SRGB;
</span><del>- case CSSValueLinearrgb:
</del><ins>+ case CSSValueLinearRGB:
</ins><span class="cx"> return CI_LINEARRGB;
</span><span class="cx"> case CSSValueAuto:
</span><span class="cx"> return CI_AUTO;
</span><span class="lines">@@ -4705,10 +4705,10 @@
</span><span class="cx"> m_value.valueID = CSSValueAuto;
</span><span class="cx"> break;
</span><span class="cx"> case CR_OPTIMIZESPEED:
</span><del>- m_value.valueID = CSSValueOptimizespeed;
</del><ins>+ m_value.valueID = CSSValueOptimizeSpeed;
</ins><span class="cx"> break;
</span><span class="cx"> case CR_OPTIMIZEQUALITY:
</span><del>- m_value.valueID = CSSValueOptimizequality;
</del><ins>+ m_value.valueID = CSSValueOptimizeQuality;
</ins><span class="cx"> break;
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="lines">@@ -4718,9 +4718,9 @@
</span><span class="cx"> ASSERT(isValueID());
</span><span class="cx">
</span><span class="cx"> switch (m_value.valueID) {
</span><del>- case CSSValueOptimizespeed:
</del><ins>+ case CSSValueOptimizeSpeed:
</ins><span class="cx"> return CR_OPTIMIZESPEED;
</span><del>- case CSSValueOptimizequality:
</del><ins>+ case CSSValueOptimizeQuality:
</ins><span class="cx"> return CR_OPTIMIZEQUALITY;
</span><span class="cx"> case CSSValueAuto:
</span><span class="cx"> return CR_AUTO;
</span><span class="lines">@@ -4822,13 +4822,13 @@
</span><span class="cx"> m_value.valueID = CSSValueAuto;
</span><span class="cx"> break;
</span><span class="cx"> case SR_OPTIMIZESPEED:
</span><del>- m_value.valueID = CSSValueOptimizespeed;
</del><ins>+ m_value.valueID = CSSValueOptimizeSpeed;
</ins><span class="cx"> break;
</span><span class="cx"> case SR_CRISPEDGES:
</span><span class="cx"> m_value.valueID = CSSValueCrispedges;
</span><span class="cx"> break;
</span><span class="cx"> case SR_GEOMETRICPRECISION:
</span><del>- m_value.valueID = CSSValueGeometricprecision;
</del><ins>+ m_value.valueID = CSSValueGeometricPrecision;
</ins><span class="cx"> break;
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="lines">@@ -4840,11 +4840,11 @@
</span><span class="cx"> switch (m_value.valueID) {
</span><span class="cx"> case CSSValueAuto:
</span><span class="cx"> return SR_AUTO;
</span><del>- case CSSValueOptimizespeed:
</del><ins>+ case CSSValueOptimizeSpeed:
</ins><span class="cx"> return SR_OPTIMIZESPEED;
</span><span class="cx"> case CSSValueCrispedges:
</span><span class="cx"> return SR_CRISPEDGES;
</span><del>- case CSSValueGeometricprecision:
</del><ins>+ case CSSValueGeometricPrecision:
</ins><span class="cx"> return SR_GEOMETRICPRECISION;
</span><span class="cx"> default:
</span><span class="cx"> break;
</span></span></pre></div>
<a id="trunkSourceWebCorecssMediaQueryEvaluatorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/MediaQueryEvaluator.cpp (212130 => 212131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/MediaQueryEvaluator.cpp        2017-02-10 19:52:57 UTC (rev 212130)
+++ trunk/Source/WebCore/css/MediaQueryEvaluator.cpp        2017-02-10 20:26:30 UTC (rev 212131)
</span><span class="lines">@@ -256,7 +256,7 @@
</span><span class="cx"> return true;
</span><span class="cx">
</span><span class="cx"> switch (downcast<CSSPrimitiveValue>(*value).valueID()) {
</span><del>- case CSSValueSrgb:
</del><ins>+ case CSSValueSRGB:
</ins><span class="cx"> return true;
</span><span class="cx"> case CSSValueP3:
</span><span class="cx"> // FIXME: For the moment we just assume any "extended color" display is at least as good as P3.
</span></span></pre></div>
<a id="trunkSourceWebCorecssSVGCSSValueKeywordsin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/SVGCSSValueKeywords.in (212130 => 212131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/SVGCSSValueKeywords.in        2017-02-10 19:52:57 UTC (rev 212130)
+++ trunk/Source/WebCore/css/SVGCSSValueKeywords.in        2017-02-10 20:26:30 UTC (rev 212131)
</span><span class="lines">@@ -212,7 +212,7 @@
</span><span class="cx"> // CSS_PROP_SHAPE_RENDERING
</span><span class="cx"> //auto
</span><span class="cx"> //optimizeSpeed
</span><del>-crispEdges
</del><ins>+crispedges
</ins><span class="cx"> //geometricPrecision
</span><span class="cx">
</span><span class="cx"> // CSS_PROP_STROKE
</span></span></pre></div>
<a id="trunkSourceWebCorecssTransformFunctionscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/TransformFunctions.cpp (212130 => 212131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/TransformFunctions.cpp        2017-02-10 19:52:57 UTC (rev 212130)
+++ trunk/Source/WebCore/css/TransformFunctions.cpp        2017-02-10 20:26:30 UTC (rev 212131)
</span><span class="lines">@@ -51,39 +51,39 @@
</span><span class="cx"> switch (type) {
</span><span class="cx"> case CSSValueScale:
</span><span class="cx"> return TransformOperation::SCALE;
</span><del>- case CSSValueScalex:
</del><ins>+ case CSSValueScaleX:
</ins><span class="cx"> return TransformOperation::SCALE_X;
</span><del>- case CSSValueScaley:
</del><ins>+ case CSSValueScaleY:
</ins><span class="cx"> return TransformOperation::SCALE_Y;
</span><del>- case CSSValueScalez:
</del><ins>+ case CSSValueScaleZ:
</ins><span class="cx"> return TransformOperation::SCALE_Z;
</span><span class="cx"> case CSSValueScale3d:
</span><span class="cx"> return TransformOperation::SCALE_3D;
</span><span class="cx"> case CSSValueTranslate:
</span><span class="cx"> return TransformOperation::TRANSLATE;
</span><del>- case CSSValueTranslatex:
</del><ins>+ case CSSValueTranslateX:
</ins><span class="cx"> return TransformOperation::TRANSLATE_X;
</span><del>- case CSSValueTranslatey:
</del><ins>+ case CSSValueTranslateY:
</ins><span class="cx"> return TransformOperation::TRANSLATE_Y;
</span><del>- case CSSValueTranslatez:
</del><ins>+ case CSSValueTranslateZ:
</ins><span class="cx"> return TransformOperation::TRANSLATE_Z;
</span><span class="cx"> case CSSValueTranslate3d:
</span><span class="cx"> return TransformOperation::TRANSLATE_3D;
</span><span class="cx"> case CSSValueRotate:
</span><span class="cx"> return TransformOperation::ROTATE;
</span><del>- case CSSValueRotatex:
</del><ins>+ case CSSValueRotateX:
</ins><span class="cx"> return TransformOperation::ROTATE_X;
</span><del>- case CSSValueRotatey:
</del><ins>+ case CSSValueRotateY:
</ins><span class="cx"> return TransformOperation::ROTATE_Y;
</span><del>- case CSSValueRotatez:
</del><ins>+ case CSSValueRotateZ:
</ins><span class="cx"> return TransformOperation::ROTATE_Z;
</span><span class="cx"> case CSSValueRotate3d:
</span><span class="cx"> return TransformOperation::ROTATE_3D;
</span><span class="cx"> case CSSValueSkew:
</span><span class="cx"> return TransformOperation::SKEW;
</span><del>- case CSSValueSkewx:
</del><ins>+ case CSSValueSkewX:
</ins><span class="cx"> return TransformOperation::SKEW_X;
</span><del>- case CSSValueSkewy:
</del><ins>+ case CSSValueSkewY:
</ins><span class="cx"> return TransformOperation::SKEW_Y;
</span><span class="cx"> case CSSValueMatrix:
</span><span class="cx"> return TransformOperation::MATRIX;
</span><span class="lines">@@ -132,15 +132,15 @@
</span><span class="cx">
</span><span class="cx"> switch (transformValue.name()) {
</span><span class="cx"> case CSSValueScale:
</span><del>- case CSSValueScalex:
- case CSSValueScaley: {
</del><ins>+ case CSSValueScaleX:
+ case CSSValueScaleY: {
</ins><span class="cx"> double sx = 1.0;
</span><span class="cx"> double sy = 1.0;
</span><del>- if (transformValue.name() == CSSValueScaley)
</del><ins>+ if (transformValue.name() == CSSValueScaleY)
</ins><span class="cx"> sy = firstValue.doubleValue();
</span><span class="cx"> else {
</span><span class="cx"> sx = firstValue.doubleValue();
</span><del>- if (transformValue.name() != CSSValueScalex) {
</del><ins>+ if (transformValue.name() != CSSValueScaleX) {
</ins><span class="cx"> if (transformValue.length() > 1) {
</span><span class="cx"> auto& secondValue = downcast<CSSPrimitiveValue>(*transformValue.itemWithoutBoundsCheck(1));
</span><span class="cx"> sy = secondValue.doubleValue();
</span><span class="lines">@@ -151,18 +151,18 @@
</span><span class="cx"> operations.operations().append(ScaleTransformOperation::create(sx, sy, 1.0, transformOperationType(transformValue.name())));
</span><span class="cx"> break;
</span><span class="cx"> }
</span><del>- case CSSValueScalez:
</del><ins>+ case CSSValueScaleZ:
</ins><span class="cx"> case CSSValueScale3d: {
</span><span class="cx"> double sx = 1.0;
</span><span class="cx"> double sy = 1.0;
</span><span class="cx"> double sz = 1.0;
</span><del>- if (transformValue.name() == CSSValueScalez)
</del><ins>+ if (transformValue.name() == CSSValueScaleZ)
</ins><span class="cx"> sz = firstValue.doubleValue();
</span><del>- else if (transformValue.name() == CSSValueScaley)
</del><ins>+ else if (transformValue.name() == CSSValueScaleY)
</ins><span class="cx"> sy = firstValue.doubleValue();
</span><span class="cx"> else {
</span><span class="cx"> sx = firstValue.doubleValue();
</span><del>- if (transformValue.name() != CSSValueScalex) {
</del><ins>+ if (transformValue.name() != CSSValueScaleX) {
</ins><span class="cx"> if (transformValue.length() > 2) {
</span><span class="cx"> auto& thirdValue = downcast<CSSPrimitiveValue>(*transformValue.itemWithoutBoundsCheck(2));
</span><span class="cx"> sz = thirdValue.doubleValue();
</span><span class="lines">@@ -178,15 +178,15 @@
</span><span class="cx"> break;
</span><span class="cx"> }
</span><span class="cx"> case CSSValueTranslate:
</span><del>- case CSSValueTranslatex:
- case CSSValueTranslatey: {
</del><ins>+ case CSSValueTranslateX:
+ case CSSValueTranslateY: {
</ins><span class="cx"> Length tx = Length(0, Fixed);
</span><span class="cx"> Length ty = Length(0, Fixed);
</span><del>- if (transformValue.name() == CSSValueTranslatey)
</del><ins>+ if (transformValue.name() == CSSValueTranslateY)
</ins><span class="cx"> ty = convertToFloatLength(&firstValue, conversionData);
</span><span class="cx"> else {
</span><span class="cx"> tx = convertToFloatLength(&firstValue, conversionData);
</span><del>- if (transformValue.name() != CSSValueTranslatex) {
</del><ins>+ if (transformValue.name() != CSSValueTranslateX) {
</ins><span class="cx"> if (transformValue.length() > 1) {
</span><span class="cx"> auto& secondValue = downcast<CSSPrimitiveValue>(*transformValue.itemWithoutBoundsCheck(1));
</span><span class="cx"> ty = convertToFloatLength(&secondValue, conversionData);
</span><span class="lines">@@ -200,18 +200,18 @@
</span><span class="cx"> operations.operations().append(TranslateTransformOperation::create(tx, ty, Length(0, Fixed), transformOperationType(transformValue.name())));
</span><span class="cx"> break;
</span><span class="cx"> }
</span><del>- case CSSValueTranslatez:
</del><ins>+ case CSSValueTranslateZ:
</ins><span class="cx"> case CSSValueTranslate3d: {
</span><span class="cx"> Length tx = Length(0, Fixed);
</span><span class="cx"> Length ty = Length(0, Fixed);
</span><span class="cx"> Length tz = Length(0, Fixed);
</span><del>- if (transformValue.name() == CSSValueTranslatez)
</del><ins>+ if (transformValue.name() == CSSValueTranslateZ)
</ins><span class="cx"> tz = convertToFloatLength(&firstValue, conversionData);
</span><del>- else if (transformValue.name() == CSSValueTranslatey)
</del><ins>+ else if (transformValue.name() == CSSValueTranslateY)
</ins><span class="cx"> ty = convertToFloatLength(&firstValue, conversionData);
</span><span class="cx"> else {
</span><span class="cx"> tx = convertToFloatLength(&firstValue, conversionData);
</span><del>- if (transformValue.name() != CSSValueTranslatex) {
</del><ins>+ if (transformValue.name() != CSSValueTranslateX) {
</ins><span class="cx"> if (transformValue.length() > 2) {
</span><span class="cx"> auto& thirdValue = downcast<CSSPrimitiveValue>(*transformValue.itemWithoutBoundsCheck(2));
</span><span class="cx"> tz = convertToFloatLength(&thirdValue, conversionData);
</span><span class="lines">@@ -234,17 +234,17 @@
</span><span class="cx"> operations.operations().append(RotateTransformOperation::create(0, 0, 1, angle, transformOperationType(transformValue.name())));
</span><span class="cx"> break;
</span><span class="cx"> }
</span><del>- case CSSValueRotatex:
- case CSSValueRotatey:
- case CSSValueRotatez: {
</del><ins>+ case CSSValueRotateX:
+ case CSSValueRotateY:
+ case CSSValueRotateZ: {
</ins><span class="cx"> double x = 0;
</span><span class="cx"> double y = 0;
</span><span class="cx"> double z = 0;
</span><span class="cx"> double angle = firstValue.computeDegrees();
</span><span class="cx">
</span><del>- if (transformValue.name() == CSSValueRotatex)
</del><ins>+ if (transformValue.name() == CSSValueRotateX)
</ins><span class="cx"> x = 1;
</span><del>- else if (transformValue.name() == CSSValueRotatey)
</del><ins>+ else if (transformValue.name() == CSSValueRotateY)
</ins><span class="cx"> y = 1;
</span><span class="cx"> else
</span><span class="cx"> z = 1;
</span><span class="lines">@@ -265,12 +265,12 @@
</span><span class="cx"> break;
</span><span class="cx"> }
</span><span class="cx"> case CSSValueSkew:
</span><del>- case CSSValueSkewx:
- case CSSValueSkewy: {
</del><ins>+ case CSSValueSkewX:
+ case CSSValueSkewY: {
</ins><span class="cx"> double angleX = 0;
</span><span class="cx"> double angleY = 0;
</span><span class="cx"> double angle = firstValue.computeDegrees();
</span><del>- if (transformValue.name() == CSSValueSkewy)
</del><ins>+ if (transformValue.name() == CSSValueSkewY)
</ins><span class="cx"> angleY = angle;
</span><span class="cx"> else {
</span><span class="cx"> angleX = angle;
</span></span></pre></div>
<a id="trunkSourceWebCorecssmakevaluespl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/makevalues.pl (212130 => 212131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/makevalues.pl        2017-02-10 19:52:57 UTC (rev 212130)
+++ trunk/Source/WebCore/css/makevalues.pl        2017-02-10 20:26:30 UTC (rev 212131)
</span><span class="lines">@@ -40,6 +40,8 @@
</span><span class="cx"> my @duplicates = ();
</span><span class="cx">
</span><span class="cx"> my @names = ();
</span><ins>+my @lower_names = ();
+
</ins><span class="cx"> foreach (@NAMES) {
</span><span class="cx"> next if (m/(^\s*$)/);
</span><span class="cx"> next if (/^#/);
</span><span class="lines">@@ -47,7 +49,6 @@
</span><span class="cx"> # Input may use a different EOL sequence than $/, so avoid chomp.
</span><span class="cx"> $_ =~ s/[\r\n]+$//g;
</span><span class="cx"> # CSS values need to be lower case.
</span><del>- $_ = lc $_;
</del><span class="cx"> if (exists $namesHash{$_}) {
</span><span class="cx"> push @duplicates, $_;
</span><span class="cx"> } else {
</span><span class="lines">@@ -54,6 +55,7 @@
</span><span class="cx"> $namesHash{$_} = 1;
</span><span class="cx"> }
</span><span class="cx"> push @names, $_;
</span><ins>+ push @lower_names, lc $_;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> if (@duplicates > 0) {
</span><span class="lines">@@ -92,10 +94,10 @@
</span><span class="cx"> %%
</span><span class="cx"> EOF
</span><span class="cx">
</span><del>-foreach my $name (@names) {
- my $id = $name;
</del><ins>+for my $i (0 .. $#names) {
+ my $id = $names[$i];
</ins><span class="cx"> $id =~ s/(^[^-])|-(.)/uc($1||$2)/ge;
</span><del>- print GPERF $name . ", CSSValue" . $id . "\n";
</del><ins>+ print GPERF $lower_names[$i] . ", CSSValue" . $id . "\n";
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> print GPERF << "EOF";
</span></span></pre></div>
<a id="trunkSourceWebCorecssparserCSSParserFastPathscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/parser/CSSParserFastPaths.cpp (212130 => 212131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/parser/CSSParserFastPaths.cpp        2017-02-10 19:52:57 UTC (rev 212130)
+++ trunk/Source/WebCore/css/parser/CSSParserFastPaths.cpp        2017-02-10 20:26:30 UTC (rev 212131)
</span><span class="lines">@@ -537,9 +537,9 @@
</span><span class="cx"> return valueID == CSSValueNonzero || valueID == CSSValueEvenodd;
</span><span class="cx"> case CSSPropertyColorInterpolation:
</span><span class="cx"> case CSSPropertyColorInterpolationFilters:
</span><del>- return valueID == CSSValueAuto || valueID == CSSValueSrgb || valueID == CSSValueLinearrgb;
</del><ins>+ return valueID == CSSValueAuto || valueID == CSSValueSRGB || valueID == CSSValueLinearRGB;
</ins><span class="cx"> case CSSPropertyColorRendering:
</span><del>- return valueID == CSSValueAuto || valueID == CSSValueOptimizespeed || valueID == CSSValueOptimizequality;
</del><ins>+ return valueID == CSSValueAuto || valueID == CSSValueOptimizeSpeed || valueID == CSSValueOptimizeQuality;
</ins><span class="cx"> case CSSPropertyDirection: // ltr | rtl
</span><span class="cx"> return valueID == CSSValueLtr || valueID == CSSValueRtl;
</span><span class="cx"> case CSSPropertyDisplay:
</span><span class="lines">@@ -568,7 +568,7 @@
</span><span class="cx"> case CSSPropertyFontStretch: // normal | ultra-condensed | extra-condensed | condensed | semi-condensed | semi-expanded | expanded | extra-expanded | ultra-expanded
</span><span class="cx"> return valueID == CSSValueNormal || (valueID >= CSSValueUltraCondensed && valueID <= CSSValueUltraExpanded);
</span><span class="cx"> case CSSPropertyImageRendering: // auto | optimizeContrast | pixelated | optimizeSpeed | crispEdges | optimizeQuality | webkit-crispEdges
</span><del>- return valueID == CSSValueAuto || valueID == CSSValueOptimizespeed || valueID == CSSValueOptimizequality || valueID == CSSValueWebkitCrispEdges || valueID == CSSValueWebkitOptimizeContrast || valueID == CSSValueCrispEdges || valueID == CSSValuePixelated;
</del><ins>+ return valueID == CSSValueAuto || valueID == CSSValueOptimizeSpeed || valueID == CSSValueOptimizeQuality || valueID == CSSValueWebkitCrispEdges || valueID == CSSValueWebkitOptimizeContrast || valueID == CSSValueCrispEdges || valueID == CSSValuePixelated;
</ins><span class="cx"> #if ENABLE(CSS_COMPOSITING)
</span><span class="cx"> case CSSPropertyIsolation: // auto | isolate
</span><span class="cx"> return valueID == CSSValueAuto || valueID == CSSValueIsolate;
</span><span class="lines">@@ -611,7 +611,7 @@
</span><span class="cx"> case CSSPropertyPointerEvents:
</span><span class="cx"> // none | visiblePainted | visibleFill | visibleStroke | visible |
</span><span class="cx"> // painted | fill | stroke | auto | all | bounding-box
</span><del>- return valueID == CSSValueVisible || valueID == CSSValueNone || valueID == CSSValueAll || valueID == CSSValueAuto || (valueID >= CSSValueVisiblepainted && valueID <= CSSValueStroke);
</del><ins>+ return valueID == CSSValueVisible || valueID == CSSValueNone || valueID == CSSValueAll || valueID == CSSValueAuto || (valueID >= CSSValueVisiblePainted && valueID <= CSSValueStroke);
</ins><span class="cx"> case CSSPropertyPosition: // static | relative | absolute | fixed | sticky
</span><span class="cx"> return valueID == CSSValueStatic || valueID == CSSValueRelative || valueID == CSSValueAbsolute || valueID == CSSValueFixed || valueID == CSSValueWebkitSticky;
</span><span class="cx"> case CSSPropertyResize: // none | both | horizontal | vertical | auto
</span><span class="lines">@@ -621,7 +621,7 @@
</span><span class="cx"> // ASSERT(RuntimeEnabledFeatures::cssomSmoothScrollEnabled());
</span><span class="cx"> // return valueID == CSSValueAuto || valueID == CSSValueSmooth;
</span><span class="cx"> case CSSPropertyShapeRendering:
</span><del>- return valueID == CSSValueAuto || valueID == CSSValueOptimizespeed || valueID == CSSValueCrispedges || valueID == CSSValueGeometricprecision;
</del><ins>+ return valueID == CSSValueAuto || valueID == CSSValueOptimizeSpeed || valueID == CSSValueCrispedges || valueID == CSSValueGeometricPrecision;
</ins><span class="cx"> case CSSPropertySpeak: // none | normal | spell-out | digits | literal-punctuation | no-punctuation
</span><span class="cx"> return valueID == CSSValueNone || valueID == CSSValueNormal || valueID == CSSValueSpellOut || valueID == CSSValueDigits || valueID == CSSValueLiteralPunctuation || valueID == CSSValueNoPunctuation;
</span><span class="cx"> case CSSPropertyStrokeLinejoin:
</span><span class="lines">@@ -655,7 +655,7 @@
</span><span class="cx"> case CSSPropertyTextOverflow: // clip | ellipsis
</span><span class="cx"> return valueID == CSSValueClip || valueID == CSSValueEllipsis;
</span><span class="cx"> case CSSPropertyTextRendering: // auto | optimizeSpeed | optimizeLegibility | geometricPrecision
</span><del>- return valueID == CSSValueAuto || valueID == CSSValueOptimizespeed || valueID == CSSValueOptimizelegibility || valueID == CSSValueGeometricprecision;
</del><ins>+ return valueID == CSSValueAuto || valueID == CSSValueOptimizeSpeed || valueID == CSSValueOptimizeLegibility || valueID == CSSValueGeometricPrecision;
</ins><span class="cx"> case CSSPropertyTextTransform: // capitalize | uppercase | lowercase | none
</span><span class="cx"> return (valueID >= CSSValueCapitalize && valueID <= CSSValueLowercase) || valueID == CSSValueNone;
</span><span class="cx"> case CSSPropertyUnicodeBidi:
</span><span class="lines">@@ -1053,7 +1053,7 @@
</span><span class="cx"> return false;
</span><span class="cx"> if (!number && unit == CSSPrimitiveValue::CSS_NUMBER)
</span><span class="cx"> unit = CSSPrimitiveValue::UnitType::CSS_PX;
</span><del>- if (unit == CSSPrimitiveValue::UnitType::CSS_NUMBER || (unit == CSSPrimitiveValue::UnitType::CSS_PERCENTAGE && (transformValue->name() == CSSValueTranslatez || (transformValue->name() == CSSValueTranslate3d && expectedCount == 1))))
</del><ins>+ if (unit == CSSPrimitiveValue::UnitType::CSS_NUMBER || (unit == CSSPrimitiveValue::UnitType::CSS_PERCENTAGE && (transformValue->name() == CSSValueTranslateZ || (transformValue->name() == CSSValueTranslate3d && expectedCount == 1))))
</ins><span class="cx"> return false;
</span><span class="cx"> transformValue->append(CSSPrimitiveValue::create(number, unit));
</span><span class="cx"> pos += argumentLength + 1;
</span><span class="lines">@@ -1105,11 +1105,11 @@
</span><span class="cx"> unsigned argumentStart = 11;
</span><span class="cx"> CharType c9 = toASCIILower(pos[9]);
</span><span class="cx"> if (c9 == 'x' && pos[10] == '(') {
</span><del>- transformType = CSSValueTranslatex;
</del><ins>+ transformType = CSSValueTranslateX;
</ins><span class="cx"> } else if (c9 == 'y' && pos[10] == '(') {
</span><del>- transformType = CSSValueTranslatey;
</del><ins>+ transformType = CSSValueTranslateY;
</ins><span class="cx"> } else if (c9 == 'z' && pos[10] == '(') {
</span><del>- transformType = CSSValueTranslatez;
</del><ins>+ transformType = CSSValueTranslateZ;
</ins><span class="cx"> } else if (c9 == '(') {
</span><span class="cx"> transformType = CSSValueTranslate;
</span><span class="cx"> expectedArgumentCount = 2;
</span></span></pre></div>
<a id="trunkSourceWebCorecssparserCSSPropertyParsercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp (212130 => 212131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp        2017-02-10 19:52:57 UTC (rev 212130)
+++ trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp        2017-02-10 20:26:30 UTC (rev 212131)
</span><span class="lines">@@ -1771,11 +1771,11 @@
</span><span class="cx"> RefPtr<CSSValue> parsedValue;
</span><span class="cx"> switch (functionId) {
</span><span class="cx"> case CSSValueRotate:
</span><del>- case CSSValueRotatex:
- case CSSValueRotatey:
- case CSSValueRotatez:
- case CSSValueSkewx:
- case CSSValueSkewy:
</del><ins>+ case CSSValueRotateX:
+ case CSSValueRotateY:
+ case CSSValueRotateZ:
+ case CSSValueSkewX:
+ case CSSValueSkewY:
</ins><span class="cx"> case CSSValueSkew:
</span><span class="cx"> parsedValue = consumeAngle(args, cssParserMode, UnitlessQuirk::Forbid);
</span><span class="cx"> if (!parsedValue)
</span><span class="lines">@@ -1787,9 +1787,9 @@
</span><span class="cx"> return nullptr;
</span><span class="cx"> }
</span><span class="cx"> break;
</span><del>- case CSSValueScalex:
- case CSSValueScaley:
- case CSSValueScalez:
</del><ins>+ case CSSValueScaleX:
+ case CSSValueScaleY:
+ case CSSValueScaleZ:
</ins><span class="cx"> case CSSValueScale:
</span><span class="cx"> parsedValue = consumeNumber(args, ValueRangeAll);
</span><span class="cx"> if (!parsedValue)
</span><span class="lines">@@ -1805,8 +1805,8 @@
</span><span class="cx"> if (!consumePerspective(args, cssParserMode, transformValue))
</span><span class="cx"> return nullptr;
</span><span class="cx"> break;
</span><del>- case CSSValueTranslatex:
- case CSSValueTranslatey:
</del><ins>+ case CSSValueTranslateX:
+ case CSSValueTranslateY:
</ins><span class="cx"> case CSSValueTranslate:
</span><span class="cx"> parsedValue = consumeLengthOrPercent(args, cssParserMode, ValueRangeAll);
</span><span class="cx"> if (!parsedValue)
</span><span class="lines">@@ -1818,7 +1818,7 @@
</span><span class="cx"> return nullptr;
</span><span class="cx"> }
</span><span class="cx"> break;
</span><del>- case CSSValueTranslatez:
</del><ins>+ case CSSValueTranslateZ:
</ins><span class="cx"> parsedValue = consumeLength(args, cssParserMode, ValueRangeAll);
</span><span class="cx"> break;
</span><span class="cx"> case CSSValueMatrix:
</span></span></pre></div>
<a id="trunkSourceWebCorecssparserCSSPropertyParserHelperscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp (212130 => 212131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp        2017-02-10 19:52:57 UTC (rev 212130)
+++ trunk/Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp        2017-02-10 20:26:30 UTC (rev 212131)
</span><span class="lines">@@ -495,7 +495,7 @@
</span><span class="cx">
</span><span class="cx"> ColorSpace colorSpace;
</span><span class="cx"> switch (args.peek().id()) {
</span><del>- case CSSValueSrgb:
</del><ins>+ case CSSValueSRGB:
</ins><span class="cx"> colorSpace = ColorSpaceSRGB;
</span><span class="cx"> break;
</span><span class="cx"> case CSSValueDisplayP3:
</span></span></pre>
</div>
</div>
</body>
</html>