<!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>[192843] 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/192843">192843</a></dd>
<dt>Author</dt> <dd>commit-queue@webkit.org</dd>
<dt>Date</dt> <dd>2015-11-30 16:09:42 -0800 (Mon, 30 Nov 2015)</dd>
</dl>
<h3>Log Message</h3>
<pre>Unreviewed, rolling out <a href="http://trac.webkit.org/projects/webkit/changeset/192819">r192819</a>.
https://bugs.webkit.org/show_bug.cgi?id=151681
This change broke existing layout tests on Windows (Requested
by ryanhaddad on #webkit).
Reverted changeset:
"Unify font-variant-* with font-variant shorthand"
https://bugs.webkit.org/show_bug.cgi?id=149773
http://trac.webkit.org/changeset/192819</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestscss3fontvariantparsingexpectedtxt">trunk/LayoutTests/css3/font-variant-parsing-expected.txt</a></li>
<li><a href="#trunkLayoutTestscss3fontvariantparsinghtml">trunk/LayoutTests/css3/font-variant-parsing.html</a></li>
<li><a href="#trunkLayoutTestsfastcssfontpropertypriorityexpectedtxt">trunk/LayoutTests/fast/css/font-property-priority-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastcssfontshorthandexpectedtxt">trunk/LayoutTests/fast/css/font-shorthand-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastcssparsingfontvariantligaturesexpectedtxt">trunk/LayoutTests/fast/css/parsing-font-variant-ligatures-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastcssparsingfontvariantligatureshtml">trunk/LayoutTests/fast/css/parsing-font-variant-ligatures.html</a></li>
<li><a href="#trunkLayoutTestsfastinspectorsupportstyleexpectedtxt">trunk/LayoutTests/fast/inspector-support/style-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacTestExpectations">trunk/LayoutTests/platform/mac/TestExpectations</a></li>
<li><a href="#trunkLayoutTestsplatformmacfastwritingmodebrokenideographsmallcapsexpectedtxt">trunk/LayoutTests/platform/mac/fast/writing-mode/broken-ideograph-small-caps-expected.txt</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCorecssCSSComputedStyleDeclarationcpp">trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp</a></li>
<li><a href="#trunkSourceWebCorecssCSSFontSelectorcpp">trunk/Source/WebCore/css/CSSFontSelector.cpp</a></li>
<li><a href="#trunkSourceWebCorecssCSSParsercpp">trunk/Source/WebCore/css/CSSParser.cpp</a></li>
<li><a href="#trunkSourceWebCorecssCSSParserh">trunk/Source/WebCore/css/CSSParser.h</a></li>
<li><a href="#trunkSourceWebCorecssCSSPropertyNamesin">trunk/Source/WebCore/css/CSSPropertyNames.in</a></li>
<li><a href="#trunkSourceWebCorecssFontVariantBuilderh">trunk/Source/WebCore/css/FontVariantBuilder.h</a></li>
<li><a href="#trunkSourceWebCorecssStylePropertiescpp">trunk/Source/WebCore/css/StyleProperties.cpp</a></li>
<li><a href="#trunkSourceWebCorecssStyleResolvercpp">trunk/Source/WebCore/css/StyleResolver.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingEditingStylecpp">trunk/Source/WebCore/editing/EditingStyle.cpp</a></li>
<li><a href="#trunkSourceWebCoreeditingcocoaHTMLConvertermm">trunk/Source/WebCore/editing/cocoa/HTMLConverter.mm</a></li>
<li><a href="#trunkSourceWebCoreeditingiosEditorIOSmm">trunk/Source/WebCore/editing/ios/EditorIOS.mm</a></li>
<li><a href="#trunkSourceWebCorehtmlcanvasCanvasRenderingContext2Dcpp">trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsFontCacheh">trunk/Source/WebCore/platform/graphics/FontCache.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsFontCascadecpp">trunk/Source/WebCore/platform/graphics/FontCascade.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsFontCascadeh">trunk/Source/WebCore/platform/graphics/FontCascade.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsFontDescriptioncpp">trunk/Source/WebCore/platform/graphics/FontDescription.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsFontDescriptionh">trunk/Source/WebCore/platform/graphics/FontDescription.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicscocoaFontCacheCoreTextcpp">trunk/Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformtextTextFlagsh">trunk/Source/WebCore/platform/text/TextFlags.h</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderTextcpp">trunk/Source/WebCore/rendering/RenderText.cpp</a></li>
</ul>
<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsfasttextfontvariantshorthandexpectedtxt">trunk/LayoutTests/fast/text/font-variant-shorthand-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfasttextfontvariantshorthandhtml">trunk/LayoutTests/fast/text/font-variant-shorthand.html</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (192842 => 192843)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2015-12-01 00:07:39 UTC (rev 192842)
+++ trunk/LayoutTests/ChangeLog        2015-12-01 00:09:42 UTC (rev 192843)
</span><span class="lines">@@ -1,3 +1,17 @@
</span><ins>+2015-11-30 Commit Queue <commit-queue@webkit.org>
+
+ Unreviewed, rolling out r192819.
+ https://bugs.webkit.org/show_bug.cgi?id=151681
+
+ This change broke existing layout tests on Windows (Requested
+ by ryanhaddad on #webkit).
+
+ Reverted changeset:
+
+ "Unify font-variant-* with font-variant shorthand"
+ https://bugs.webkit.org/show_bug.cgi?id=149773
+ http://trac.webkit.org/changeset/192819
+
</ins><span class="cx"> 2015-11-30 Brady Eidson <beidson@apple.com>
</span><span class="cx">
</span><span class="cx"> Modern IDB: Set the correct source on the IDBRequest for cursor updates
</span></span></pre></div>
<a id="trunkLayoutTestscss3fontvariantparsingexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/css3/font-variant-parsing-expected.txt (192842 => 192843)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/css3/font-variant-parsing-expected.txt        2015-12-01 00:07:39 UTC (rev 192842)
+++ trunk/LayoutTests/css3/font-variant-parsing-expected.txt        2015-12-01 00:09:42 UTC (rev 192843)
</span><span class="lines">@@ -3,7 +3,7 @@
</span><span class="cx"> PASS window.getComputedStyle(document.getElementById('testElement')).getPropertyCSSValue('font-variant-ligatures').cssText is "normal"
</span><span class="cx"> PASS window.getComputedStyle(document.getElementById('testElement')).getPropertyCSSValue('font-variant-ligatures').cssText is "normal"
</span><span class="cx"> PASS window.getComputedStyle(document.getElementById('testElement')).getPropertyCSSValue('font-variant-ligatures').cssText is "common-ligatures"
</span><del>-PASS window.getComputedStyle(document.getElementById('testElement')).getPropertyCSSValue('font-variant-ligatures').cssText is "common-ligatures"
</del><ins>+PASS window.getComputedStyle(document.getElementById('testElement')).getPropertyCSSValue('font-variant-ligatures').cssText is "normal"
</ins><span class="cx"> PASS window.getComputedStyle(document.getElementById('testElement')).getPropertyCSSValue('font-variant-ligatures').cssText is "no-common-ligatures"
</span><span class="cx"> PASS window.getComputedStyle(document.getElementById('testElement')).getPropertyCSSValue('font-variant-ligatures').cssText is "discretionary-ligatures"
</span><span class="cx"> PASS window.getComputedStyle(document.getElementById('testElement')).getPropertyCSSValue('font-variant-ligatures').cssText is "no-discretionary-ligatures"
</span><span class="lines">@@ -49,9 +49,9 @@
</span><span class="cx"> PASS window.getComputedStyle(document.getElementById('testElement')).getPropertyCSSValue('font-variant-numeric').cssText is "ordinal"
</span><span class="cx"> PASS window.getComputedStyle(document.getElementById('testElement')).getPropertyCSSValue('font-variant-numeric').cssText is "slashed-zero"
</span><span class="cx"> PASS window.getComputedStyle(document.getElementById('testElement')).getPropertyCSSValue('font-variant-numeric').cssText is "lining-nums slashed-zero"
</span><del>-PASS window.getComputedStyle(document.getElementById('testElement')).getPropertyCSSValue('font-variant-numeric').cssText is "oldstyle-nums"
-PASS window.getComputedStyle(document.getElementById('testElement')).getPropertyCSSValue('font-variant-numeric').cssText is "tabular-nums"
-PASS window.getComputedStyle(document.getElementById('testElement')).getPropertyCSSValue('font-variant-numeric').cssText is "stacked-fractions"
</del><ins>+PASS window.getComputedStyle(document.getElementById('testElement')).getPropertyCSSValue('font-variant-numeric').cssText is "normal"
+PASS window.getComputedStyle(document.getElementById('testElement')).getPropertyCSSValue('font-variant-numeric').cssText is "normal"
+PASS window.getComputedStyle(document.getElementById('testElement')).getPropertyCSSValue('font-variant-numeric').cssText is "normal"
</ins><span class="cx"> PASS window.getComputedStyle(document.getElementById('testElement')).getPropertyCSSValue('font-variant-numeric').cssText is "lining-nums proportional-nums"
</span><span class="cx"> PASS window.getComputedStyle(document.getElementById('testElement')).getPropertyCSSValue('font-variant-numeric').cssText is "lining-nums diagonal-fractions"
</span><span class="cx"> PASS window.getComputedStyle(document.getElementById('testElement')).getPropertyCSSValue('font-variant-numeric').cssText is "ordinal slashed-zero"
</span><span class="lines">@@ -74,13 +74,13 @@
</span><span class="cx"> PASS window.getComputedStyle(document.getElementById('testElement')).getPropertyCSSValue('font-variant-east-asian').cssText is "full-width"
</span><span class="cx"> PASS window.getComputedStyle(document.getElementById('testElement')).getPropertyCSSValue('font-variant-east-asian').cssText is "proportional-width"
</span><span class="cx"> PASS window.getComputedStyle(document.getElementById('testElement')).getPropertyCSSValue('font-variant-east-asian').cssText is "ruby"
</span><del>-PASS window.getComputedStyle(document.getElementById('testElement')).getPropertyCSSValue('font-variant-east-asian').cssText is "jis83"
-PASS window.getComputedStyle(document.getElementById('testElement')).getPropertyCSSValue('font-variant-east-asian').cssText is "traditional"
</del><ins>+PASS window.getComputedStyle(document.getElementById('testElement')).getPropertyCSSValue('font-variant-east-asian').cssText is "normal"
+PASS window.getComputedStyle(document.getElementById('testElement')).getPropertyCSSValue('font-variant-east-asian').cssText is "normal"
</ins><span class="cx"> PASS window.getComputedStyle(document.getElementById('testElement')).getPropertyCSSValue('font-variant-east-asian').cssText is "traditional full-width"
</span><span class="cx"> PASS window.getComputedStyle(document.getElementById('testElement')).getPropertyCSSValue('font-variant-east-asian').cssText is "jis04 proportional-width"
</span><span class="cx"> PASS window.getComputedStyle(document.getElementById('testElement')).getPropertyCSSValue('font-variant-east-asian').cssText is "jis04 proportional-width ruby"
</span><span class="cx"> PASS window.getComputedStyle(document.getElementById('testElement')).getPropertyCSSValue('font-variant-east-asian').cssText is "jis83 ruby"
</span><del>-PASS window.getComputedStyle(document.getElementById('testElement')).getPropertyCSSValue('font-variant-east-asian').cssText is "proportional-width"
</del><ins>+PASS window.getComputedStyle(document.getElementById('testElement')).getPropertyCSSValue('font-variant-east-asian').cssText is "normal"
</ins><span class="cx"> PASS successfullyParsed is true
</span><span class="cx">
</span><span class="cx"> TEST COMPLETE
</span></span></pre></div>
<a id="trunkLayoutTestscss3fontvariantparsinghtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/css3/font-variant-parsing.html (192842 => 192843)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/css3/font-variant-parsing.html        2015-12-01 00:07:39 UTC (rev 192842)
+++ trunk/LayoutTests/css3/font-variant-parsing.html        2015-12-01 00:09:42 UTC (rev 192843)
</span><span class="lines">@@ -20,7 +20,7 @@
</span><span class="cx"> runTest("font-variant-ligatures", "normal common-ligatures", "normal");
</span><span class="cx"> runTest("font-variant-ligatures", "notavalidvalue", "normal");
</span><span class="cx"> runTest("font-variant-ligatures", "common-ligatures", "common-ligatures");
</span><del>-runTest("font-variant-ligatures", "common-ligatures common-ligatures", "common-ligatures");
</del><ins>+runTest("font-variant-ligatures", "common-ligatures common-ligatures", "normal");
</ins><span class="cx"> runTest("font-variant-ligatures", "no-common-ligatures", "no-common-ligatures");
</span><span class="cx"> runTest("font-variant-ligatures", "discretionary-ligatures", "discretionary-ligatures");
</span><span class="cx"> runTest("font-variant-ligatures", "no-discretionary-ligatures", "no-discretionary-ligatures");
</span><span class="lines">@@ -69,9 +69,9 @@
</span><span class="cx"> runTest("font-variant-numeric", "ordinal", "ordinal");
</span><span class="cx"> runTest("font-variant-numeric", "slashed-zero", "slashed-zero");
</span><span class="cx"> runTest("font-variant-numeric", "lining-nums slashed-zero", "lining-nums slashed-zero");
</span><del>-runTest("font-variant-numeric", "lining-nums oldstyle-nums", "oldstyle-nums");
-runTest("font-variant-numeric", "proportional-nums tabular-nums", "tabular-nums");
-runTest("font-variant-numeric", "diagonal-fractions stacked-fractions", "stacked-fractions");
</del><ins>+runTest("font-variant-numeric", "lining-nums oldstyle-nums", "normal");
+runTest("font-variant-numeric", "proportional-nums tabular-nums", "normal");
+runTest("font-variant-numeric", "diagonal-fractions stacked-fractions", "normal");
</ins><span class="cx"> runTest("font-variant-numeric", "lining-nums proportional-nums", "lining-nums proportional-nums");
</span><span class="cx"> runTest("font-variant-numeric", "lining-nums diagonal-fractions", "lining-nums diagonal-fractions");
</span><span class="cx"> runTest("font-variant-numeric", "ordinal slashed-zero", "ordinal slashed-zero");
</span><span class="lines">@@ -96,13 +96,13 @@
</span><span class="cx"> runTest("font-variant-east-asian", "full-width", "full-width");
</span><span class="cx"> runTest("font-variant-east-asian", "proportional-width", "proportional-width");
</span><span class="cx"> runTest("font-variant-east-asian", "ruby", "ruby");
</span><del>-runTest("font-variant-east-asian", "jis78 jis83", "jis83");
-runTest("font-variant-east-asian", "jis90 traditional", "traditional");
</del><ins>+runTest("font-variant-east-asian", "jis78 jis83", "normal");
+runTest("font-variant-east-asian", "jis90 traditional", "normal");
</ins><span class="cx"> runTest("font-variant-east-asian", "full-width traditional", "traditional full-width");
</span><span class="cx"> runTest("font-variant-east-asian", "jis04 proportional-width", "jis04 proportional-width");
</span><span class="cx"> runTest("font-variant-east-asian", "jis04 proportional-width ruby", "jis04 proportional-width ruby");
</span><span class="cx"> runTest("font-variant-east-asian", "jis83 ruby", "jis83 ruby");
</span><del>-runTest("font-variant-east-asian", "full-width proportional-width", "proportional-width");
</del><ins>+runTest("font-variant-east-asian", "full-width proportional-width", "normal");
</ins><span class="cx"> </script>
</span><span class="cx"> <script src="../resources/js-test-post.js"></script>
</span><span class="cx"> </body>
</span></span></pre></div>
<a id="trunkLayoutTestsfastcssfontpropertypriorityexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/css/font-property-priority-expected.txt (192842 => 192843)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/font-property-priority-expected.txt        2015-12-01 00:07:39 UTC (rev 192842)
+++ trunk/LayoutTests/fast/css/font-property-priority-expected.txt        2015-12-01 00:09:42 UTC (rev 192843)
</span><span class="lines">@@ -1,6 +1,6 @@
</span><span class="cx"> Test for rdar://problem/6065547 REGRESSION (r34879): "Subject" in unread emails in Yahoo mail is not shown in bold.
</span><span class="cx">
</span><span class="cx"> Property 'font-weight' has priority 'important'.
</span><del>-Property 'font-variant-caps' has priority 'important'.
</del><ins>+Property 'font-variant' has priority 'important'.
</ins><span class="cx"> Property 'font-style' has priority 'important'.
</span><span class="cx">
</span></span></pre></div>
<a id="trunkLayoutTestsfastcssfontshorthandexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/css/font-shorthand-expected.txt (192842 => 192843)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/font-shorthand-expected.txt        2015-12-01 00:07:39 UTC (rev 192842)
+++ trunk/LayoutTests/fast/css/font-shorthand-expected.txt        2015-12-01 00:09:42 UTC (rev 192843)
</span><span class="lines">@@ -1,7 +1,7 @@
</span><span class="cx"> Test
</span><span class="cx"> Font for '12px monospace':
</span><span class="cx"> font-style: normal (original property was font and property was implicitly set.)
</span><del>-font-variant-caps: normal (original property was font and property was implicitly set.)
</del><ins>+font-variant: normal (original property was font and property was implicitly set.)
</ins><span class="cx"> font-weight: normal (original property was font and property was implicitly set.)
</span><span class="cx"> font-size: 12px (original property was font)
</span><span class="cx"> line-height: normal (original property was font and property was implicitly set.)
</span><span class="lines">@@ -9,7 +9,7 @@
</span><span class="cx">
</span><span class="cx"> Font for '12px/24px serif':
</span><span class="cx"> font-style: normal (original property was font and property was implicitly set.)
</span><del>-font-variant-caps: normal (original property was font and property was implicitly set.)
</del><ins>+font-variant: normal (original property was font and property was implicitly set.)
</ins><span class="cx"> font-weight: normal (original property was font and property was implicitly set.)
</span><span class="cx"> font-size: 12px (original property was font)
</span><span class="cx"> line-height: 24px (original property was font)
</span><span class="lines">@@ -17,7 +17,7 @@
</span><span class="cx">
</span><span class="cx"> Font for 'normal 12px serif':
</span><span class="cx"> font-style: normal (original property was font)
</span><del>-font-variant-caps: normal (original property was font and property was implicitly set.)
</del><ins>+font-variant: normal (original property was font and property was implicitly set.)
</ins><span class="cx"> font-weight: normal (original property was font and property was implicitly set.)
</span><span class="cx"> font-size: 12px (original property was font)
</span><span class="cx"> line-height: normal (original property was font and property was implicitly set.)
</span><span class="lines">@@ -25,7 +25,7 @@
</span><span class="cx">
</span><span class="cx"> Font for 'normal normal 12px serif':
</span><span class="cx"> font-style: normal (original property was font)
</span><del>-font-variant-caps: normal (original property was font)
</del><ins>+font-variant: normal (original property was font)
</ins><span class="cx"> font-weight: normal (original property was font and property was implicitly set.)
</span><span class="cx"> font-size: 12px (original property was font)
</span><span class="cx"> line-height: normal (original property was font and property was implicitly set.)
</span><span class="lines">@@ -33,7 +33,7 @@
</span><span class="cx">
</span><span class="cx"> Font for 'normal normal normal 12px serif':
</span><span class="cx"> font-style: normal (original property was font)
</span><del>-font-variant-caps: normal (original property was font)
</del><ins>+font-variant: normal (original property was font)
</ins><span class="cx"> font-weight: normal (original property was font)
</span><span class="cx"> font-size: 12px (original property was font)
</span><span class="cx"> line-height: normal (original property was font and property was implicitly set.)
</span><span class="lines">@@ -41,7 +41,7 @@
</span><span class="cx">
</span><span class="cx"> Font for 'italic small-caps 12px/24px serif':
</span><span class="cx"> font-style: italic (original property was font)
</span><del>-font-variant-caps: small-caps (original property was font)
</del><ins>+font-variant: small-caps (original property was font)
</ins><span class="cx"> font-weight: normal (original property was font and property was implicitly set.)
</span><span class="cx"> font-size: 12px (original property was font)
</span><span class="cx"> line-height: 24px (original property was font)
</span><span class="lines">@@ -50,13 +50,13 @@
</span><span class="cx"> Font for 'italic bold 12px/24px serif':
</span><span class="cx"> font-style: italic (original property was font)
</span><span class="cx"> font-weight: bold (original property was font)
</span><del>-font-variant-caps: normal (original property was font and property was implicitly set.)
</del><ins>+font-variant: normal (original property was font and property was implicitly set.)
</ins><span class="cx"> font-size: 12px (original property was font)
</span><span class="cx"> line-height: 24px (original property was font)
</span><span class="cx"> font-family: serif (original property was font)
</span><span class="cx">
</span><span class="cx"> Font for 'small-caps bold 14px/28px Arial, sans-serif':
</span><del>-font-variant-caps: small-caps (original property was font)
</del><ins>+font-variant: small-caps (original property was font)
</ins><span class="cx"> font-weight: bold (original property was font)
</span><span class="cx"> font-style: normal (original property was font and property was implicitly set.)
</span><span class="cx"> font-size: 14px (original property was font)
</span><span class="lines">@@ -65,7 +65,7 @@
</span><span class="cx">
</span><span class="cx"> Font for 'italic small-caps bold 14px/28px Arial, sans-serif':
</span><span class="cx"> font-style: italic (original property was font)
</span><del>-font-variant-caps: small-caps (original property was font)
</del><ins>+font-variant: small-caps (original property was font)
</ins><span class="cx"> font-weight: bold (original property was font)
</span><span class="cx"> font-size: 14px (original property was font)
</span><span class="cx"> line-height: 28px (original property was font)
</span></span></pre></div>
<a id="trunkLayoutTestsfastcssparsingfontvariantligaturesexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/css/parsing-font-variant-ligatures-expected.txt (192842 => 192843)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/parsing-font-variant-ligatures-expected.txt        2015-12-01 00:07:39 UTC (rev 192842)
+++ trunk/LayoutTests/fast/css/parsing-font-variant-ligatures-expected.txt        2015-12-01 00:09:42 UTC (rev 192843)
</span><span class="lines">@@ -13,7 +13,7 @@
</span><span class="cx"> PASS: 'no-historical-ligatures' parsed as 'no-historical-ligatures' and computed to 'no-historical-ligatures'
</span><span class="cx"> PASS: 'historical-ligatures' parsed as 'historical-ligatures' and computed to 'historical-ligatures'
</span><span class="cx">
</span><del>-PASS: 'no-common-ligatures no-common-ligatures' parsed as 'no-common-ligatures' and computed to 'no-common-ligatures'
</del><ins>+PASS: 'no-common-ligatures no-common-ligatures' parsed as '' and computed to 'normal'
</ins><span class="cx"> PASS: 'common-ligatures no-discretionary-ligatures' parsed as 'common-ligatures no-discretionary-ligatures' and computed to 'common-ligatures no-discretionary-ligatures'
</span><span class="cx"> PASS: 'common-ligatures no-discretionary-ligatures historical-ligatures' parsed as 'common-ligatures no-discretionary-ligatures historical-ligatures' and computed to 'common-ligatures no-discretionary-ligatures historical-ligatures'
</span><span class="cx"> PASS: 'common-ligatures no-discretionary-ligatures normal' parsed as '' and computed to 'normal'
</span></span></pre></div>
<a id="trunkLayoutTestsfastcssparsingfontvariantligatureshtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/css/parsing-font-variant-ligatures.html (192842 => 192843)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/css/parsing-font-variant-ligatures.html        2015-12-01 00:07:39 UTC (rev 192842)
+++ trunk/LayoutTests/fast/css/parsing-font-variant-ligatures.html        2015-12-01 00:09:42 UTC (rev 192843)
</span><span class="lines">@@ -43,7 +43,7 @@
</span><span class="cx"> test('historical-ligatures', 'historical-ligatures', 'historical-ligatures');
</span><span class="cx">
</span><span class="cx"> log("");
</span><del>- test('no-common-ligatures no-common-ligatures', 'no-common-ligatures', 'no-common-ligatures');
</del><ins>+ test('no-common-ligatures no-common-ligatures', '', 'normal');
</ins><span class="cx"> test('common-ligatures no-discretionary-ligatures', 'common-ligatures no-discretionary-ligatures', 'common-ligatures no-discretionary-ligatures');
</span><span class="cx"> test('common-ligatures no-discretionary-ligatures historical-ligatures', 'common-ligatures no-discretionary-ligatures historical-ligatures', 'common-ligatures no-discretionary-ligatures historical-ligatures');
</span><span class="cx"> test('common-ligatures no-discretionary-ligatures normal', '', 'normal');
</span></span></pre></div>
<a id="trunkLayoutTestsfastinspectorsupportstyleexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/inspector-support/style-expected.txt (192842 => 192843)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/inspector-support/style-expected.txt        2015-12-01 00:07:39 UTC (rev 192842)
+++ trunk/LayoutTests/fast/inspector-support/style-expected.txt        2015-12-01 00:09:42 UTC (rev 192843)
</span><span class="lines">@@ -16,7 +16,7 @@
</span><span class="cx"> margin-left: 1em (original property was margin and property was implicitly set.)
</span><span class="cx"> color: white
</span><span class="cx"> font-style: normal (original property was font and property was implicitly set.)
</span><del>-font-variant-caps: normal (original property was font and property was implicitly set.)
</del><ins>+font-variant: normal (original property was font and property was implicitly set.)
</ins><span class="cx"> font-weight: normal (original property was font and property was implicitly set.)
</span><span class="cx"> font-size: 24px (original property was font)
</span><span class="cx"> line-height: normal (original property was font and property was implicitly set.)
</span></span></pre></div>
<a id="trunkLayoutTestsfasttextfontvariantshorthandexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/fast/text/font-variant-shorthand-expected.txt (192842 => 192843)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/text/font-variant-shorthand-expected.txt        2015-12-01 00:07:39 UTC (rev 192842)
+++ trunk/LayoutTests/fast/text/font-variant-shorthand-expected.txt        2015-12-01 00:09:42 UTC (rev 192843)
</span><span class="lines">@@ -1,42 +0,0 @@
</span><del>-This test makes sure that the two shorthand properties which set font-variant-caps get resolved correctly.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-PASS window.getComputedStyle(document.getElementById('t1')).getPropertyValue('font-variant-caps') is "small-caps"
-PASS window.getComputedStyle(document.getElementById('t2')).getPropertyValue('font-variant-caps') is "small-caps"
-PASS window.getComputedStyle(document.getElementById('t3')).getPropertyValue('font-variant-caps') is "small-caps"
-PASS window.getComputedStyle(document.getElementById('t4')).getPropertyValue('font-variant-caps') is "small-caps"
-PASS window.getComputedStyle(document.getElementById('t5')).getPropertyValue('font-variant-caps') is "small-caps"
-PASS window.getComputedStyle(document.getElementById('t6')).getPropertyValue('font-variant-caps') is "small-caps"
-PASS window.getComputedStyle(document.getElementById('t7')).getPropertyValue('font-variant-caps') is "small-caps"
-PASS window.getComputedStyle(document.getElementById('t8')).getPropertyValue('font-variant-caps') is "small-caps"
-PASS window.getComputedStyle(document.getElementById('t9')).getPropertyValue('font-variant-caps') is "small-caps"
-PASS window.getComputedStyle(document.getElementById('t10')).getPropertyValue('font-variant-caps') is "normal"
-PASS window.getComputedStyle(document.getElementById('t11')).getPropertyValue('font-variant-caps') is "normal"
-PASS window.getComputedStyle(document.getElementById('t12')).getPropertyValue('font-variant-caps') is "normal"
-PASS window.getComputedStyle(document.getElementById('t13')).getPropertyValue('font-variant-caps') is "normal"
-PASS window.getComputedStyle(document.getElementById('t14')).getPropertyValue('font-variant-caps') is "normal"
-PASS window.getComputedStyle(document.getElementById('t15')).getPropertyValue('font-variant-caps') is "normal"
-PASS window.getComputedStyle(document.getElementById('t1')).getPropertyValue('font-variant') is "small-caps"
-PASS window.getComputedStyle(document.getElementById('t2')).getPropertyValue('font-variant') is "small-caps"
-PASS window.getComputedStyle(document.getElementById('t3')).getPropertyValue('font-variant') is "small-caps"
-PASS window.getComputedStyle(document.getElementById('t4')).getPropertyValue('font-variant') is "small-caps"
-PASS window.getComputedStyle(document.getElementById('t5')).getPropertyValue('font-variant') is "small-caps"
-PASS window.getComputedStyle(document.getElementById('t6')).getPropertyValue('font-variant') is "small-caps"
-PASS window.getComputedStyle(document.getElementById('t7')).getPropertyValue('font-variant') is "small-caps"
-PASS window.getComputedStyle(document.getElementById('t8')).getPropertyValue('font-variant') is "small-caps"
-PASS window.getComputedStyle(document.getElementById('t9')).getPropertyValue('font-variant') is "small-caps"
-PASS window.getComputedStyle(document.getElementById('t10')).getPropertyValue('font-variant') is "normal"
-PASS window.getComputedStyle(document.getElementById('t11')).getPropertyValue('font-variant') is "normal"
-PASS window.getComputedStyle(document.getElementById('t12')).getPropertyValue('font-variant') is "normal"
-PASS window.getComputedStyle(document.getElementById('t13')).getPropertyValue('font-variant') is "normal"
-PASS window.getComputedStyle(document.getElementById('t14')).getPropertyValue('font-variant') is "normal"
-PASS window.getComputedStyle(document.getElementById('t15')).getPropertyValue('font-variant') is "normal"
-PASS window.getComputedStyle(document.getElementById('t16')).getPropertyValue('font-variant') is "common-ligatures super small-caps lining-nums historical-forms simplified"
-PASS window.getComputedStyle(document.getElementById('t17')).getPropertyValue('font-variant') is "normal"
-PASS window.getComputedStyle(document.getElementById('t17')).getPropertyValue('font-variant-caps') is "normal"
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
</del></span></pre></div>
<a id="trunkLayoutTestsfasttextfontvariantshorthandhtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/fast/text/font-variant-shorthand.html (192842 => 192843)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/text/font-variant-shorthand.html        2015-12-01 00:07:39 UTC (rev 192842)
+++ trunk/LayoutTests/fast/text/font-variant-shorthand.html        2015-12-01 00:09:42 UTC (rev 192843)
</span><span class="lines">@@ -1,136 +0,0 @@
</span><del>-<!DOCTYPE html>
-<html>
-<head>
-<script src="../../resources/js-test-pre.js"></script>
-<style>
-.test {
- font: 30px Times;
- display: none;
-}
-#t1 {
- font-variant-caps: small-caps;
-}
-#t2 {
- font-variant: small-caps;
-}
-#t3 {
- font: small-caps 30px Times;
-}
-#t4 {
- font-variant: normal;
- font: small-caps 30px Times;
-}
-#t5 {
- font-variant-caps: normal;
- font: small-caps 30px Times;
-}
-#t6 {
- font: 30px Times;
- font-variant-caps: small-caps;
-}
-#t7 {
- font-variant: normal;
- font-variant-caps: small-caps;
-}
-#t8 {
- font-variant-caps: normal;
- font-variant: small-caps;
-}
-#t9 {
- font: 30px Times;
- font-variant: small-caps;
-}
-#t10 {
- font-variant: small-caps;
- font: 30px Times;
-}
-#t11 {
- font-variant-caps: small-caps;
- font: 30px Times;
-}
-#t12 {
- font: small-caps 30px Times;
- font-variant-caps: normal;
-}
-#t13 {
- font-variant: small-caps;
- font-variant-caps: normal;
-}
-#t14 {
- font-variant-caps: small-caps;
- font-variant: normal;
-}
-#t15 {
- font: small-caps 30px Times;
- font-variant: normal;
-}
-#t16 {
- font-variant-ligatures: common-ligatures;
- font-variant-position: super;
- font-variant-caps: small-caps;
- font-variant-numeric: lining-nums;
- font-variant-alternates: historical-forms;
- font-variant-east-asian: simplified;
-}
-</style>
-</head>
-<body>
-
-<div class="test" id="t1">Hello</div>
-<div class="test" id="t2">Hello</div>
-<div class="test" id="t3">Hello</div>
-<div class="test" id="t4">Hello</div>
-<div class="test" id="t5">Hello</div>
-<div class="test" id="t6">Hello</div>
-<div class="test" id="t7">Hello</div>
-<div class="test" id="t8">Hello</div>
-<div class="test" id="t9">Hello</div>
-<div class="test" id="t10">Hello</div>
-<div class="test" id="t11">Hello</div>
-<div class="test" id="t12">Hello</div>
-<div class="test" id="t13">Hello</div>
-<div class="test" id="t14">Hello</div>
-<div class="test" id="t15">Hello</div>
-<div class="test" id="t16">Hello</div>
-<div class="test" id="t17">Hello</div>
-<script>
-description("This test makes sure that the two shorthand properties which set font-variant-caps get resolved correctly.");
-shouldBeEqualToString("window.getComputedStyle(document.getElementById('t1')).getPropertyValue('font-variant-caps')", "small-caps");
-shouldBeEqualToString("window.getComputedStyle(document.getElementById('t2')).getPropertyValue('font-variant-caps')", "small-caps");
-shouldBeEqualToString("window.getComputedStyle(document.getElementById('t3')).getPropertyValue('font-variant-caps')", "small-caps");
-shouldBeEqualToString("window.getComputedStyle(document.getElementById('t4')).getPropertyValue('font-variant-caps')", "small-caps");
-shouldBeEqualToString("window.getComputedStyle(document.getElementById('t5')).getPropertyValue('font-variant-caps')", "small-caps");
-shouldBeEqualToString("window.getComputedStyle(document.getElementById('t6')).getPropertyValue('font-variant-caps')", "small-caps");
-shouldBeEqualToString("window.getComputedStyle(document.getElementById('t7')).getPropertyValue('font-variant-caps')", "small-caps");
-shouldBeEqualToString("window.getComputedStyle(document.getElementById('t8')).getPropertyValue('font-variant-caps')", "small-caps");
-shouldBeEqualToString("window.getComputedStyle(document.getElementById('t9')).getPropertyValue('font-variant-caps')", "small-caps");
-shouldBeEqualToString("window.getComputedStyle(document.getElementById('t10')).getPropertyValue('font-variant-caps')", "normal");
-shouldBeEqualToString("window.getComputedStyle(document.getElementById('t11')).getPropertyValue('font-variant-caps')", "normal");
-shouldBeEqualToString("window.getComputedStyle(document.getElementById('t12')).getPropertyValue('font-variant-caps')", "normal");
-shouldBeEqualToString("window.getComputedStyle(document.getElementById('t13')).getPropertyValue('font-variant-caps')", "normal");
-shouldBeEqualToString("window.getComputedStyle(document.getElementById('t14')).getPropertyValue('font-variant-caps')", "normal");
-shouldBeEqualToString("window.getComputedStyle(document.getElementById('t15')).getPropertyValue('font-variant-caps')", "normal");
-
-shouldBeEqualToString("window.getComputedStyle(document.getElementById('t1')).getPropertyValue('font-variant')", "small-caps");
-shouldBeEqualToString("window.getComputedStyle(document.getElementById('t2')).getPropertyValue('font-variant')", "small-caps");
-shouldBeEqualToString("window.getComputedStyle(document.getElementById('t3')).getPropertyValue('font-variant')", "small-caps");
-shouldBeEqualToString("window.getComputedStyle(document.getElementById('t4')).getPropertyValue('font-variant')", "small-caps");
-shouldBeEqualToString("window.getComputedStyle(document.getElementById('t5')).getPropertyValue('font-variant')", "small-caps");
-shouldBeEqualToString("window.getComputedStyle(document.getElementById('t6')).getPropertyValue('font-variant')", "small-caps");
-shouldBeEqualToString("window.getComputedStyle(document.getElementById('t7')).getPropertyValue('font-variant')", "small-caps");
-shouldBeEqualToString("window.getComputedStyle(document.getElementById('t8')).getPropertyValue('font-variant')", "small-caps");
-shouldBeEqualToString("window.getComputedStyle(document.getElementById('t9')).getPropertyValue('font-variant')", "small-caps");
-shouldBeEqualToString("window.getComputedStyle(document.getElementById('t10')).getPropertyValue('font-variant')", "normal");
-shouldBeEqualToString("window.getComputedStyle(document.getElementById('t11')).getPropertyValue('font-variant')", "normal");
-shouldBeEqualToString("window.getComputedStyle(document.getElementById('t12')).getPropertyValue('font-variant')", "normal");
-shouldBeEqualToString("window.getComputedStyle(document.getElementById('t13')).getPropertyValue('font-variant')", "normal");
-shouldBeEqualToString("window.getComputedStyle(document.getElementById('t14')).getPropertyValue('font-variant')", "normal");
-shouldBeEqualToString("window.getComputedStyle(document.getElementById('t15')).getPropertyValue('font-variant')", "normal");
-
-shouldBeEqualToString("window.getComputedStyle(document.getElementById('t16')).getPropertyValue('font-variant')", "common-ligatures super small-caps lining-nums historical-forms simplified");
-shouldBeEqualToString("window.getComputedStyle(document.getElementById('t17')).getPropertyValue('font-variant')", "normal");
-shouldBeEqualToString("window.getComputedStyle(document.getElementById('t17')).getPropertyValue('font-variant-caps')", "normal");
-</script>
-<script src="../../resources/js-test-post.js"></script>
-</body>
-</html>
</del></span></pre></div>
<a id="trunkLayoutTestsplatformmacTestExpectations"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/TestExpectations (192842 => 192843)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/TestExpectations        2015-12-01 00:07:39 UTC (rev 192842)
+++ trunk/LayoutTests/platform/mac/TestExpectations        2015-12-01 00:09:42 UTC (rev 192843)
</span><span class="lines">@@ -1397,10 +1397,3 @@
</span><span class="cx"> webkit.org/b/140217 http/tests/navigation/forward-and-cancel.html [ Pass Failure ]
</span><span class="cx">
</span><span class="cx"> webkit.org/b/151469 imported/w3c/html-templates/parsing-html-templates/creating-an-element-for-the-token/template-owner-document.html [ Pass Crash ]
</span><del>-
-# Temporarily disable font-features tests until synthesis for font-variant-caps is implemented.
-webkit.org/b/149774 css3/font-feature-settings-font-face-rendering.html [ Pass Failure ImageOnlyFailure ]
-webkit.org/b/149774 css3/font-feature-settings-rendering.html [ Pass Failure ImageOnlyFailure ]
-webkit.org/b/149774 css3/font-variant-all.html [ Pass Failure ImageOnlyFailure ]
-webkit.org/b/149774 css3/font-variant-font-face-all.html [ Pass Failure ImageOnlyFailure ]
-webkit.org/b/149774 css3/font-variant-font-face-override.html [ Pass Failure ImageOnlyFailure ]
</del></span></pre></div>
<a id="trunkLayoutTestsplatformmacfastwritingmodebrokenideographsmallcapsexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/fast/writing-mode/broken-ideograph-small-caps-expected.txt (192842 => 192843)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/fast/writing-mode/broken-ideograph-small-caps-expected.txt        2015-12-01 00:07:39 UTC (rev 192842)
+++ trunk/LayoutTests/platform/mac/fast/writing-mode/broken-ideograph-small-caps-expected.txt        2015-12-01 00:09:42 UTC (rev 192843)
</span><span class="lines">@@ -13,8 +13,8 @@
</span><span class="cx"> text run at (21,1) width 176: "\x{7B2C}\x{4E8C}\x{6BB5}\x{843D} Paragraph 2"
</span><span class="cx"> RenderBlock {DIV} at (278,1) size 277x275 [bgcolor=#FFFFEE]
</span><span class="cx"> RenderBlock {P} at (14,28) size 63x219 [bgcolor=#FFAAAA] [border: none (20px solid #FF8888) none (20px solid #FF8888)]
</span><del>- RenderText {#text} at (21,1) size 20x175
- text run at (21,1) width 175: "\x{7B2C}\x{4E00}\x{6BB5}\x{843D} Paragraph 1"
</del><ins>+ RenderText {#text} at (21,1) size 20x195
+ text run at (21,1) width 195: "\x{7B2C}\x{4E00}\x{6BB5}\x{843D} Paragraph 1"
</ins><span class="cx"> RenderBlock {P} at (90,28) size 63x219 [bgcolor=#FFAAAA] [border: none (20px solid #FF8888) none (20px solid #FF8888)]
</span><del>- RenderText {#text} at (21,1) size 20x181
- text run at (21,1) width 181: "\x{7B2C}\x{4E8C}\x{6BB5}\x{843D} Paragraph 2"
</del><ins>+ RenderText {#text} at (21,1) size 20x195
+ text run at (21,1) width 195: "\x{7B2C}\x{4E8C}\x{6BB5}\x{843D} Paragraph 2"
</ins></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (192842 => 192843)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2015-12-01 00:07:39 UTC (rev 192842)
+++ trunk/Source/WebCore/ChangeLog        2015-12-01 00:09:42 UTC (rev 192843)
</span><span class="lines">@@ -1,3 +1,17 @@
</span><ins>+2015-11-30 Commit Queue <commit-queue@webkit.org>
+
+ Unreviewed, rolling out r192819.
+ https://bugs.webkit.org/show_bug.cgi?id=151681
+
+ This change broke existing layout tests on Windows (Requested
+ by ryanhaddad on #webkit).
+
+ Reverted changeset:
+
+ "Unify font-variant-* with font-variant shorthand"
+ https://bugs.webkit.org/show_bug.cgi?id=149773
+ http://trac.webkit.org/changeset/192819
+
</ins><span class="cx"> 2015-11-30 Darin Adler <darin@apple.com>
</span><span class="cx">
</span><span class="cx"> Use Optional instead of isNull out argument for nullable getters
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSComputedStyleDeclarationcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp (192842 => 192843)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp        2015-12-01 00:07:39 UTC (rev 192842)
+++ trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp        2015-12-01 00:09:42 UTC (rev 192843)
</span><span class="lines">@@ -1382,10 +1382,10 @@
</span><span class="cx"> switch (width) {
</span><span class="cx"> case FontVariantEastAsianWidth::Normal:
</span><span class="cx"> break;
</span><del>- case FontVariantEastAsianWidth::Full:
</del><ins>+ case FontVariantEastAsianWidth::FullWidth:
</ins><span class="cx"> valueList->append(cssValuePool.createIdentifierValue(CSSValueFullWidth));
</span><span class="cx"> break;
</span><del>- case FontVariantEastAsianWidth::Proportional:
</del><ins>+ case FontVariantEastAsianWidth::ProportionalWidth:
</ins><span class="cx"> valueList->append(cssValuePool.createIdentifierValue(CSSValueProportionalWidth));
</span><span class="cx"> break;
</span><span class="cx"> }
</span><span class="lines">@@ -1816,203 +1816,23 @@
</span><span class="cx"> return zoomAdjustedPixelValue(style.fontDescription().computedPixelSize(), style);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-static Ref<CSSPrimitiveValue> fontStyleFromStyle(RenderStyle& style)
</del><ins>+static Ref<CSSPrimitiveValue> fontStyleFromStyle(RenderStyle* style)
</ins><span class="cx"> {
</span><del>- if (style.fontDescription().italic())
</del><ins>+ if (style->fontDescription().italic())
</ins><span class="cx"> return CSSValuePool::singleton().createIdentifierValue(CSSValueItalic);
</span><span class="cx"> return CSSValuePool::singleton().createIdentifierValue(CSSValueNormal);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-static Ref<CSSValue> fontVariantFromStyle(RenderStyle& style)
</del><ins>+static Ref<CSSPrimitiveValue> fontVariantFromStyle(RenderStyle* style)
</ins><span class="cx"> {
</span><del>- if (style.fontDescription().variantSettings().isAllNormal())
- return CSSValuePool::singleton().createIdentifierValue(CSSValueNormal);
-
- auto list = CSSValueList::createSpaceSeparated();
-
- switch (style.fontDescription().variantCommonLigatures()) {
- case FontVariantLigatures::Normal:
- break;
- case FontVariantLigatures::Yes:
- list.get().append(CSSValuePool::singleton().createIdentifierValue(CSSValueCommonLigatures));
- break;
- case FontVariantLigatures::No:
- list.get().append(CSSValuePool::singleton().createIdentifierValue(CSSValueNoCommonLigatures));
- break;
- }
-
- switch (style.fontDescription().variantDiscretionaryLigatures()) {
- case FontVariantLigatures::Normal:
- break;
- case FontVariantLigatures::Yes:
- list.get().append(CSSValuePool::singleton().createIdentifierValue(CSSValueDiscretionaryLigatures));
- break;
- case FontVariantLigatures::No:
- list.get().append(CSSValuePool::singleton().createIdentifierValue(CSSValueNoDiscretionaryLigatures));
- break;
- }
-
- switch (style.fontDescription().variantHistoricalLigatures()) {
- case FontVariantLigatures::Normal:
- break;
- case FontVariantLigatures::Yes:
- list.get().append(CSSValuePool::singleton().createIdentifierValue(CSSValueHistoricalLigatures));
- break;
- case FontVariantLigatures::No:
- list.get().append(CSSValuePool::singleton().createIdentifierValue(CSSValueNoHistoricalLigatures));
- break;
- }
-
- switch (style.fontDescription().variantContextualAlternates()) {
- case FontVariantLigatures::Normal:
- break;
- case FontVariantLigatures::Yes:
- list.get().append(CSSValuePool::singleton().createIdentifierValue(CSSValueContextual));
- break;
- case FontVariantLigatures::No:
- list.get().append(CSSValuePool::singleton().createIdentifierValue(CSSValueNoContextual));
- break;
- }
-
- switch (style.fontDescription().variantPosition()) {
- case FontVariantPosition::Normal:
- break;
- case FontVariantPosition::Subscript:
- list.get().append(CSSValuePool::singleton().createIdentifierValue(CSSValueSub));
- break;
- case FontVariantPosition::Superscript:
- list.get().append(CSSValuePool::singleton().createIdentifierValue(CSSValueSuper));
- break;
- }
-
- switch (style.fontDescription().variantCaps()) {
- case FontVariantCaps::Normal:
- break;
- case FontVariantCaps::Small:
- list.get().append(CSSValuePool::singleton().createIdentifierValue(CSSValueSmallCaps));
- break;
- case FontVariantCaps::AllSmall:
- list.get().append(CSSValuePool::singleton().createIdentifierValue(CSSValueAllSmallCaps));
- break;
- case FontVariantCaps::Petite:
- list.get().append(CSSValuePool::singleton().createIdentifierValue(CSSValuePetiteCaps));
- break;
- case FontVariantCaps::AllPetite:
- list.get().append(CSSValuePool::singleton().createIdentifierValue(CSSValueAllPetiteCaps));
- break;
- case FontVariantCaps::Unicase:
- list.get().append(CSSValuePool::singleton().createIdentifierValue(CSSValueUnicase));
- break;
- case FontVariantCaps::Titling:
- list.get().append(CSSValuePool::singleton().createIdentifierValue(CSSValueTitlingCaps));
- break;
- }
-
- switch (style.fontDescription().variantNumericFigure()) {
- case FontVariantNumericFigure::Normal:
- break;
- case FontVariantNumericFigure::LiningNumbers:
- list.get().append(CSSValuePool::singleton().createIdentifierValue(CSSValueLiningNums));
- break;
- case FontVariantNumericFigure::OldStyleNumbers:
- list.get().append(CSSValuePool::singleton().createIdentifierValue(CSSValueOldstyleNums));
- break;
- }
-
- switch (style.fontDescription().variantNumericSpacing()) {
- case FontVariantNumericSpacing::Normal:
- break;
- case FontVariantNumericSpacing::ProportionalNumbers:
- list.get().append(CSSValuePool::singleton().createIdentifierValue(CSSValueProportionalNums));
- break;
- case FontVariantNumericSpacing::TabularNumbers:
- list.get().append(CSSValuePool::singleton().createIdentifierValue(CSSValueTabularNums));
- break;
- }
-
- switch (style.fontDescription().variantNumericFraction()) {
- case FontVariantNumericFraction::Normal:
- break;
- case FontVariantNumericFraction::DiagonalFractions:
- list.get().append(CSSValuePool::singleton().createIdentifierValue(CSSValueDiagonalFractions));
- break;
- case FontVariantNumericFraction::StackedFractions:
- list.get().append(CSSValuePool::singleton().createIdentifierValue(CSSValueStackedFractions));
- break;
- }
-
- switch (style.fontDescription().variantNumericOrdinal()) {
- case FontVariantNumericOrdinal::Normal:
- break;
- case FontVariantNumericOrdinal::Yes:
- list.get().append(CSSValuePool::singleton().createIdentifierValue(CSSValueOrdinal));
- break;
- }
-
- switch (style.fontDescription().variantNumericSlashedZero()) {
- case FontVariantNumericSlashedZero::Normal:
- break;
- case FontVariantNumericSlashedZero::Yes:
- list.get().append(CSSValuePool::singleton().createIdentifierValue(CSSValueSlashedZero));
- break;
- }
-
- switch (style.fontDescription().variantAlternates()) {
- case FontVariantAlternates::Normal:
- break;
- case FontVariantAlternates::HistoricalForms:
- list.get().append(CSSValuePool::singleton().createIdentifierValue(CSSValueHistoricalForms));
- break;
- }
-
- switch (style.fontDescription().variantEastAsianVariant()) {
- case FontVariantEastAsianVariant::Normal:
- break;
- case FontVariantEastAsianVariant::Jis78:
- list.get().append(CSSValuePool::singleton().createIdentifierValue(CSSValueJis78));
- break;
- case FontVariantEastAsianVariant::Jis83:
- list.get().append(CSSValuePool::singleton().createIdentifierValue(CSSValueJis83));
- break;
- case FontVariantEastAsianVariant::Jis90:
- list.get().append(CSSValuePool::singleton().createIdentifierValue(CSSValueJis90));
- break;
- case FontVariantEastAsianVariant::Jis04:
- list.get().append(CSSValuePool::singleton().createIdentifierValue(CSSValueJis04));
- break;
- case FontVariantEastAsianVariant::Simplified:
- list.get().append(CSSValuePool::singleton().createIdentifierValue(CSSValueSimplified));
- break;
- case FontVariantEastAsianVariant::Traditional:
- list.get().append(CSSValuePool::singleton().createIdentifierValue(CSSValueTraditional));
- break;
- }
-
- switch (style.fontDescription().variantEastAsianWidth()) {
- case FontVariantEastAsianWidth::Normal:
- break;
- case FontVariantEastAsianWidth::Full:
- list.get().append(CSSValuePool::singleton().createIdentifierValue(CSSValueFullWidth));
- break;
- case FontVariantEastAsianWidth::Proportional:
- list.get().append(CSSValuePool::singleton().createIdentifierValue(CSSValueProportionalWidth));
- break;
- }
-
- switch (style.fontDescription().variantEastAsianRuby()) {
- case FontVariantEastAsianRuby::Normal:
- break;
- case FontVariantEastAsianRuby::Yes:
- list.get().append(CSSValuePool::singleton().createIdentifierValue(CSSValueRuby));
- break;
- }
-
- return WTF::move(list);
</del><ins>+ if (style->fontDescription().smallCaps())
+ return CSSValuePool::singleton().createIdentifierValue(CSSValueSmallCaps);
+ return CSSValuePool::singleton().createIdentifierValue(CSSValueNormal);
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-static Ref<CSSPrimitiveValue> fontWeightFromStyle(RenderStyle& style)
</del><ins>+static Ref<CSSPrimitiveValue> fontWeightFromStyle(RenderStyle* style)
</ins><span class="cx"> {
</span><del>- switch (style.fontDescription().weight()) {
</del><ins>+ switch (style->fontDescription().weight()) {
</ins><span class="cx"> case FontWeight100:
</span><span class="cx"> return CSSValuePool::singleton().createIdentifierValue(CSSValue100);
</span><span class="cx"> case FontWeight200:
</span><span class="lines">@@ -2697,12 +2517,9 @@
</span><span class="cx"> return cssValuePool.createValue(style->floating());
</span><span class="cx"> case CSSPropertyFont: {
</span><span class="cx"> RefPtr<CSSFontValue> computedFont = CSSFontValue::create();
</span><del>- computedFont->style = fontStyleFromStyle(*style);
- if (style->fontDescription().variantCaps() == FontVariantCaps::Small)
- computedFont->variant = CSSValuePool::singleton().createIdentifierValue(CSSValueSmallCaps);
- else
- computedFont->variant = CSSValuePool::singleton().createIdentifierValue(CSSValueNormal);
- computedFont->weight = fontWeightFromStyle(*style);
</del><ins>+ computedFont->style = fontStyleFromStyle(style.get());
+ computedFont->variant = fontVariantFromStyle(style.get());
+ computedFont->weight = fontWeightFromStyle(style.get());
</ins><span class="cx"> computedFont->size = fontSizeFromStyle(*style);
</span><span class="cx"> computedFont->lineHeight = lineHeightFromStyle(*style);
</span><span class="cx"> computedFont->family = fontFamilyFromStyle(style.get());
</span><span class="lines">@@ -2719,11 +2536,11 @@
</span><span class="cx"> case CSSPropertyFontSize:
</span><span class="cx"> return fontSizeFromStyle(*style);
</span><span class="cx"> case CSSPropertyFontStyle:
</span><del>- return fontStyleFromStyle(*style);
</del><ins>+ return fontStyleFromStyle(style.get());
</ins><span class="cx"> case CSSPropertyFontVariant:
</span><del>- return fontVariantFromStyle(*style);
</del><ins>+ return fontVariantFromStyle(style.get());
</ins><span class="cx"> case CSSPropertyFontWeight:
</span><del>- return fontWeightFromStyle(*style);
</del><ins>+ return fontWeightFromStyle(style.get());
</ins><span class="cx"> case CSSPropertyFontSynthesis:
</span><span class="cx"> return fontSynthesisFromStyle(*style);
</span><span class="cx"> case CSSPropertyFontFeatureSettings: {
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSFontSelectorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSFontSelector.cpp (192842 => 192843)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSFontSelector.cpp        2015-12-01 00:07:39 UTC (rev 192842)
+++ trunk/Source/WebCore/css/CSSFontSelector.cpp        2015-12-01 00:09:42 UTC (rev 192843)
</span><span class="lines">@@ -304,16 +304,16 @@
</span><span class="cx"> if (variantLigatures)
</span><span class="cx"> applyValueFontVariantLigatures(fontFace.get(), *variantLigatures);
</span><span class="cx">
</span><del>- if (is<CSSPrimitiveValue>(variantPosition.get()))
</del><ins>+ if (variantPosition)
</ins><span class="cx"> fontFace->setVariantPosition(downcast<CSSPrimitiveValue>(*variantPosition));
</span><span class="cx">
</span><del>- if (is<CSSPrimitiveValue>(variantCaps.get()))
</del><ins>+ if (variantCaps)
</ins><span class="cx"> fontFace->setVariantCaps(downcast<CSSPrimitiveValue>(*variantCaps));
</span><span class="cx">
</span><span class="cx"> if (variantNumeric)
</span><span class="cx"> applyValueFontVariantNumeric(fontFace.get(), *variantNumeric);
</span><span class="cx">
</span><del>- if (is<CSSPrimitiveValue>(variantAlternates.get()))
</del><ins>+ if (variantAlternates)
</ins><span class="cx"> fontFace->setVariantAlternates(downcast<CSSPrimitiveValue>(*variantAlternates));
</span><span class="cx">
</span><span class="cx"> if (variantEastAsian)
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSParsercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSParser.cpp (192842 => 192843)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSParser.cpp        2015-12-01 00:07:39 UTC (rev 192842)
+++ trunk/Source/WebCore/css/CSSParser.cpp        2015-12-01 00:09:42 UTC (rev 192843)
</span><span class="lines">@@ -1063,6 +1063,10 @@
</span><span class="cx"> if (valueID == CSSValueNormal || valueID == CSSValueHistoricalForms)
</span><span class="cx"> return true;
</span><span class="cx"> break;
</span><ins>+ case CSSPropertyFontVariant: // normal | small-caps
+ if (valueID == CSSValueNormal || valueID == CSSValueSmallCaps)
+ return true;
+ break;
</ins><span class="cx"> default:
</span><span class="cx"> ASSERT_NOT_REACHED();
</span><span class="cx"> return false;
</span><span class="lines">@@ -1195,6 +1199,7 @@
</span><span class="cx"> case CSSPropertyFontVariantPosition:
</span><span class="cx"> case CSSPropertyFontVariantCaps:
</span><span class="cx"> case CSSPropertyFontVariantAlternates:
</span><ins>+ case CSSPropertyFontVariant:
</ins><span class="cx"> return true;
</span><span class="cx"> default:
</span><span class="cx"> return false;
</span><span class="lines">@@ -3115,37 +3120,20 @@
</span><span class="cx"> if (id == CSSValueNormal || id == CSSValueNone)
</span><span class="cx"> validPrimitive = true;
</span><span class="cx"> else
</span><del>- return parseFontVariantLigatures(important, UnknownIsFailure::Yes);
</del><ins>+ return parseFontVariantLigatures(important);
</ins><span class="cx"> break;
</span><span class="cx"> case CSSPropertyFontVariantNumeric:
</span><span class="cx"> if (id == CSSValueNormal)
</span><span class="cx"> validPrimitive = true;
</span><span class="cx"> else
</span><del>- return parseFontVariantNumeric(important, UnknownIsFailure::Yes);
</del><ins>+ return parseFontVariantNumeric(important);
</ins><span class="cx"> break;
</span><span class="cx"> case CSSPropertyFontVariantEastAsian:
</span><span class="cx"> if (id == CSSValueNormal)
</span><span class="cx"> validPrimitive = true;
</span><span class="cx"> else
</span><del>- return parseFontVariantEastAsian(important, UnknownIsFailure::Yes);
</del><ins>+ return parseFontVariantEastAsian(important);
</ins><span class="cx"> break;
</span><del>- case CSSPropertyFontVariant:
- if (id == CSSValueNormal) {
- ShorthandScope scope(this, CSSPropertyFontVariant);
- addProperty(CSSPropertyFontVariantLigatures, CSSValuePool::singleton().createIdentifierValue(CSSValueNormal), important, true);
- addProperty(CSSPropertyFontVariantPosition, CSSValuePool::singleton().createIdentifierValue(CSSValueNormal), important, true);
- addProperty(CSSPropertyFontVariantCaps, CSSValuePool::singleton().createIdentifierValue(CSSValueNormal), important, true);
- addProperty(CSSPropertyFontVariantNumeric, CSSValuePool::singleton().createIdentifierValue(CSSValueNormal), important, true);
- addProperty(CSSPropertyFontVariantAlternates, CSSValuePool::singleton().createIdentifierValue(CSSValueNormal), important, true);
- addProperty(CSSPropertyFontVariantEastAsian, CSSValuePool::singleton().createIdentifierValue(CSSValueNormal), important, true);
- return true;
- }
- if (id == CSSValueNone) {
- ShorthandScope scope(this, CSSPropertyFontVariant);
- addProperty(CSSPropertyFontVariantLigatures, CSSValuePool::singleton().createIdentifierValue(CSSValueNone), important, true);
- return true;
- }
- return parseFontVariant(important);
</del><span class="cx">
</span><span class="cx"> case CSSPropertyWebkitClipPath:
</span><span class="cx"> parsedValue = parseClipPath();
</span><span class="lines">@@ -6818,7 +6806,7 @@
</span><span class="cx"> fontStyleParsed = true;
</span><span class="cx"> } else if (!fontVariantParsed && (value->id == CSSValueNormal || value->id == CSSValueSmallCaps)) {
</span><span class="cx"> // Font variant in the shorthand is particular, it only accepts normal or small-caps.
</span><del>- addProperty(CSSPropertyFontVariantCaps, CSSValuePool::singleton().createIdentifierValue(value->id), important);
</del><ins>+ addProperty(CSSPropertyFontVariant, CSSValuePool::singleton().createIdentifierValue(value->id), important);
</ins><span class="cx"> fontVariantParsed = true;
</span><span class="cx"> } else if (!fontWeightParsed && parseFontWeight(important))
</span><span class="cx"> fontWeightParsed = true;
</span><span class="lines">@@ -6833,7 +6821,7 @@
</span><span class="cx"> if (!fontStyleParsed)
</span><span class="cx"> addProperty(CSSPropertyFontStyle, CSSValuePool::singleton().createIdentifierValue(CSSValueNormal), important, true);
</span><span class="cx"> if (!fontVariantParsed)
</span><del>- addProperty(CSSPropertyFontVariantCaps, CSSValuePool::singleton().createIdentifierValue(CSSValueNormal), important, true);
</del><ins>+ addProperty(CSSPropertyFontVariant, CSSValuePool::singleton().createIdentifierValue(CSSValueNormal), important, true);
</ins><span class="cx"> if (!fontWeightParsed)
</span><span class="cx"> addProperty(CSSPropertyFontWeight, CSSValuePool::singleton().createIdentifierValue(CSSValueNormal), important, true);
</span><span class="cx">
</span><span class="lines">@@ -6892,7 +6880,7 @@
</span><span class="cx"> Ref<CSSValueList> fontFamilyList = CSSValueList::createCommaSeparated();
</span><span class="cx"> fontFamilyList->append(CSSValuePool::singleton().createFontFamilyValue(fontDescription.familyAt(0), FromSystemFontID::Yes));
</span><span class="cx"> addProperty(CSSPropertyFontFamily, WTF::move(fontFamilyList), important);
</span><del>- addProperty(CSSPropertyFontVariantCaps, CSSValuePool::singleton().createIdentifierValue(CSSValueNormal), important);
</del><ins>+ addProperty(CSSPropertyFontVariant, CSSValuePool::singleton().createIdentifierValue(CSSValueNormal), important);
</ins><span class="cx"> addProperty(CSSPropertyLineHeight, CSSValuePool::singleton().createIdentifierValue(CSSValueNormal), important);
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -10619,13 +10607,13 @@
</span><span class="cx"> return false;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-bool CSSParser::parseFontVariantLigatures(bool important, UnknownIsFailure unknownIsFailure)
</del><ins>+bool CSSParser::parseFontVariantLigatures(bool important)
</ins><span class="cx"> {
</span><span class="cx"> auto values = CSSValueList::createSpaceSeparated();
</span><del>- FontVariantLigatures commonLigatures = FontVariantLigatures::Normal;
- FontVariantLigatures discretionaryLigatures = FontVariantLigatures::Normal;
- FontVariantLigatures historicalLigatures = FontVariantLigatures::Normal;
- FontVariantLigatures contextualAlternates = FontVariantLigatures::Normal;
</del><ins>+ bool sawCommonValue = false;
+ bool sawDiscretionaryValue = false;
+ bool sawHistoricalValue = false;
+ bool sawContextualValue = false;
</ins><span class="cx">
</span><span class="cx"> for (CSSParserValue* value = m_valueList->current(); value; value = m_valueList->next()) {
</span><span class="cx"> if (value->unit != CSSPrimitiveValue::CSS_IDENT)
</span><span class="lines">@@ -10633,95 +10621,53 @@
</span><span class="cx">
</span><span class="cx"> switch (value->id) {
</span><span class="cx"> case CSSValueNoCommonLigatures:
</span><del>- commonLigatures = FontVariantLigatures::No;
- break;
</del><span class="cx"> case CSSValueCommonLigatures:
</span><del>- commonLigatures = FontVariantLigatures::Yes;
</del><ins>+ if (sawCommonValue)
+ return false;
+ sawCommonValue = true;
+ values->append(CSSValuePool::singleton().createIdentifierValue(value->id));
</ins><span class="cx"> break;
</span><span class="cx"> case CSSValueNoDiscretionaryLigatures:
</span><del>- discretionaryLigatures = FontVariantLigatures::No;
- break;
</del><span class="cx"> case CSSValueDiscretionaryLigatures:
</span><del>- discretionaryLigatures = FontVariantLigatures::Yes;
</del><ins>+ if (sawDiscretionaryValue)
+ return false;
+ sawDiscretionaryValue = true;
+ values->append(CSSValuePool::singleton().createIdentifierValue(value->id));
</ins><span class="cx"> break;
</span><span class="cx"> case CSSValueNoHistoricalLigatures:
</span><del>- historicalLigatures = FontVariantLigatures::No;
- break;
</del><span class="cx"> case CSSValueHistoricalLigatures:
</span><del>- historicalLigatures = FontVariantLigatures::Yes;
</del><ins>+ if (sawHistoricalValue)
+ return false;
+ sawHistoricalValue = true;
+ values->append(CSSValuePool::singleton().createIdentifierValue(value->id));
</ins><span class="cx"> break;
</span><span class="cx"> case CSSValueContextual:
</span><del>- contextualAlternates = FontVariantLigatures::Yes;
- break;
</del><span class="cx"> case CSSValueNoContextual:
</span><del>- contextualAlternates = FontVariantLigatures::No;
</del><ins>+ if (sawContextualValue)
+ return false;
+ sawContextualValue = true;
+ values->append(CSSValuePool::singleton().createIdentifierValue(value->id));
</ins><span class="cx"> break;
</span><span class="cx"> default:
</span><del>- if (unknownIsFailure == UnknownIsFailure::Yes)
- return false;
- continue;
</del><ins>+ return false;
</ins><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><del>- switch (commonLigatures) {
- case FontVariantLigatures::Normal:
- break;
- case FontVariantLigatures::Yes:
- values->append(CSSValuePool::singleton().createIdentifierValue(CSSValueCommonLigatures));
- break;
- case FontVariantLigatures::No:
- values->append(CSSValuePool::singleton().createIdentifierValue(CSSValueNoCommonLigatures));
- break;
- }
-
- switch (discretionaryLigatures) {
- case FontVariantLigatures::Normal:
- break;
- case FontVariantLigatures::Yes:
- values->append(CSSValuePool::singleton().createIdentifierValue(CSSValueDiscretionaryLigatures));
- break;
- case FontVariantLigatures::No:
- values->append(CSSValuePool::singleton().createIdentifierValue(CSSValueNoDiscretionaryLigatures));
- break;
- }
-
- switch (historicalLigatures) {
- case FontVariantLigatures::Normal:
- break;
- case FontVariantLigatures::Yes:
- values->append(CSSValuePool::singleton().createIdentifierValue(CSSValueHistoricalLigatures));
- break;
- case FontVariantLigatures::No:
- values->append(CSSValuePool::singleton().createIdentifierValue(CSSValueNoHistoricalLigatures));
- break;
- }
-
- switch (contextualAlternates) {
- case FontVariantLigatures::Normal:
- break;
- case FontVariantLigatures::Yes:
- values->append(CSSValuePool::singleton().createIdentifierValue(CSSValueContextual));
- break;
- case FontVariantLigatures::No:
- values->append(CSSValuePool::singleton().createIdentifierValue(CSSValueNoContextual));
- break;
- }
-
</del><span class="cx"> if (!values->length())
</span><del>- return unknownIsFailure == UnknownIsFailure::No;
</del><ins>+ return false;
</ins><span class="cx">
</span><del>- addProperty(CSSPropertyFontVariantLigatures, WTF::move(values), important, false);
</del><ins>+ addProperty(CSSPropertyFontVariantLigatures, WTF::move(values), important);
</ins><span class="cx"> return true;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-bool CSSParser::parseFontVariantNumeric(bool important, UnknownIsFailure unknownIsFailure)
</del><ins>+bool CSSParser::parseFontVariantNumeric(bool important)
</ins><span class="cx"> {
</span><span class="cx"> auto values = CSSValueList::createSpaceSeparated();
</span><del>- FontVariantNumericFigure figure = FontVariantNumericFigure::Normal;
- FontVariantNumericSpacing spacing = FontVariantNumericSpacing::Normal;
- FontVariantNumericFraction fraction = FontVariantNumericFraction::Normal;
- FontVariantNumericOrdinal ordinal = FontVariantNumericOrdinal::Normal;
- FontVariantNumericSlashedZero slashedZero = FontVariantNumericSlashedZero::Normal;
</del><ins>+ bool sawFigureValue = false;
+ bool sawSpacingValue = false;
+ bool sawFractionValue = false;
+ bool sawOrdinal = false;
+ bool sawSlashedZero = false;
</ins><span class="cx">
</span><span class="cx"> for (CSSParserValue* value = m_valueList->current(); value; value = m_valueList->next()) {
</span><span class="cx"> if (value->unit != CSSPrimitiveValue::CSS_IDENT)
</span><span class="lines">@@ -10729,98 +10675,56 @@
</span><span class="cx">
</span><span class="cx"> switch (value->id) {
</span><span class="cx"> case CSSValueLiningNums:
</span><del>- figure = FontVariantNumericFigure::LiningNumbers;
- break;
</del><span class="cx"> case CSSValueOldstyleNums:
</span><del>- figure = FontVariantNumericFigure::OldStyleNumbers;
</del><ins>+ if (sawFigureValue)
+ return false;
+ sawFigureValue = true;
+ values->append(CSSValuePool::singleton().createIdentifierValue(value->id));
</ins><span class="cx"> break;
</span><span class="cx"> case CSSValueProportionalNums:
</span><del>- spacing = FontVariantNumericSpacing::ProportionalNumbers;
- break;
</del><span class="cx"> case CSSValueTabularNums:
</span><del>- spacing = FontVariantNumericSpacing::TabularNumbers;
</del><ins>+ if (sawSpacingValue)
+ return false;
+ sawSpacingValue = true;
+ values->append(CSSValuePool::singleton().createIdentifierValue(value->id));
</ins><span class="cx"> break;
</span><span class="cx"> case CSSValueDiagonalFractions:
</span><del>- fraction = FontVariantNumericFraction::DiagonalFractions;
- break;
</del><span class="cx"> case CSSValueStackedFractions:
</span><del>- fraction = FontVariantNumericFraction::StackedFractions;
</del><ins>+ if (sawFractionValue)
+ return false;
+ sawFractionValue = true;
+ values->append(CSSValuePool::singleton().createIdentifierValue(value->id));
</ins><span class="cx"> break;
</span><span class="cx"> case CSSValueOrdinal:
</span><del>- ordinal = FontVariantNumericOrdinal::Yes;
</del><ins>+ if (sawOrdinal)
+ return false;
+ sawOrdinal = true;
+ values->append(CSSValuePool::singleton().createIdentifierValue(value->id));
</ins><span class="cx"> break;
</span><span class="cx"> case CSSValueSlashedZero:
</span><del>- slashedZero = FontVariantNumericSlashedZero::Yes;
</del><ins>+ if (sawSlashedZero)
+ return false;
+ sawSlashedZero = true;
+ values->append(CSSValuePool::singleton().createIdentifierValue(value->id));
</ins><span class="cx"> break;
</span><span class="cx"> default:
</span><del>- if (unknownIsFailure == UnknownIsFailure::Yes)
- return false;
- continue;
</del><ins>+ return false;
</ins><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><del>- switch (figure) {
- case FontVariantNumericFigure::Normal:
- break;
- case FontVariantNumericFigure::LiningNumbers:
- values->append(CSSValuePool::singleton().createIdentifierValue(CSSValueLiningNums));
- break;
- case FontVariantNumericFigure::OldStyleNumbers:
- values->append(CSSValuePool::singleton().createIdentifierValue(CSSValueOldstyleNums));
- break;
- }
-
- switch (spacing) {
- case FontVariantNumericSpacing::Normal:
- break;
- case FontVariantNumericSpacing::ProportionalNumbers:
- values->append(CSSValuePool::singleton().createIdentifierValue(CSSValueProportionalNums));
- break;
- case FontVariantNumericSpacing::TabularNumbers:
- values->append(CSSValuePool::singleton().createIdentifierValue(CSSValueTabularNums));
- break;
- }
-
- switch (fraction) {
- case FontVariantNumericFraction::Normal:
- break;
- case FontVariantNumericFraction::DiagonalFractions:
- values->append(CSSValuePool::singleton().createIdentifierValue(CSSValueDiagonalFractions));
- break;
- case FontVariantNumericFraction::StackedFractions:
- values->append(CSSValuePool::singleton().createIdentifierValue(CSSValueStackedFractions));
- break;
- }
-
- switch (ordinal) {
- case FontVariantNumericOrdinal::Normal:
- break;
- case FontVariantNumericOrdinal::Yes:
- values->append(CSSValuePool::singleton().createIdentifierValue(CSSValueOrdinal));
- break;
- }
-
- switch (slashedZero) {
- case FontVariantNumericSlashedZero::Normal:
- break;
- case FontVariantNumericSlashedZero::Yes:
- values->append(CSSValuePool::singleton().createIdentifierValue(CSSValueSlashedZero));
- break;
- }
-
</del><span class="cx"> if (!values->length())
</span><del>- return unknownIsFailure == UnknownIsFailure::No;
</del><ins>+ return false;
</ins><span class="cx">
</span><del>- addProperty(CSSPropertyFontVariantNumeric, WTF::move(values), important, false);
</del><ins>+ addProperty(CSSPropertyFontVariantNumeric, WTF::move(values), important);
</ins><span class="cx"> return true;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-bool CSSParser::parseFontVariantEastAsian(bool important, UnknownIsFailure unknownIsFailure)
</del><ins>+bool CSSParser::parseFontVariantEastAsian(bool important)
</ins><span class="cx"> {
</span><span class="cx"> auto values = CSSValueList::createSpaceSeparated();
</span><del>- FontVariantEastAsianVariant variant = FontVariantEastAsianVariant::Normal;
- FontVariantEastAsianWidth width = FontVariantEastAsianWidth::Normal;
- FontVariantEastAsianRuby ruby = FontVariantEastAsianRuby::Normal;
</del><ins>+ bool sawVariantValue = false;
+ bool sawWidthValue = false;
+ bool sawRuby = false;
</ins><span class="cx">
</span><span class="cx"> for (CSSParserValue* value = m_valueList->current(); value; value = m_valueList->next()) {
</span><span class="cx"> if (value->unit != CSSPrimitiveValue::CSS_IDENT)
</span><span class="lines">@@ -10828,209 +10732,38 @@
</span><span class="cx">
</span><span class="cx"> switch (value->id) {
</span><span class="cx"> case CSSValueJis78:
</span><del>- variant = FontVariantEastAsianVariant::Jis78;
- break;
</del><span class="cx"> case CSSValueJis83:
</span><del>- variant = FontVariantEastAsianVariant::Jis83;
- break;
</del><span class="cx"> case CSSValueJis90:
</span><del>- variant = FontVariantEastAsianVariant::Jis90;
- break;
</del><span class="cx"> case CSSValueJis04:
</span><del>- variant = FontVariantEastAsianVariant::Jis04;
- break;
</del><span class="cx"> case CSSValueSimplified:
</span><del>- variant = FontVariantEastAsianVariant::Simplified;
- break;
</del><span class="cx"> case CSSValueTraditional:
</span><del>- variant = FontVariantEastAsianVariant::Traditional;
</del><ins>+ if (sawVariantValue)
+ return false;
+ sawVariantValue = true;
+ values->append(CSSValuePool::singleton().createIdentifierValue(value->id));
</ins><span class="cx"> break;
</span><span class="cx"> case CSSValueFullWidth:
</span><del>- width = FontVariantEastAsianWidth::Full;
- break;
</del><span class="cx"> case CSSValueProportionalWidth:
</span><del>- width = FontVariantEastAsianWidth::Proportional;
</del><ins>+ if (sawWidthValue)
+ return false;
+ sawWidthValue = true;
+ values->append(CSSValuePool::singleton().createIdentifierValue(value->id));
</ins><span class="cx"> break;
</span><span class="cx"> case CSSValueRuby:
</span><del>- ruby = FontVariantEastAsianRuby::Yes;
</del><ins>+ sawRuby = true;
</ins><span class="cx"> break;
</span><span class="cx"> default:
</span><del>- if (unknownIsFailure == UnknownIsFailure::Yes)
- return false;
- continue;
</del><ins>+ return false;
</ins><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><del>- switch (variant) {
- case FontVariantEastAsianVariant::Normal:
- break;
- case FontVariantEastAsianVariant::Jis78:
- values->append(CSSValuePool::singleton().createIdentifierValue(CSSValueJis78));
- break;
- case FontVariantEastAsianVariant::Jis83:
- values->append(CSSValuePool::singleton().createIdentifierValue(CSSValueJis83));
- break;
- case FontVariantEastAsianVariant::Jis90:
- values->append(CSSValuePool::singleton().createIdentifierValue(CSSValueJis90));
- break;
- case FontVariantEastAsianVariant::Jis04:
- values->append(CSSValuePool::singleton().createIdentifierValue(CSSValueJis04));
- break;
- case FontVariantEastAsianVariant::Simplified:
- values->append(CSSValuePool::singleton().createIdentifierValue(CSSValueSimplified));
- break;
- case FontVariantEastAsianVariant::Traditional:
- values->append(CSSValuePool::singleton().createIdentifierValue(CSSValueTraditional));
- break;
- }
-
- switch (width) {
- case FontVariantEastAsianWidth::Normal:
- break;
- case FontVariantEastAsianWidth::Full:
- values->append(CSSValuePool::singleton().createIdentifierValue(CSSValueFullWidth));
- break;
- case FontVariantEastAsianWidth::Proportional:
- values->append(CSSValuePool::singleton().createIdentifierValue(CSSValueProportionalWidth));
- break;
- }
-
- switch (ruby) {
- case FontVariantEastAsianRuby::Normal:
- break;
- case FontVariantEastAsianRuby::Yes:
</del><ins>+ if (sawRuby)
</ins><span class="cx"> values->append(CSSValuePool::singleton().createIdentifierValue(CSSValueRuby));
</span><del>- }
</del><span class="cx">
</span><span class="cx"> if (!values->length())
</span><del>- return unknownIsFailure == UnknownIsFailure::No;
-
- addProperty(CSSPropertyFontVariantEastAsian, WTF::move(values), important, false);
- return true;
-}
-
-bool CSSParser::parseFontVariant(bool important)
-{
- ShorthandScope scope(this, CSSPropertyFontVariant);
- if (!parseFontVariantLigatures(important, UnknownIsFailure::No))
</del><span class="cx"> return false;
</span><del>- m_valueList->setCurrentIndex(0);
- if (!parseFontVariantNumeric(important, UnknownIsFailure::No))
- return false;
- m_valueList->setCurrentIndex(0);
- if (!parseFontVariantEastAsian(important, UnknownIsFailure::No))
- return false;
- m_valueList->setCurrentIndex(0);
</del><span class="cx">
</span><del>- FontVariantPosition position = FontVariantPosition::Normal;
- FontVariantCaps caps = FontVariantCaps::Normal;
- FontVariantAlternates alternates = FontVariantAlternates::Normal;
-
- for (CSSParserValue* value = m_valueList->current(); value; value = m_valueList->next()) {
- if (value->unit != CSSPrimitiveValue::CSS_IDENT)
- return false;
-
- switch (value->id) {
- case CSSValueNoCommonLigatures:
- case CSSValueCommonLigatures:
- case CSSValueNoDiscretionaryLigatures:
- case CSSValueDiscretionaryLigatures:
- case CSSValueNoHistoricalLigatures:
- case CSSValueHistoricalLigatures:
- case CSSValueContextual:
- case CSSValueNoContextual:
- case CSSValueLiningNums:
- case CSSValueOldstyleNums:
- case CSSValueProportionalNums:
- case CSSValueTabularNums:
- case CSSValueDiagonalFractions:
- case CSSValueStackedFractions:
- case CSSValueOrdinal:
- case CSSValueSlashedZero:
- case CSSValueJis78:
- case CSSValueJis83:
- case CSSValueJis90:
- case CSSValueJis04:
- case CSSValueSimplified:
- case CSSValueTraditional:
- case CSSValueFullWidth:
- case CSSValueProportionalWidth:
- case CSSValueRuby:
- break;
- case CSSValueSub:
- position = FontVariantPosition::Subscript;
- break;
- case CSSValueSuper:
- position = FontVariantPosition::Superscript;
- break;
- case CSSValueSmallCaps:
- caps = FontVariantCaps::Small;
- break;
- case CSSValueAllSmallCaps:
- caps = FontVariantCaps::AllSmall;
- break;
- case CSSValuePetiteCaps:
- caps = FontVariantCaps::Petite;
- break;
- case CSSValueAllPetiteCaps:
- caps = FontVariantCaps::AllPetite;
- break;
- case CSSValueUnicase:
- caps = FontVariantCaps::Unicase;
- break;
- case CSSValueTitlingCaps:
- caps = FontVariantCaps::Titling;
- break;
- case CSSValueHistoricalForms:
- alternates = FontVariantAlternates::HistoricalForms;
- break;
- default:
- return false;
- }
- }
-
- switch (position) {
- case FontVariantPosition::Normal:
- break;
- case FontVariantPosition::Subscript:
- addProperty(CSSPropertyFontVariantPosition, CSSValuePool::singleton().createIdentifierValue(CSSValueSub), important, false);
- break;
- case FontVariantPosition::Superscript:
- addProperty(CSSPropertyFontVariantPosition, CSSValuePool::singleton().createIdentifierValue(CSSValueSuper), important, false);
- break;
- }
-
- switch (caps) {
- case FontVariantCaps::Normal:
- break;
- case FontVariantCaps::Small:
- addProperty(CSSPropertyFontVariantCaps, CSSValuePool::singleton().createIdentifierValue(CSSValueSmallCaps), important, false);
- break;
- case FontVariantCaps::AllSmall:
- addProperty(CSSPropertyFontVariantCaps, CSSValuePool::singleton().createIdentifierValue(CSSValueAllSmallCaps), important, false);
- break;
- case FontVariantCaps::Petite:
- addProperty(CSSPropertyFontVariantCaps, CSSValuePool::singleton().createIdentifierValue(CSSValuePetiteCaps), important, false);
- break;
- case FontVariantCaps::AllPetite:
- addProperty(CSSPropertyFontVariantCaps, CSSValuePool::singleton().createIdentifierValue(CSSValueAllPetiteCaps), important, false);
- break;
- case FontVariantCaps::Unicase:
- addProperty(CSSPropertyFontVariantCaps, CSSValuePool::singleton().createIdentifierValue(CSSValueUnicase), important, false);
- break;
- case FontVariantCaps::Titling:
- addProperty(CSSPropertyFontVariantCaps, CSSValuePool::singleton().createIdentifierValue(CSSValueTitlingCaps), important, false);
- break;
- }
-
- switch (alternates) {
- case FontVariantAlternates::Normal:
- break;
- case FontVariantAlternates::HistoricalForms:
- addProperty(CSSPropertyFontVariantAlternates, CSSValuePool::singleton().createIdentifierValue(CSSValueHistoricalForms), important, false);
- break;
- }
-
</del><ins>+ addProperty(CSSPropertyFontVariantEastAsian, WTF::move(values), important);
</ins><span class="cx"> return true;
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSParserh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSParser.h (192842 => 192843)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSParser.h        2015-12-01 00:07:39 UTC (rev 192842)
+++ trunk/Source/WebCore/css/CSSParser.h        2015-12-01 00:09:42 UTC (rev 192843)
</span><span class="lines">@@ -348,11 +348,9 @@
</span><span class="cx"> bool parseFlowThread(CSSPropertyID, bool important);
</span><span class="cx"> bool parseRegionThread(CSSPropertyID, bool important);
</span><span class="cx">
</span><del>- enum class UnknownIsFailure { Yes, No };
- bool parseFontVariantLigatures(bool important, UnknownIsFailure);
- bool parseFontVariantNumeric(bool important, UnknownIsFailure);
- bool parseFontVariantEastAsian(bool important, UnknownIsFailure);
- bool parseFontVariant(bool important);
</del><ins>+ bool parseFontVariantLigatures(bool important);
+ bool parseFontVariantNumeric(bool important);
+ bool parseFontVariantEastAsian(bool important);
</ins><span class="cx">
</span><span class="cx"> bool parseWillChange(bool important);
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSPropertyNamesin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSPropertyNames.in (192842 => 192843)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSPropertyNames.in        2015-12-01 00:07:39 UTC (rev 192842)
+++ trunk/Source/WebCore/css/CSSPropertyNames.in        2015-12-01 00:09:42 UTC (rev 192843)
</span><span class="lines">@@ -102,6 +102,7 @@
</span><span class="cx"> font-family [Inherited, Custom=All]
</span><span class="cx"> font-size [Inherited, Custom=All]
</span><span class="cx"> font-style [Inherited, FontProperty, NameForMethods=Italic]
</span><ins>+font-variant [Inherited, FontProperty, NameForMethods=SmallCaps]
</ins><span class="cx"> font-weight [Inherited, Custom=All]
</span><span class="cx"> text-rendering [Inherited, FontProperty, NameForMethods=TextRenderingMode]
</span><span class="cx"> font-feature-settings [Inherited, FontProperty, Custom=Initial|Inherit, Converter=FontFeatureSettings, NameForMethods=FeatureSettings]
</span><span class="lines">@@ -228,8 +229,7 @@
</span><span class="cx"> float [NameForMethods=Floating]
</span><span class="cx"> flood-color [SVG, Converter=SVGColor]
</span><span class="cx"> flood-opacity [SVG, Converter=Opacity]
</span><del>-font [Inherited, Longhands=font-family|font-size|font-style|font-variant-caps|font-weight|line-height]
-font-variant [Inherited, Longhands=font-variant-ligatures|font-variant-position|font-variant-caps|font-variant-numeric|font-variant-alternates|font-variant-east-asian]
</del><ins>+font [Inherited, Longhands=font-family|font-size|font-style|font-variant|font-weight|line-height]
</ins><span class="cx"> font-stretch [SkipBuilder]
</span><span class="cx"> glyph-orientation-horizontal [Inherited, SVG, Converter=GlyphOrientation]
</span><span class="cx"> glyph-orientation-vertical [Inherited, SVG, Converter=GlyphOrientationOrAuto]
</span></span></pre></div>
<a id="trunkSourceWebCorecssFontVariantBuilderh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/FontVariantBuilder.h (192842 => 192843)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/FontVariantBuilder.h        2015-12-01 00:07:39 UTC (rev 192842)
+++ trunk/Source/WebCore/css/FontVariantBuilder.h        2015-12-01 00:09:42 UTC (rev 192843)
</span><span class="lines">@@ -68,7 +68,7 @@
</span><span class="cx"> break;
</span><span class="cx"> }
</span><span class="cx"> }
</span><del>- } else if (is<CSSPrimitiveValue>(value)) {
</del><ins>+ } else {
</ins><span class="cx"> switch (downcast<CSSPrimitiveValue>(value).getValueID()) {
</span><span class="cx"> case CSSValueNormal:
</span><span class="cx"> break;
</span><span class="lines">@@ -131,7 +131,7 @@
</span><span class="cx"> break;
</span><span class="cx"> }
</span><span class="cx"> }
</span><del>- } else if (is<CSSPrimitiveValue>(value))
</del><ins>+ } else
</ins><span class="cx"> ASSERT(downcast<CSSPrimitiveValue>(value).getValueID() == CSSValueNormal);
</span><span class="cx">
</span><span class="cx"> receiver.setVariantNumericFigure(figure);
</span><span class="lines">@@ -170,10 +170,10 @@
</span><span class="cx"> variant = FontVariantEastAsianVariant::Traditional;
</span><span class="cx"> break;
</span><span class="cx"> case CSSValueFullWidth:
</span><del>- width = FontVariantEastAsianWidth::Full;
</del><ins>+ width = FontVariantEastAsianWidth::FullWidth;
</ins><span class="cx"> break;
</span><span class="cx"> case CSSValueProportionalWidth:
</span><del>- width = FontVariantEastAsianWidth::Proportional;
</del><ins>+ width = FontVariantEastAsianWidth::ProportionalWidth;
</ins><span class="cx"> break;
</span><span class="cx"> case CSSValueRuby:
</span><span class="cx"> ruby = FontVariantEastAsianRuby::Yes;
</span><span class="lines">@@ -183,7 +183,7 @@
</span><span class="cx"> break;
</span><span class="cx"> }
</span><span class="cx"> }
</span><del>- } else if (is<CSSPrimitiveValue>(value))
</del><ins>+ } else
</ins><span class="cx"> ASSERT(downcast<CSSPrimitiveValue>(value).getValueID() == CSSValueNormal);
</span><span class="cx">
</span><span class="cx"> receiver.setVariantEastAsianVariant(variant);
</span></span></pre></div>
<a id="trunkSourceWebCorecssStylePropertiescpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/StyleProperties.cpp (192842 => 192843)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/StyleProperties.cpp        2015-12-01 00:07:39 UTC (rev 192842)
+++ trunk/Source/WebCore/css/StyleProperties.cpp        2015-12-01 00:09:42 UTC (rev 192843)
</span><span class="lines">@@ -269,7 +269,7 @@
</span><span class="cx"> case CSSPropertyFontStyle:
</span><span class="cx"> break; // No prefix.
</span><span class="cx"> case CSSPropertyFontFamily:
</span><del>- case CSSPropertyFontVariantCaps:
</del><ins>+ case CSSPropertyFontVariant:
</ins><span class="cx"> case CSSPropertyFontWeight:
</span><span class="cx"> prefix = ' ';
</span><span class="cx"> break;
</span><span class="lines">@@ -303,7 +303,7 @@
</span><span class="cx"> String commonValue = fontSizeProperty.value()->cssText();
</span><span class="cx"> StringBuilder result;
</span><span class="cx"> appendFontLonghandValueIfExplicit(CSSPropertyFontStyle, result, commonValue);
</span><del>- appendFontLonghandValueIfExplicit(CSSPropertyFontVariantCaps, result, commonValue);
</del><ins>+ appendFontLonghandValueIfExplicit(CSSPropertyFontVariant, result, commonValue);
</ins><span class="cx"> appendFontLonghandValueIfExplicit(CSSPropertyFontWeight, result, commonValue);
</span><span class="cx"> if (!result.isEmpty())
</span><span class="cx"> result.append(' ');
</span><span class="lines">@@ -973,7 +973,7 @@
</span><span class="cx"> case CSSPropertyLineHeight:
</span><span class="cx"> case CSSPropertyFontSize:
</span><span class="cx"> case CSSPropertyFontStyle:
</span><del>- case CSSPropertyFontVariantCaps:
</del><ins>+ case CSSPropertyFontVariant:
</ins><span class="cx"> case CSSPropertyFontWeight:
</span><span class="cx"> // Don't use CSSPropertyFont because old UAs can't recognize them but are important for editing.
</span><span class="cx"> break;
</span></span></pre></div>
<a id="trunkSourceWebCorecssStyleResolvercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/StyleResolver.cpp (192842 => 192843)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/StyleResolver.cpp        2015-12-01 00:07:39 UTC (rev 192842)
+++ trunk/Source/WebCore/css/StyleResolver.cpp        2015-12-01 00:09:42 UTC (rev 192843)
</span><span class="lines">@@ -1805,7 +1805,7 @@
</span><span class="cx"> case CSSPropertyFontFamily:
</span><span class="cx"> case CSSPropertyFontSize:
</span><span class="cx"> case CSSPropertyFontStyle:
</span><del>- case CSSPropertyFontVariantCaps:
</del><ins>+ case CSSPropertyFontVariant:
</ins><span class="cx"> case CSSPropertyFontWeight:
</span><span class="cx"> case CSSPropertyLineHeight:
</span><span class="cx"> case CSSPropertyOpacity:
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingEditingStylecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/EditingStyle.cpp (192842 => 192843)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/EditingStyle.cpp        2015-12-01 00:07:39 UTC (rev 192842)
+++ trunk/Source/WebCore/editing/EditingStyle.cpp        2015-12-01 00:09:42 UTC (rev 192843)
</span><span class="lines">@@ -60,7 +60,7 @@
</span><span class="cx"> CSSPropertyFontFamily,
</span><span class="cx"> CSSPropertyFontSize,
</span><span class="cx"> CSSPropertyFontStyle,
</span><del>- CSSPropertyFontVariantCaps,
</del><ins>+ CSSPropertyFontVariant,
</ins><span class="cx"> CSSPropertyFontWeight,
</span><span class="cx"> CSSPropertyLetterSpacing,
</span><span class="cx"> CSSPropertyOrphans,
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingcocoaHTMLConvertermm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/cocoa/HTMLConverter.mm (192842 => 192843)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/cocoa/HTMLConverter.mm        2015-12-01 00:07:39 UTC (rev 192842)
+++ trunk/Source/WebCore/editing/cocoa/HTMLConverter.mm        2015-12-01 00:09:42 UTC (rev 192843)
</span><span class="lines">@@ -757,7 +757,7 @@
</span><span class="cx"> inherit = true;
</span><span class="cx"> break;
</span><span class="cx"> case CSSPropertyFontFamily:
</span><del>- case CSSPropertyFontVariantCaps:
</del><ins>+ case CSSPropertyFontVariant:
</ins><span class="cx"> case CSSPropertyTextTransform:
</span><span class="cx"> case CSSPropertyTextShadow:
</span><span class="cx"> case CSSPropertyVisibility:
</span><span class="lines">@@ -1118,7 +1118,7 @@
</span><span class="cx"> font = originalFont;
</span><span class="cx"> }
</span><span class="cx"> #if !PLATFORM(IOS) // IJB: No small caps support on iOS
</span><del>- if (_caches->propertyValueForNode(element, CSSPropertyFontVariantCaps) == "small-caps") {
</del><ins>+ if (_caches->propertyValueForNode(element, CSSPropertyFontVariant) == "small-caps") {
</ins><span class="cx"> // ??? synthesize small-caps if [font isEqual:originalFont]
</span><span class="cx"> NSFont *originalFont = font;
</span><span class="cx"> font = [fontManager convertFont:font toHaveTrait:NSSmallCapsFontMask];
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingiosEditorIOSmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/ios/EditorIOS.mm (192842 => 192843)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/ios/EditorIOS.mm        2015-12-01 00:07:39 UTC (rev 192842)
+++ trunk/Source/WebCore/editing/ios/EditorIOS.mm        2015-12-01 00:09:42 UTC (rev 192843)
</span><span class="lines">@@ -261,7 +261,7 @@
</span><span class="cx"> // FIXME: it'd be nice if knowledge about which styles were unchangeable was not hard-coded here.
</span><span class="cx"> defaultStyle->removeProperty(CSSPropertyFontWeight);
</span><span class="cx"> defaultStyle->removeProperty(CSSPropertyFontStyle);
</span><del>- defaultStyle->removeProperty(CSSPropertyFontVariantCaps);
</del><ins>+ defaultStyle->removeProperty(CSSPropertyFontVariant);
</ins><span class="cx"> // FIXME: we should handle also pasted quoted text, strikethrough, etc. <rdar://problem/9255115>
</span><span class="cx"> defaultStyle->removeProperty(CSSPropertyTextDecoration);
</span><span class="cx"> defaultStyle->removeProperty(CSSPropertyWebkitTextDecorationsInEffect); // implements underline
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlcanvasCanvasRenderingContext2Dcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp (192842 => 192843)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp        2015-12-01 00:07:39 UTC (rev 192842)
+++ trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp        2015-12-01 00:09:42 UTC (rev 192843)
</span><span class="lines">@@ -2118,7 +2118,7 @@
</span><span class="cx">
</span><span class="cx"> if (fontDescription.italic())
</span><span class="cx"> serializedFont.appendLiteral("italic ");
</span><del>- if (fontDescription.variantCaps() == FontVariantCaps::Small)
</del><ins>+ if (fontDescription.smallCaps() == FontSmallCapsOn)
</ins><span class="cx"> serializedFont.appendLiteral("small-caps ");
</span><span class="cx">
</span><span class="cx"> serializedFont.appendNumber(fontDescription.computedPixelSize());
</span><span class="lines">@@ -2187,7 +2187,7 @@
</span><span class="cx"> StyleResolver& styleResolver = canvas()->styleResolver();
</span><span class="cx"> styleResolver.applyPropertyToStyle(CSSPropertyFontFamily, parsedStyle->getPropertyCSSValue(CSSPropertyFontFamily).get(), &newStyle.get());
</span><span class="cx"> styleResolver.applyPropertyToCurrentStyle(CSSPropertyFontStyle, parsedStyle->getPropertyCSSValue(CSSPropertyFontStyle).get());
</span><del>- styleResolver.applyPropertyToCurrentStyle(CSSPropertyFontVariantCaps, parsedStyle->getPropertyCSSValue(CSSPropertyFontVariantCaps).get());
</del><ins>+ styleResolver.applyPropertyToCurrentStyle(CSSPropertyFontVariant, parsedStyle->getPropertyCSSValue(CSSPropertyFontVariant).get());
</ins><span class="cx"> styleResolver.applyPropertyToCurrentStyle(CSSPropertyFontWeight, parsedStyle->getPropertyCSSValue(CSSPropertyFontWeight).get());
</span><span class="cx">
</span><span class="cx"> // As described in BUG66291, setting font-size and line-height on a font may entail a CSSPrimitiveValue::computeLengthDouble call,
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsFontCacheh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/FontCache.h (192842 => 192843)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/FontCache.h        2015-12-01 00:07:39 UTC (rev 192842)
+++ trunk/Source/WebCore/platform/graphics/FontCache.h        2015-12-01 00:09:42 UTC (rev 192843)
</span><span class="lines">@@ -110,8 +110,9 @@
</span><span class="cx"> static std::array<unsigned, 2> makeFlagsKey(const FontDescription& description)
</span><span class="cx"> {
</span><span class="cx"> static_assert(USCRIPT_CODE_LIMIT < 0x1000, "Script code must fit in an unsigned along with the other flags");
</span><del>- unsigned first = static_cast<unsigned>(description.script()) << 10
- | static_cast<unsigned>(description.textRenderingMode()) << 8
</del><ins>+ unsigned first = static_cast<unsigned>(description.script()) << 11
+ | static_cast<unsigned>(description.textRenderingMode()) << 9
+ | static_cast<unsigned>(description.smallCaps()) << 8
</ins><span class="cx"> | static_cast<unsigned>(description.fontSynthesis()) << 6
</span><span class="cx"> | static_cast<unsigned>(description.widthVariant()) << 4
</span><span class="cx"> | static_cast<unsigned>(description.nonCJKGlyphOrientation()) << 3
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsFontCascadecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/FontCascade.cpp (192842 => 192843)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/FontCascade.cpp        2015-12-01 00:07:39 UTC (rev 192842)
+++ trunk/Source/WebCore/platform/graphics/FontCascade.cpp        2015-12-01 00:09:42 UTC (rev 192843)
</span><span class="lines">@@ -393,7 +393,7 @@
</span><span class="cx"> GlyphData FontCascade::glyphDataForCharacter(UChar32 c, bool mirror, FontVariant variant) const
</span><span class="cx"> {
</span><span class="cx"> if (variant == AutoVariant) {
</span><del>- if (m_fontDescription.variantCaps() == FontVariantCaps::Small && !primaryFont().isSVGFont()) {
</del><ins>+ if (m_fontDescription.smallCaps() && !primaryFont().isSVGFont()) {
</ins><span class="cx"> UChar32 upperC = u_toupper(c);
</span><span class="cx"> if (upperC != c) {
</span><span class="cx"> c = upperC;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsFontCascadeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/FontCascade.h (192842 => 192843)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/FontCascade.h        2015-12-01 00:07:39 UTC (rev 192842)
+++ trunk/Source/WebCore/platform/graphics/FontCascade.h        2015-12-01 00:09:42 UTC (rev 192843)
</span><span class="lines">@@ -148,7 +148,7 @@
</span><span class="cx"> int offsetForPosition(const TextRun&, float position, bool includePartialGlyphs) const;
</span><span class="cx"> void adjustSelectionRectForText(const TextRun&, LayoutRect& selectionRect, int from = 0, int to = -1) const;
</span><span class="cx">
</span><del>- bool isSmallCaps() const { return m_fontDescription.variantCaps() == FontVariantCaps::Small; }
</del><ins>+ bool isSmallCaps() const { return m_fontDescription.smallCaps(); }
</ins><span class="cx">
</span><span class="cx"> float wordSpacing() const { return m_wordSpacing; }
</span><span class="cx"> float letterSpacing() const { return m_letterSpacing; }
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsFontDescriptioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/FontDescription.cpp (192842 => 192843)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/FontDescription.cpp        2015-12-01 00:07:39 UTC (rev 192842)
+++ trunk/Source/WebCore/platform/graphics/FontDescription.cpp        2015-12-01 00:09:42 UTC (rev 192843)
</span><span class="lines">@@ -52,6 +52,7 @@
</span><span class="cx"> , m_nonCJKGlyphOrientation(static_cast<unsigned>(NonCJKGlyphOrientation::Mixed))
</span><span class="cx"> , m_widthVariant(RegularWidth)
</span><span class="cx"> , m_italic(FontItalicOff)
</span><ins>+ , m_smallCaps(FontSmallCapsOff)
</ins><span class="cx"> , m_weight(FontWeightNormal)
</span><span class="cx"> , m_renderingMode(static_cast<unsigned>(FontRenderingMode::Normal))
</span><span class="cx"> , m_textRendering(AutoTextRendering)
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsFontDescriptionh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/FontDescription.h (192842 => 192843)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/FontDescription.h        2015-12-01 00:07:39 UTC (rev 192842)
+++ trunk/Source/WebCore/platform/graphics/FontDescription.h        2015-12-01 00:09:42 UTC (rev 192843)
</span><span class="lines">@@ -48,6 +48,7 @@
</span><span class="cx"> float computedSize() const { return m_computedSize; }
</span><span class="cx"> FontItalic italic() const { return static_cast<FontItalic>(m_italic); }
</span><span class="cx"> int computedPixelSize() const { return int(m_computedSize + 0.5f); }
</span><ins>+ FontSmallCaps smallCaps() const { return static_cast<FontSmallCaps>(m_smallCaps); }
</ins><span class="cx"> FontWeight weight() const { return static_cast<FontWeight>(m_weight); }
</span><span class="cx"> FontWeight lighterWeight() const;
</span><span class="cx"> FontWeight bolderWeight() const;
</span><span class="lines">@@ -98,6 +99,8 @@
</span><span class="cx"> void setComputedSize(float s) { m_computedSize = clampToFloat(s); }
</span><span class="cx"> void setItalic(FontItalic i) { m_italic = i; }
</span><span class="cx"> void setIsItalic(bool i) { setItalic(i ? FontItalicOn : FontItalicOff); }
</span><ins>+ void setSmallCaps(FontSmallCaps c) { m_smallCaps = c; }
+ void setIsSmallCaps(bool c) { setSmallCaps(c ? FontSmallCapsOn : FontSmallCapsOff); }
</ins><span class="cx"> void setWeight(FontWeight w) { m_weight = w; }
</span><span class="cx"> void setRenderingMode(FontRenderingMode mode) { m_renderingMode = static_cast<unsigned>(mode); }
</span><span class="cx"> void setTextRenderingMode(TextRenderingMode rendering) { m_textRendering = rendering; }
</span><span class="lines">@@ -134,6 +137,7 @@
</span><span class="cx"> unsigned m_nonCJKGlyphOrientation : 1; // NonCJKGlyphOrientation - Only used by vertical text. Determines the default orientation for non-ideograph glyphs.
</span><span class="cx"> unsigned m_widthVariant : 2; // FontWidthVariant
</span><span class="cx"> unsigned m_italic : 1; // FontItalic
</span><ins>+ unsigned m_smallCaps : 1; // FontSmallCaps
</ins><span class="cx"> unsigned m_weight : 8; // FontWeight
</span><span class="cx"> unsigned m_renderingMode : 1; // Used to switch between CG and GDI text on Windows.
</span><span class="cx"> unsigned m_textRendering : 2; // TextRenderingMode
</span><span class="lines">@@ -160,6 +164,7 @@
</span><span class="cx"> {
</span><span class="cx"> return m_computedSize == other.m_computedSize
</span><span class="cx"> && m_italic == other.m_italic
</span><ins>+ && m_smallCaps == other.m_smallCaps
</ins><span class="cx"> && m_weight == other.m_weight
</span><span class="cx"> && m_renderingMode == other.m_renderingMode
</span><span class="cx"> && m_textRendering == other.m_textRendering
</span><span class="lines">@@ -246,7 +251,7 @@
</span><span class="cx"> {
</span><span class="cx"> return familiesEqualForTextAutoSizing(other)
</span><span class="cx"> && m_specifiedSize == other.m_specifiedSize
</span><del>- && variantSettings() == other.variantSettings()
</del><ins>+ && smallCaps() == other.smallCaps()
</ins><span class="cx"> && m_isAbsoluteSize == other.m_isAbsoluteSize;
</span><span class="cx"> }
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicscocoaFontCacheCoreTextcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp (192842 => 192843)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp        2015-12-01 00:07:39 UTC (rev 192842)
+++ trunk/Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp        2015-12-01 00:09:42 UTC (rev 192843)
</span><span class="lines">@@ -342,10 +342,10 @@
</span><span class="cx"> switch (variantSettings.eastAsianWidth) {
</span><span class="cx"> case FontVariantEastAsianWidth::Normal:
</span><span class="cx"> break;
</span><del>- case FontVariantEastAsianWidth::Full:
</del><ins>+ case FontVariantEastAsianWidth::FullWidth:
</ins><span class="cx"> result.add(fontFeatureTag("fwid"), 1);
</span><span class="cx"> break;
</span><del>- case FontVariantEastAsianWidth::Proportional:
</del><ins>+ case FontVariantEastAsianWidth::ProportionalWidth:
</ins><span class="cx"> result.add(fontFeatureTag("pwid"), 1);
</span><span class="cx"> break;
</span><span class="cx"> default:
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformtextTextFlagsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/text/TextFlags.h (192842 => 192843)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/text/TextFlags.h        2015-12-01 00:07:39 UTC (rev 192842)
+++ trunk/Source/WebCore/platform/text/TextFlags.h        2015-12-01 00:09:42 UTC (rev 192843)
</span><span class="lines">@@ -139,8 +139,8 @@
</span><span class="cx">
</span><span class="cx"> enum class FontVariantEastAsianWidth {
</span><span class="cx"> Normal,
</span><del>- Full,
- Proportional
</del><ins>+ FullWidth,
+ ProportionalWidth
</ins><span class="cx"> };
</span><span class="cx">
</span><span class="cx"> enum class FontVariantEastAsianRuby {
</span><span class="lines">@@ -221,25 +221,6 @@
</span><span class="cx"> && eastAsianRuby == FontVariantEastAsianRuby::Normal;
</span><span class="cx"> }
</span><span class="cx">
</span><del>- bool operator==(const FontVariantSettings& other)
- {
- return commonLigatures == other.commonLigatures
- && discretionaryLigatures == other.discretionaryLigatures
- && historicalLigatures == other.historicalLigatures
- && contextualAlternates == other.contextualAlternates
- && position == other.position
- && caps == other.caps
- && numericFigure == other.numericFigure
- && numericSpacing == other.numericSpacing
- && numericFraction == other.numericFraction
- && numericOrdinal == other.numericOrdinal
- && numericSlashedZero == other.numericSlashedZero
- && alternates == other.alternates
- && eastAsianVariant == other.eastAsianVariant
- && eastAsianWidth == other.eastAsianWidth
- && eastAsianRuby == other.eastAsianRuby;
- }
-
</del><span class="cx"> FontVariantLigatures commonLigatures;
</span><span class="cx"> FontVariantLigatures discretionaryLigatures;
</span><span class="cx"> FontVariantLigatures historicalLigatures;
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderTextcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderText.cpp (192842 => 192843)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderText.cpp        2015-12-01 00:07:39 UTC (rev 192842)
+++ trunk/Source/WebCore/rendering/RenderText.cpp        2015-12-01 00:09:42 UTC (rev 192843)
</span><span class="lines">@@ -460,7 +460,7 @@
</span><span class="cx"> return combineText.combinedTextWidth(f);
</span><span class="cx"> }
</span><span class="cx">
</span><del>- if (f.isFixedPitch() && f.fontDescription().variantSettings().isAllNormal() && m_isAllASCII && (!glyphOverflow || !glyphOverflow->computeBounds)) {
</del><ins>+ if (f.isFixedPitch() && !f.isSmallCaps() && m_isAllASCII && (!glyphOverflow || !glyphOverflow->computeBounds)) {
</ins><span class="cx"> float monospaceCharacterWidth = f.spaceWidth();
</span><span class="cx"> float w = 0;
</span><span class="cx"> bool isSpace;
</span></span></pre>
</div>
</div>
</body>
</html>