<!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>[178586] trunk/Source/WebCore</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/178586">178586</a></dd>
<dt>Author</dt> <dd>cdumez@apple.com</dd>
<dt>Date</dt> <dd>2015-01-16 11:39:02 -0800 (Fri, 16 Jan 2015)</dd>
</dl>
<h3>Log Message</h3>
<pre>Generate StylePropertyShorthand.* from CSSPropertyNames.in
https://bugs.webkit.org/show_bug.cgi?id=140501
Reviewed by Darin Adler.
Add initial support for having makeprop.pl generate most of
StylePropertyShorthand.* from CSSPropertyNames.in.
This patch replaces [Shorthand] parameter in CSSPropertyNames.in by a
more descriptive [Longhands=property1|property2|...] parameter. With
this information, makeprop.pl is now able to generate the
StylePropertyShorthand factories for all CSS shorthand properties
in a new StylePropertyShorthandFunctions.h header.
The switches in StylePropertyShorthand.cpp could also be generated
but this will be taken care of in follow-up patches to reduce patch
size.
* CMakeLists.txt:
* DerivedSources.make:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::propertyValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
* css/CSSPropertyNames.in:
* css/StyleProperties.cpp:
(WebCore::StyleProperties::getPropertyValue):
* css/StylePropertyShorthand.cpp:
(WebCore::shorthandForProperty):
(WebCore::matchingShorthandsForLonghand):
(WebCore::backgroundShorthand): Deleted.
(WebCore::backgroundPositionShorthand): Deleted.
(WebCore::backgroundRepeatShorthand): Deleted.
(WebCore::borderShorthand): Deleted.
(WebCore::borderBottomShorthand): Deleted.
(WebCore::borderColorShorthand): Deleted.
(WebCore::borderImageShorthand): Deleted.
(WebCore::borderLeftShorthand): Deleted.
(WebCore::borderRadiusShorthand): Deleted.
(WebCore::webkitBorderRadiusShorthand): Deleted.
(WebCore::borderRightShorthand): Deleted.
(WebCore::borderSpacingShorthand): Deleted.
(WebCore::borderStyleShorthand): Deleted.
(WebCore::borderTopShorthand): Deleted.
(WebCore::borderWidthShorthand): Deleted.
(WebCore::listStyleShorthand): Deleted.
(WebCore::marginShorthand): Deleted.
(WebCore::markerShorthand): Deleted.
(WebCore::outlineShorthand): Deleted.
(WebCore::overflowShorthand): Deleted.
(WebCore::paddingShorthand): Deleted.
(WebCore::transitionShorthand): Deleted.
(WebCore::animationShorthand): Deleted.
(WebCore::webkitAnimationShorthand): Deleted.
(WebCore::webkitBorderAfterShorthand): Deleted.
(WebCore::webkitBorderBeforeShorthand): Deleted.
(WebCore::webkitBorderEndShorthand): Deleted.
(WebCore::webkitBorderStartShorthand): Deleted.
(WebCore::webkitColumnsShorthand): Deleted.
(WebCore::webkitColumnRuleShorthand): Deleted.
(WebCore::flexFlowShorthand): Deleted.
(WebCore::flexShorthand): Deleted.
(WebCore::webkitMarginCollapseShorthand): Deleted.
(WebCore::webkitGridShorthand): Deleted.
(WebCore::webkitGridTemplateShorthand): Deleted.
(WebCore::webkitGridAreaShorthand): Deleted.
(WebCore::webkitGridColumnShorthand): Deleted.
(WebCore::webkitGridRowShorthand): Deleted.
(WebCore::webkitMarqueeShorthand): Deleted.
(WebCore::webkitMaskShorthand): Deleted.
(WebCore::webkitMaskPositionShorthand): Deleted.
(WebCore::webkitMaskRepeatShorthand): Deleted.
(WebCore::webkitTextDecorationShorthand): Deleted.
(WebCore::webkitTextEmphasisShorthand): Deleted.
(WebCore::webkitTextStrokeShorthand): Deleted.
(WebCore::webkitTransitionShorthand): Deleted.
(WebCore::webkitPerspectiveOriginShorthand): Deleted.
(WebCore::webkitTransformOriginShorthand): Deleted.
* css/StylePropertyShorthand.h:
* css/makeprop.pl:</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreCMakeListstxt">trunk/Source/WebCore/CMakeLists.txt</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreDerivedSourcesmake">trunk/Source/WebCore/DerivedSources.make</a></li>
<li><a href="#trunkSourceWebCoreWebCorevcxprojWebCorevcxproj">trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj</a></li>
<li><a href="#trunkSourceWebCoreWebCorevcxprojWebCorevcxprojfilters">trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters</a></li>
<li><a href="#trunkSourceWebCoreWebCorexcodeprojprojectpbxproj">trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceWebCorecssCSSComputedStyleDeclarationcpp">trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp</a></li>
<li><a href="#trunkSourceWebCorecssCSSParsercpp">trunk/Source/WebCore/css/CSSParser.cpp</a></li>
<li><a href="#trunkSourceWebCorecssCSSPropertycpp">trunk/Source/WebCore/css/CSSProperty.cpp</a></li>
<li><a href="#trunkSourceWebCorecssCSSPropertyNamesin">trunk/Source/WebCore/css/CSSPropertyNames.in</a></li>
<li><a href="#trunkSourceWebCorecssStylePropertiescpp">trunk/Source/WebCore/css/StyleProperties.cpp</a></li>
<li><a href="#trunkSourceWebCorecssStylePropertyShorthandcpp">trunk/Source/WebCore/css/StylePropertyShorthand.cpp</a></li>
<li><a href="#trunkSourceWebCorecssStylePropertyShorthandh">trunk/Source/WebCore/css/StylePropertyShorthand.h</a></li>
<li><a href="#trunkSourceWebCorecssmakeproppl">trunk/Source/WebCore/css/makeprop.pl</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreCMakeListstxt"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/CMakeLists.txt (178585 => 178586)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/CMakeLists.txt        2015-01-16 19:38:11 UTC (rev 178585)
+++ trunk/Source/WebCore/CMakeLists.txt        2015-01-16 19:39:02 UTC (rev 178586)
</span><span class="lines">@@ -3224,7 +3224,7 @@
</span><span class="cx">
</span><span class="cx"> # Generate CSS property names
</span><span class="cx"> add_custom_command(
</span><del>- OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/CSSPropertyNames.in ${DERIVED_SOURCES_WEBCORE_DIR}/CSSPropertyNames.h ${DERIVED_SOURCES_WEBCORE_DIR}/CSSPropertyNames.cpp ${DERIVED_SOURCES_WEBCORE_DIR}/CSSPropertyNames.gperf ${DERIVED_SOURCES_WEBCORE_DIR}/StyleBuilder.cpp
</del><ins>+ OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/CSSPropertyNames.in ${DERIVED_SOURCES_WEBCORE_DIR}/CSSPropertyNames.h ${DERIVED_SOURCES_WEBCORE_DIR}/CSSPropertyNames.cpp ${DERIVED_SOURCES_WEBCORE_DIR}/CSSPropertyNames.gperf ${DERIVED_SOURCES_WEBCORE_DIR}/StyleBuilder.cpp ${DERIVED_SOURCES_WEBCORE_DIR}/StylePropertyShorthandFunctions.h ${DERIVED_SOURCES_WEBCORE_DIR}/StylePropertyShorthandFunctions.cpp
</ins><span class="cx"> MAIN_DEPENDENCY ${WEBCORE_DIR}/css/makeprop.pl
</span><span class="cx"> DEPENDS ${WebCore_CSS_PROPERTY_NAMES}
</span><span class="cx"> WORKING_DIRECTORY ${DERIVED_SOURCES_WEBCORE_DIR}
</span><span class="lines">@@ -3233,6 +3233,7 @@
</span><span class="cx"> VERBATIM)
</span><span class="cx"> list(APPEND WebCore_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/CSSPropertyNames.cpp)
</span><span class="cx"> list(APPEND WebCore_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/StyleBuilder.cpp)
</span><ins>+list(APPEND WebCore_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/StylePropertyShorthandFunctions.cpp)
</ins><span class="cx"> ADD_SOURCE_WEBCORE_DERIVED_DEPENDENCIES(${WEBCORE_DIR}/css/CSSParser.cpp CSSValueKeywords.h)
</span><span class="cx"> ADD_SOURCE_WEBCORE_DERIVED_DEPENDENCIES(${DERIVED_SOURCES_WEBCORE_DIR}/CSSGrammar.cpp CSSPropertyNames.h)
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (178585 => 178586)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2015-01-16 19:38:11 UTC (rev 178585)
+++ trunk/Source/WebCore/ChangeLog        2015-01-16 19:39:02 UTC (rev 178586)
</span><span class="lines">@@ -1,3 +1,89 @@
</span><ins>+2015-01-16 Chris Dumez <cdumez@apple.com>
+
+ Generate StylePropertyShorthand.* from CSSPropertyNames.in
+ https://bugs.webkit.org/show_bug.cgi?id=140501
+
+ Reviewed by Darin Adler.
+
+ Add initial support for having makeprop.pl generate most of
+ StylePropertyShorthand.* from CSSPropertyNames.in.
+
+ This patch replaces [Shorthand] parameter in CSSPropertyNames.in by a
+ more descriptive [Longhands=property1|property2|...] parameter. With
+ this information, makeprop.pl is now able to generate the
+ StylePropertyShorthand factories for all CSS shorthand properties
+ in a new StylePropertyShorthandFunctions.h header.
+
+ The switches in StylePropertyShorthand.cpp could also be generated
+ but this will be taken care of in follow-up patches to reduce patch
+ size.
+
+ * CMakeLists.txt:
+ * DerivedSources.make:
+ * WebCore.vcxproj/WebCore.vcxproj:
+ * WebCore.vcxproj/WebCore.vcxproj.filters:
+ * WebCore.xcodeproj/project.pbxproj:
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::ComputedStyleExtractor::propertyValue):
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseValue):
+ * css/CSSPropertyNames.in:
+ * css/StyleProperties.cpp:
+ (WebCore::StyleProperties::getPropertyValue):
+ * css/StylePropertyShorthand.cpp:
+ (WebCore::shorthandForProperty):
+ (WebCore::matchingShorthandsForLonghand):
+ (WebCore::backgroundShorthand): Deleted.
+ (WebCore::backgroundPositionShorthand): Deleted.
+ (WebCore::backgroundRepeatShorthand): Deleted.
+ (WebCore::borderShorthand): Deleted.
+ (WebCore::borderBottomShorthand): Deleted.
+ (WebCore::borderColorShorthand): Deleted.
+ (WebCore::borderImageShorthand): Deleted.
+ (WebCore::borderLeftShorthand): Deleted.
+ (WebCore::borderRadiusShorthand): Deleted.
+ (WebCore::webkitBorderRadiusShorthand): Deleted.
+ (WebCore::borderRightShorthand): Deleted.
+ (WebCore::borderSpacingShorthand): Deleted.
+ (WebCore::borderStyleShorthand): Deleted.
+ (WebCore::borderTopShorthand): Deleted.
+ (WebCore::borderWidthShorthand): Deleted.
+ (WebCore::listStyleShorthand): Deleted.
+ (WebCore::marginShorthand): Deleted.
+ (WebCore::markerShorthand): Deleted.
+ (WebCore::outlineShorthand): Deleted.
+ (WebCore::overflowShorthand): Deleted.
+ (WebCore::paddingShorthand): Deleted.
+ (WebCore::transitionShorthand): Deleted.
+ (WebCore::animationShorthand): Deleted.
+ (WebCore::webkitAnimationShorthand): Deleted.
+ (WebCore::webkitBorderAfterShorthand): Deleted.
+ (WebCore::webkitBorderBeforeShorthand): Deleted.
+ (WebCore::webkitBorderEndShorthand): Deleted.
+ (WebCore::webkitBorderStartShorthand): Deleted.
+ (WebCore::webkitColumnsShorthand): Deleted.
+ (WebCore::webkitColumnRuleShorthand): Deleted.
+ (WebCore::flexFlowShorthand): Deleted.
+ (WebCore::flexShorthand): Deleted.
+ (WebCore::webkitMarginCollapseShorthand): Deleted.
+ (WebCore::webkitGridShorthand): Deleted.
+ (WebCore::webkitGridTemplateShorthand): Deleted.
+ (WebCore::webkitGridAreaShorthand): Deleted.
+ (WebCore::webkitGridColumnShorthand): Deleted.
+ (WebCore::webkitGridRowShorthand): Deleted.
+ (WebCore::webkitMarqueeShorthand): Deleted.
+ (WebCore::webkitMaskShorthand): Deleted.
+ (WebCore::webkitMaskPositionShorthand): Deleted.
+ (WebCore::webkitMaskRepeatShorthand): Deleted.
+ (WebCore::webkitTextDecorationShorthand): Deleted.
+ (WebCore::webkitTextEmphasisShorthand): Deleted.
+ (WebCore::webkitTextStrokeShorthand): Deleted.
+ (WebCore::webkitTransitionShorthand): Deleted.
+ (WebCore::webkitPerspectiveOriginShorthand): Deleted.
+ (WebCore::webkitTransformOriginShorthand): Deleted.
+ * css/StylePropertyShorthand.h:
+ * css/makeprop.pl:
+
</ins><span class="cx"> 2015-01-16 Commit Queue <commit-queue@webkit.org>
</span><span class="cx">
</span><span class="cx"> Unreviewed, rolling out r178532.
</span></span></pre></div>
<a id="trunkSourceWebCoreDerivedSourcesmake"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/DerivedSources.make (178585 => 178586)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/DerivedSources.make        2015-01-16 19:38:11 UTC (rev 178585)
+++ trunk/Source/WebCore/DerivedSources.make        2015-01-16 19:39:02 UTC (rev 178586)
</span><span class="lines">@@ -782,6 +782,8 @@
</span><span class="cx"> SelectorPseudoClassAndCompatibilityElementMap.cpp \
</span><span class="cx"> SelectorPseudoElementTypeMap.cpp \
</span><span class="cx"> StyleBuilder.cpp \
</span><ins>+ StylePropertyShorthandFunctions.cpp \
+ StylePropertyShorthandFunctions.h \
</ins><span class="cx"> UserAgentStyleSheets.h \
</span><span class="cx"> WebKitFontFamilyNames.cpp \
</span><span class="cx"> WebKitFontFamilyNames.h \
</span><span class="lines">@@ -817,7 +819,7 @@
</span><span class="cx"> WEBCORE_CSS_VALUE_KEYWORDS := $(WebCore)/css/CSSValueKeywords.in
</span><span class="cx"> WEBCORE_CSS_VALUE_KEYWORDS := $(WEBCORE_CSS_VALUE_KEYWORDS) $(WebCore)/css/SVGCSSValueKeywords.in
</span><span class="cx">
</span><del>-CSSPropertyNames.h StyleBuilder.cpp : $(WEBCORE_CSS_PROPERTY_NAMES) css/makeprop.pl bindings/scripts/preprocessor.pm $(PLATFORM_FEATURE_DEFINES)
</del><ins>+CSSPropertyNames.h StyleBuilder.cpp StylePropertyShorthandFunctions.h StylePropertyShorthandFunctions.cpp : $(WEBCORE_CSS_PROPERTY_NAMES) css/makeprop.pl bindings/scripts/preprocessor.pm $(PLATFORM_FEATURE_DEFINES)
</ins><span class="cx">         $(PERL) -pe '' $(WEBCORE_CSS_PROPERTY_NAMES) > CSSPropertyNames.in
</span><span class="cx">         $(PERL) -I$(WebCore)/bindings/scripts "$(WebCore)/css/makeprop.pl" --defines "$(FEATURE_DEFINES)"
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorevcxprojWebCorevcxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj (178585 => 178586)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj        2015-01-16 19:38:11 UTC (rev 178585)
+++ trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj        2015-01-16 19:39:02 UTC (rev 178586)
</span><span class="lines">@@ -286,6 +286,7 @@
</span><span class="cx"> <ClCompile Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\SelectorPseudoClassAndCompatibilityElementMap.cpp" />
</span><span class="cx"> <ClCompile Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\SelectorPseudoElementTypeMap.cpp" />
</span><span class="cx"> <ClCompile Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\StyleBuilder.cpp" />
</span><ins>+ <ClCompile Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\StylePropertyShorthandFunctions.cpp" />
</ins><span class="cx"> <ClCompile Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\WebCore\DerivedSources\JSANGLEInstancedArrays.cpp">
</span><span class="cx"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
</span><span class="cx"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorevcxprojWebCorevcxprojfilters"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters (178585 => 178586)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters        2015-01-16 19:38:11 UTC (rev 178585)
+++ trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters        2015-01-16 19:39:02 UTC (rev 178586)
</span><span class="lines">@@ -5083,6 +5083,9 @@
</span><span class="cx"> <ClCompile Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\StyleBuilder.cpp">
</span><span class="cx"> <Filter>DerivedSources</Filter>
</span><span class="cx"> </ClCompile>
</span><ins>+ <ClCompile Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\StylePropertyShorthandFunctions.cpp">
+ <Filter>DerivedSources</Filter>
+ </ClCompile>
</ins><span class="cx"> <ClCompile Include="$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\EventFactory.cpp">
</span><span class="cx"> <Filter>DerivedSources</Filter>
</span><span class="cx"> </ClCompile>
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (178585 => 178586)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2015-01-16 19:38:11 UTC (rev 178585)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2015-01-16 19:39:02 UTC (rev 178586)
</span><span class="lines">@@ -2553,6 +2553,8 @@
</span><span class="cx">                 839AAFEC1A0C0C8D00605F99 /* HTMLWBRElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 839AAFEA1A0C0C8D00605F99 /* HTMLWBRElement.cpp */; };
</span><span class="cx">                 839AAFED1A0C0C8D00605F99 /* HTMLWBRElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 839AAFEB1A0C0C8D00605F99 /* HTMLWBRElement.h */; };
</span><span class="cx">                 83B9687B19F8AB83004EF7AF /* StyleBuilderConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = 83B9687919F8AB83004EF7AF /* StyleBuilderConverter.h */; };
</span><ins>+                83C05A5A1A686212007E5DEA /* StylePropertyShorthandFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83C05A581A686212007E5DEA /* StylePropertyShorthandFunctions.cpp */; };
+                83C05A5B1A686212007E5DEA /* StylePropertyShorthandFunctions.h in Headers */ = {isa = PBXBuildFile; fileRef = 83C05A591A686212007E5DEA /* StylePropertyShorthandFunctions.h */; };
</ins><span class="cx">                 83C1D425178D5AB400141E68 /* SVGPathSegArcAbs.h in Headers */ = {isa = PBXBuildFile; fileRef = 83C1D413178D5AB400141E68 /* SVGPathSegArcAbs.h */; };
</span><span class="cx">                 83C1D426178D5AB400141E68 /* SVGPathSegArcRel.h in Headers */ = {isa = PBXBuildFile; fileRef = 83C1D414178D5AB400141E68 /* SVGPathSegArcRel.h */; };
</span><span class="cx">                 83C1D427178D5AB400141E68 /* SVGPathSegCurvetoCubicAbs.h in Headers */ = {isa = PBXBuildFile; fileRef = 83C1D415178D5AB400141E68 /* SVGPathSegCurvetoCubicAbs.h */; };
</span><span class="lines">@@ -9718,6 +9720,8 @@
</span><span class="cx">                 839AAFEA1A0C0C8D00605F99 /* HTMLWBRElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HTMLWBRElement.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 839AAFEB1A0C0C8D00605F99 /* HTMLWBRElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTMLWBRElement.h; sourceTree = "<group>"; };
</span><span class="cx">                 83B9687919F8AB83004EF7AF /* StyleBuilderConverter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StyleBuilderConverter.h; sourceTree = "<group>"; };
</span><ins>+                83C05A581A686212007E5DEA /* StylePropertyShorthandFunctions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; name = StylePropertyShorthandFunctions.cpp; path = StylePropertyShorthandFunctions.cpp; sourceTree = "<group>"; };
+                83C05A591A686212007E5DEA /* StylePropertyShorthandFunctions.h */ = {isa = PBXFileReference; fileEncoding = 4; name = StylePropertyShorthandFunctions.h; path = StylePropertyShorthandFunctions.h; sourceTree = "<group>"; };
</ins><span class="cx">                 83C1D413178D5AB400141E68 /* SVGPathSegArcAbs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGPathSegArcAbs.h; sourceTree = "<group>"; };
</span><span class="cx">                 83C1D414178D5AB400141E68 /* SVGPathSegArcRel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGPathSegArcRel.h; sourceTree = "<group>"; };
</span><span class="cx">                 83C1D415178D5AB400141E68 /* SVGPathSegCurvetoCubicAbs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGPathSegCurvetoCubicAbs.h; sourceTree = "<group>"; };
</span><span class="lines">@@ -16286,6 +16290,8 @@
</span><span class="cx">                                 26AA0F9F18D2A1C100419381 /* SelectorPseudoElementTypeMap.gperf */,
</span><span class="cx">                                 53EF766A16530A61004CBE49 /* SettingsMacros.h */,
</span><span class="cx">                                 8386A96E19F61E4F00E1EC4A /* StyleBuilder.cpp */,
</span><ins>+                                83C05A581A686212007E5DEA /* StylePropertyShorthandFunctions.cpp */,
+                                83C05A591A686212007E5DEA /* StylePropertyShorthandFunctions.h */,
</ins><span class="cx">                                 656581E609D1508D000E61D7 /* SVGElementFactory.cpp */,
</span><span class="cx">                                 656581E709D1508D000E61D7 /* SVGElementFactory.h */,
</span><span class="cx">                                 B562DB5F17D3CD560010AF96 /* SVGElementTypeHelpers.h */,
</span><span class="lines">@@ -26143,6 +26149,7 @@
</span><span class="cx">                                 08D46CE3127AD5FC0089694B /* SVGAnimatedEnumeration.h in Headers */,
</span><span class="cx">                                 71FB967B1383D64600AC8A4C /* SVGAnimatedEnumerationPropertyTearOff.h in Headers */,
</span><span class="cx">                                 0823D159127AD6AC000EBC95 /* SVGAnimatedInteger.h in Headers */,
</span><ins>+                                83C05A5B1A686212007E5DEA /* StylePropertyShorthandFunctions.h in Headers */,
</ins><span class="cx">                                 71E623D1151F72A60036E2F4 /* SVGAnimatedIntegerOptionalInteger.h in Headers */,
</span><span class="cx">                                 089021A9126EF5DE0092D5EA /* SVGAnimatedLength.h in Headers */,
</span><span class="cx">                                 089021AD126EF5E90092D5EA /* SVGAnimatedLengthList.h in Headers */,
</span><span class="lines">@@ -28549,6 +28556,7 @@
</span><span class="cx">                                 07969DC317D14151007FF842 /* JSRTCStatsResponse.cpp in Sources */,
</span><span class="cx">                                 07DC5FD417D3EEE90099F890 /* JSRTCStatsResponseCustom.cpp in Sources */,
</span><span class="cx">                                 BCEC01C20C274DDD009F4EC9 /* JSScreen.cpp in Sources */,
</span><ins>+                                83C05A5A1A686212007E5DEA /* StylePropertyShorthandFunctions.cpp in Sources */,
</ins><span class="cx">                                 FDA15ECD12B03F61003A583A /* JSScriptProcessorNode.cpp in Sources */,
</span><span class="cx">                                 9FA37EFA1172FDA600C4CD55 /* JSScriptProfile.cpp in Sources */,
</span><span class="cx">                                 9FA37EFC1172FDA600C4CD55 /* JSScriptProfileNode.cpp in Sources */,
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSComputedStyleDeclarationcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp (178585 => 178586)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp        2015-01-16 19:38:11 UTC (rev 178585)
+++ trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp        2015-01-16 19:39:02 UTC (rev 178586)
</span><span class="lines">@@ -3012,9 +3012,9 @@
</span><span class="cx"> case CSSPropertyBorderWidth:
</span><span class="cx"> return getCSSPropertyValuesForSidesShorthand(borderWidthShorthand());
</span><span class="cx"> case CSSPropertyColumnRule:
</span><del>- return getCSSPropertyValuesForShorthandProperties(webkitColumnRuleShorthand());
</del><ins>+ return getCSSPropertyValuesForShorthandProperties(columnRuleShorthand());
</ins><span class="cx"> case CSSPropertyColumns:
</span><del>- return getCSSPropertyValuesForShorthandProperties(webkitColumnsShorthand());
</del><ins>+ return getCSSPropertyValuesForShorthandProperties(columnsShorthand());
</ins><span class="cx"> case CSSPropertyListStyle:
</span><span class="cx"> return getCSSPropertyValuesForShorthandProperties(listStyleShorthand());
</span><span class="cx"> case CSSPropertyMargin:
</span><span class="lines">@@ -3385,8 +3385,8 @@
</span><span class="cx"> CSSPropertyBackgroundClip };
</span><span class="cx">
</span><span class="cx"> RefPtr<CSSValueList> list = CSSValueList::createSlashSeparated();
</span><del>- list->append(*getCSSPropertyValuesForShorthandProperties(StylePropertyShorthand(CSSPropertyBackground, propertiesBeforeSlashSeperator, WTF_ARRAY_LENGTH(propertiesBeforeSlashSeperator))));
- list->append(*getCSSPropertyValuesForShorthandProperties(StylePropertyShorthand(CSSPropertyBackground, propertiesAfterSlashSeperator, WTF_ARRAY_LENGTH(propertiesAfterSlashSeperator))));
</del><ins>+ list->append(*getCSSPropertyValuesForShorthandProperties(StylePropertyShorthand(CSSPropertyBackground, propertiesBeforeSlashSeperator)));
+ list->append(*getCSSPropertyValuesForShorthandProperties(StylePropertyShorthand(CSSPropertyBackground, propertiesAfterSlashSeperator)));
</ins><span class="cx"> return list.release();
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSParsercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSParser.cpp (178585 => 178586)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSParser.cpp        2015-01-16 19:38:11 UTC (rev 178585)
+++ trunk/Source/WebCore/css/CSSParser.cpp        2015-01-16 19:39:02 UTC (rev 178586)
</span><span class="lines">@@ -2899,9 +2899,9 @@
</span><span class="cx"> case CSSPropertyListStyle:
</span><span class="cx"> return parseShorthand(propId, listStyleShorthand(), important);
</span><span class="cx"> case CSSPropertyColumns:
</span><del>- return parseShorthand(propId, webkitColumnsShorthand(), important);
</del><ins>+ return parseShorthand(propId, columnsShorthand(), important);
</ins><span class="cx"> case CSSPropertyColumnRule:
</span><del>- return parseShorthand(propId, webkitColumnRuleShorthand(), important);
</del><ins>+ return parseShorthand(propId, columnRuleShorthand(), important);
</ins><span class="cx"> case CSSPropertyWebkitTextStroke:
</span><span class="cx"> return parseShorthand(propId, webkitTextStrokeShorthand(), important);
</span><span class="cx"> case CSSPropertyAnimation:
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSPropertycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSProperty.cpp (178585 => 178586)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSProperty.cpp        2015-01-16 19:38:11 UTC (rev 178585)
+++ trunk/Source/WebCore/css/CSSProperty.cpp        2015-01-16 19:39:02 UTC (rev 178586)
</span><span class="lines">@@ -174,7 +174,7 @@
</span><span class="cx"> static const StylePropertyShorthand& borderDirections()
</span><span class="cx"> {
</span><span class="cx"> static const CSSPropertyID properties[4] = { CSSPropertyBorderTop, CSSPropertyBorderRight, CSSPropertyBorderBottom, CSSPropertyBorderLeft };
</span><del>- static NeverDestroyed<StylePropertyShorthand> borderDirections(CSSPropertyBorder, properties, WTF_ARRAY_LENGTH(properties));
</del><ins>+ static NeverDestroyed<StylePropertyShorthand> borderDirections(CSSPropertyBorder, properties);
</ins><span class="cx"> return borderDirections;
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSPropertyNamesin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSPropertyNames.in (178585 => 178586)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSPropertyNames.in        2015-01-16 19:38:11 UTC (rev 178585)
+++ trunk/Source/WebCore/css/CSSPropertyNames.in        2015-01-16 19:39:02 UTC (rev 178586)
</span><span class="lines">@@ -86,9 +86,12 @@
</span><span class="cx"> // * SkipBuilder:
</span><span class="cx"> // Ignore this property in the StyleBuilder.
</span><span class="cx"> //
</span><del>-// * Shorthand:
</del><ins>+// * Longhands=property1|property2|...:
</ins><span class="cx"> // This is a shorthand property so it should not use the StyleBuilder. An
</span><span class="cx"> // ASSERT_NOT_REACHED() will be generated for this property in the StyleBuilder.
</span><ins>+// property1, property2, ... are the longhands for this shorthand property. A
+// corresponding "StylePropertyShorthand propertyIdShorthand()" function will be
+// generated in StylePropertyShorthandFunctions.h header.
</ins><span class="cx">
</span><span class="cx">
</span><span class="cx"> // high-priority property names have to be listed first, to simplify the check
</span><span class="lines">@@ -129,7 +132,7 @@
</span><span class="cx">
</span><span class="cx"> // The remaining properties are listed in alphabetical order
</span><span class="cx"> alignment-baseline [SVG]
</span><del>-animation [Shorthand]
</del><ins>+animation [Longhands=animation-name|animation-duration|animation-timing-function|animation-delay|animation-iteration-count|animation-direction|animation-fill-mode]
</ins><span class="cx"> animation-delay [AnimationProperty, NameForMethods=Delay]
</span><span class="cx"> animation-direction [AnimationProperty, NameForMethods=Direction]
</span><span class="cx"> animation-duration [AnimationProperty, NameForMethods=Duration]
</span><span class="lines">@@ -138,23 +141,23 @@
</span><span class="cx"> animation-name [AnimationProperty, NameForMethods=Name]
</span><span class="cx"> animation-play-state [AnimationProperty, NameForMethods=PlayState]
</span><span class="cx"> animation-timing-function [AnimationProperty, NameForMethods=TimingFunction]
</span><del>-background [Shorthand]
</del><ins>+background [Longhands=background-image|background-position-x|background-position-y|background-size|background-repeat-x|background-repeat-y|background-attachment|background-origin|background-clip|background-color]
</ins><span class="cx"> background-attachment [FillLayerProperty, NameForMethods=Attachment]
</span><span class="cx"> background-blend-mode [FillLayerProperty, NameForMethods=BlendMode]
</span><span class="cx"> background-clip [FillLayerProperty, NameForMethods=Clip]
</span><span class="cx"> background-color [VisitedLinkColorSupport, Initial=invalidColor, NoDefaultColor]
</span><span class="cx"> background-image [FillLayerProperty, NameForMethods=Image]
</span><span class="cx"> background-origin [FillLayerProperty, NameForMethods=Origin]
</span><del>-background-position [Shorthand]
</del><ins>+background-position [Longhands=background-position-x|background-position-y]
</ins><span class="cx"> background-position-x [FillLayerProperty, NameForMethods=XPosition]
</span><span class="cx"> background-position-y [FillLayerProperty, NameForMethods=YPosition]
</span><del>-background-repeat [Shorthand]
</del><ins>+background-repeat [Longhands=background-repeat-x|background-repeat-y]
</ins><span class="cx"> background-repeat-x [FillLayerProperty, NameForMethods=RepeatX]
</span><span class="cx"> background-repeat-y [FillLayerProperty, NameForMethods=RepeatY]
</span><span class="cx"> background-size [FillLayerProperty, NameForMethods=Size]
</span><span class="cx"> baseline-shift [SVG, Custom=Value]
</span><del>-border [Shorthand]
-border-bottom [Shorthand]
</del><ins>+border [Longhands=border-top-color|border-top-style|border-top-width|border-right-color|border-right-style|border-right-width|border-bottom-color|border-bottom-style|border-bottom-width|border-left-color|border-left-style|border-left-width]
+border-bottom [Longhands=border-bottom-width|border-bottom-style|border-bottom-color]
</ins><span class="cx"> border-bottom-color [VisitedLinkColorSupport, Initial=invalidColor]
</span><span class="cx"> border-bottom-left-radius [Initial=initialBorderRadius, Converter=Radius]
</span><span class="cx"> -webkit-border-bottom-left-radius = border-bottom-left-radius
</span><span class="lines">@@ -163,25 +166,25 @@
</span><span class="cx"> border-bottom-style [Initial=initialBorderStyle]
</span><span class="cx"> border-bottom-width [Initial=initialBorderWidth, Converter=LineWidth<float>]
</span><span class="cx"> border-collapse [Inherited]
</span><del>-border-color [Shorthand]
-border-image [Shorthand]
</del><ins>+border-color [Longhands=border-top-color|border-right-color|border-bottom-color|border-left-color]
+border-image [Longhands=border-image-source|border-image-slice|border-image-width|border-image-outset|border-image-repeat]
</ins><span class="cx"> border-image-outset [Custom=All]
</span><span class="cx"> border-image-repeat [Custom=All]
</span><span class="cx"> border-image-slice [Custom=All]
</span><span class="cx"> border-image-source [Converter=StyleImage<CSSPropertyBorderImageSource>]
</span><span class="cx"> border-image-width [Custom=All]
</span><del>-border-left [Shorthand]
</del><ins>+border-left [Longhands=border-left-width|border-left-style|border-left-color]
</ins><span class="cx"> border-left-color [VisitedLinkColorSupport, Initial=invalidColor]
</span><span class="cx"> border-left-style [Initial=initialBorderStyle]
</span><span class="cx"> border-left-width [Initial=initialBorderWidth, Converter=LineWidth<float>]
</span><del>-border-radius [Shorthand]
-border-right [Shorthand]
</del><ins>+border-radius [Longhands=border-top-left-radius|border-top-right-radius|border-bottom-right-radius|border-bottom-left-radius]
+border-right [Longhands=border-right-width|border-right-style|border-right-color]
</ins><span class="cx"> border-right-color [VisitedLinkColorSupport, Initial=invalidColor]
</span><span class="cx"> border-right-style [Initial=initialBorderStyle]
</span><span class="cx"> border-right-width [Initial=initialBorderWidth, Converter=LineWidth<float>]
</span><del>-border-spacing [Inherited, Shorthand]
-border-style [Shorthand]
-border-top [Shorthand]
</del><ins>+border-spacing [Inherited, Longhands=-webkit-border-horizontal-spacing|-webkit-border-vertical-spacing]
+border-style [Longhands=border-top-style|border-right-style|border-bottom-style|border-left-style]
+border-top [Longhands=border-top-width|border-top-style|border-top-color]
</ins><span class="cx"> border-top-color [VisitedLinkColorSupport, Initial=invalidColor]
</span><span class="cx"> border-top-left-radius [Initial=initialBorderRadius, Converter=Radius]
</span><span class="cx"> -webkit-border-top-left-radius = border-top-left-radius
</span><span class="lines">@@ -189,7 +192,7 @@
</span><span class="cx"> -webkit-border-top-right-radius = border-top-right-radius
</span><span class="cx"> border-top-style [Initial=initialBorderStyle]
</span><span class="cx"> border-top-width [Initial=initialBorderWidth, Converter=LineWidth<float>]
</span><del>-border-width [Shorthand]
</del><ins>+border-width [Longhands=border-top-width|border-right-width|border-bottom-width|border-left-width]
</ins><span class="cx"> bottom [Initial=initialOffset, Converter=LengthOrAuto]
</span><span class="cx"> box-shadow [Custom=All]
</span><span class="cx"> box-sizing
</span><span class="lines">@@ -241,16 +244,16 @@
</span><span class="cx"> left [Initial=initialOffset, Converter=LengthOrAuto]
</span><span class="cx"> letter-spacing [Inherited, Converter=Spacing]
</span><span class="cx"> lighting-color [SVG, Converter=SVGColor]
</span><del>-list-style [Inherited, Shorthand]
</del><ins>+list-style [Inherited, Longhands=list-style-type|list-style-position|list-style-image]
</ins><span class="cx"> list-style-image [Inherited, Converter=StyleImage<CSSPropertyListStyleImage>]
</span><span class="cx"> list-style-position [Inherited]
</span><span class="cx"> list-style-type [Inherited]
</span><del>-margin [Shorthand]
</del><ins>+margin [Longhands=margin-top|margin-right|margin-bottom|margin-left]
</ins><span class="cx"> margin-bottom [Initial=initialMargin, Converter=LengthOrAuto]
</span><span class="cx"> margin-left [Initial=initialMargin, Converter=LengthOrAuto]
</span><span class="cx"> margin-right [Initial=initialMargin, Converter=LengthOrAuto]
</span><span class="cx"> margin-top [Initial=initialMargin, Converter=LengthOrAuto]
</span><del>-marker [Inherited, Shorthand]
</del><ins>+marker [Inherited, Longhands=marker-start|marker-mid|marker-end]
</ins><span class="cx"> marker-end [Inherited, SVG, Converter=SVGURIReference, NameForMethods=MarkerEndResource]
</span><span class="cx"> marker-mid [Inherited, SVG, Converter=SVGURIReference, NameForMethods=MarkerMidResource]
</span><span class="cx"> marker-start [Inherited, SVG, Converter=SVGURIReference, NameForMethods=MarkerStartResource]
</span><span class="lines">@@ -266,16 +269,16 @@
</span><span class="cx"> // and may be in use on some websites and widgets.
</span><span class="cx"> -webkit-opacity = opacity
</span><span class="cx"> orphans [Inherited, AutoFunctions]
</span><del>-outline [Shorthand]
</del><ins>+outline [Longhands=outline-color|outline-style|outline-width]
</ins><span class="cx"> outline-color [VisitedLinkColorSupport, Initial=invalidColor]
</span><span class="cx"> outline-offset [Converter=ComputedLength<int>]
</span><span class="cx"> outline-style [Custom=All]
</span><span class="cx"> outline-width [Converter=LineWidth<unsigned short>]
</span><del>-overflow [Shorthand]
</del><ins>+overflow [Longhands=overflow-x|overflow-y]
</ins><span class="cx"> overflow-wrap
</span><span class="cx"> overflow-x
</span><span class="cx"> overflow-y
</span><del>-padding [Shorthand]
</del><ins>+padding [Longhands=padding-top|padding-right|padding-bottom|padding-left]
</ins><span class="cx"> padding-bottom [Initial=initialPadding, Converter=Length]
</span><span class="cx"> padding-left [Initial=initialPadding, Converter=Length]
</span><span class="cx"> padding-right [Initial=initialPadding, Converter=Length]
</span><span class="lines">@@ -333,7 +336,7 @@
</span><span class="cx"> text-underline-style [SkipBuilder]
</span><span class="cx"> text-underline-width [SkipBuilder]
</span><span class="cx"> top [Initial=initialOffset, Converter=LengthOrAuto]
</span><del>-transition [Shorthand]
</del><ins>+transition [Longhands=transition-property|transition-duration|transition-timing-function|transition-delay]
</ins><span class="cx"> transition-delay [SkipBuilder]
</span><span class="cx"> transition-duration [SkipBuilder]
</span><span class="cx"> transition-property [SkipBuilder]
</span><span class="lines">@@ -357,7 +360,7 @@
</span><span class="cx"> z-index [AutoFunctions]
</span><span class="cx"> alt [NameForMethods=ContentAltText, Custom=Value]
</span><span class="cx"> -webkit-alt = alt
</span><del>--webkit-animation [Shorthand]
</del><ins>+-webkit-animation [Longhands=-webkit-animation-name|-webkit-animation-duration|-webkit-animation-timing-function|-webkit-animation-delay|-webkit-animation-iteration-count|-webkit-animation-direction|-webkit-animation-fill-mode]
</ins><span class="cx"> -webkit-animation-delay [AnimationProperty, NameForMethods=Delay]
</span><span class="cx"> -webkit-animation-direction [AnimationProperty, NameForMethods=Direction]
</span><span class="cx"> -webkit-animation-duration [AnimationProperty, NameForMethods=Duration]
</span><span class="lines">@@ -376,15 +379,15 @@
</span><span class="cx"> // a single value: -webkit-background-size: l; is equivalent to background-size: l l;
</span><span class="cx"> // whereas background-size: l; is equivalent to background-size: l auto;
</span><span class="cx"> -webkit-background-size [FillLayerProperty, NameForMethods=Size]
</span><del>--webkit-border-after [Shorthand]
</del><ins>+-webkit-border-after [Longhands=-webkit-border-after-width|-webkit-border-after-style|-webkit-border-after-color]
</ins><span class="cx"> -webkit-border-after-color [SkipBuilder]
</span><span class="cx"> -webkit-border-after-style [SkipBuilder]
</span><span class="cx"> -webkit-border-after-width [SkipBuilder]
</span><del>--webkit-border-before [Shorthand]
</del><ins>+-webkit-border-before [Longhands=-webkit-border-before-width|-webkit-border-before-style|-webkit-border-before-color]
</ins><span class="cx"> -webkit-border-before-color [SkipBuilder]
</span><span class="cx"> -webkit-border-before-style [SkipBuilder]
</span><span class="cx"> -webkit-border-before-width [SkipBuilder]
</span><del>--webkit-border-end [Shorthand]
</del><ins>+-webkit-border-end [Longhands=-webkit-border-end-width|-webkit-border-end-style|-webkit-border-end-color]
</ins><span class="cx"> -webkit-border-end-color [SkipBuilder]
</span><span class="cx"> -webkit-border-end-style [SkipBuilder]
</span><span class="cx"> -webkit-border-end-width [SkipBuilder]
</span><span class="lines">@@ -394,8 +397,8 @@
</span><span class="cx"> // -webkit-border-radius differs from border-radius only in the interpretation of
</span><span class="cx"> // a value consisting of two lengths: "-webkit-border-radius: l1 l2;" is equivalent
</span><span class="cx"> // to "border-radius: l1 / l2;"
</span><del>--webkit-border-radius [Shorthand]
--webkit-border-start [Shorthand]
</del><ins>+-webkit-border-radius [Longhands=border-top-left-radius|border-top-right-radius|border-bottom-right-radius|border-bottom-left-radius]
+-webkit-border-start [Longhands=-webkit-border-start-width|-webkit-border-start-style|-webkit-border-start-color]
</ins><span class="cx"> -webkit-border-start-color [SkipBuilder]
</span><span class="cx"> -webkit-border-start-style [SkipBuilder]
</span><span class="cx"> -webkit-border-start-width [SkipBuilder]
</span><span class="lines">@@ -426,7 +429,7 @@
</span><span class="cx"> -webkit-column-gap = column-gap
</span><span class="cx"> column-progression
</span><span class="cx"> -webkit-column-progression = column-progression
</span><del>-column-rule [Shorthand]
</del><ins>+column-rule [Longhands=column-rule-width|column-rule-style|column-rule-color]
</ins><span class="cx"> -webkit-column-rule = column-rule
</span><span class="cx"> column-rule-color [VisitedLinkColorSupport, Initial=invalidColor]
</span><span class="cx"> -webkit-column-rule-color = column-rule-color
</span><span class="lines">@@ -438,7 +441,7 @@
</span><span class="cx"> -webkit-column-span = column-span
</span><span class="cx"> column-width [AutoFunctions, Converter=ComputedLength<float>]
</span><span class="cx"> -webkit-column-width = column-width
</span><del>-columns [Shorthand]
</del><ins>+columns [Longhands=column-width|column-count]
</ins><span class="cx"> -webkit-columns = columns
</span><span class="cx"> #if defined(ENABLE_CSS_BOX_DECORATION_BREAK) && ENABLE_CSS_BOX_DECORATION_BREAK
</span><span class="cx"> -webkit-box-decoration-break
</span><span class="lines">@@ -454,13 +457,13 @@
</span><span class="cx"> -webkit-align-items = align-items
</span><span class="cx"> align-self
</span><span class="cx"> -webkit-align-self = align-self
</span><del>-flex [Shorthand]
</del><ins>+flex [Longhands=flex-grow|flex-shrink|flex-basis]
</ins><span class="cx"> -webkit-flex = flex
</span><span class="cx"> flex-basis [Converter=LengthOrAuto]
</span><span class="cx"> -webkit-flex-basis = flex-basis
</span><span class="cx"> flex-direction
</span><span class="cx"> -webkit-flex-direction = flex-direction
</span><del>-flex-flow [Shorthand]
</del><ins>+flex-flow [Longhands=flex-direction|flex-wrap]
</ins><span class="cx"> -webkit-flex-flow = flex-flow
</span><span class="cx"> flex-grow
</span><span class="cx"> -webkit-flex-grow = flex-grow
</span><span class="lines">@@ -476,19 +479,19 @@
</span><span class="cx"> -webkit-justify-self [Custom=Value]
</span><span class="cx"> -webkit-font-size-delta [SkipBuilder]
</span><span class="cx"> #if defined(ENABLE_CSS_GRID_LAYOUT) && ENABLE_CSS_GRID_LAYOUT
</span><del>--webkit-grid [Shorthand]
--webkit-grid-area [Shorthand]
</del><ins>+-webkit-grid [Longhands=-webkit-grid-template-columns|-webkit-grid-template-rows|-webkit-grid-template-areas|-webkit-grid-auto-flow|-webkit-grid-auto-columns|-webkit-grid-auto-rows]
+-webkit-grid-area [Longhands=-webkit-grid-row-start|-webkit-grid-column-start|-webkit-grid-row-end|-webkit-grid-row-start]
</ins><span class="cx"> -webkit-grid-auto-columns [ConditionalConverter=GridTrackSize]
</span><span class="cx"> -webkit-grid-auto-rows [ConditionalConverter=GridTrackSize]
</span><span class="cx"> -webkit-grid-column-end [ConditionalConverter=GridPosition, NameForMethods=GridItemColumnEnd]
</span><span class="cx"> -webkit-grid-column-start [ConditionalConverter=GridPosition, NameForMethods=GridItemColumnStart]
</span><del>--webkit-grid-template [Shorthand]
</del><ins>+-webkit-grid-template [Longhands=-webkit-grid-template-columns|-webkit-grid-template-rows|-webkit-grid-template-areas]
</ins><span class="cx"> -webkit-grid-template-columns [Custom=All]
</span><span class="cx"> -webkit-grid-template-rows [Custom=All]
</span><span class="cx"> -webkit-grid-row-end [ConditionalConverter=GridPosition, NameForMethods=GridItemRowEnd]
</span><span class="cx"> -webkit-grid-row-start [ConditionalConverter=GridPosition, NameForMethods=GridItemRowStart]
</span><del>--webkit-grid-column [Shorthand]
--webkit-grid-row [Shorthand]
</del><ins>+-webkit-grid-column [Longhands=-webkit-grid-column-start|-webkit-grid-column-end]
+-webkit-grid-row [Longhands=-webkit-grid-row-start|-webkit-grid-row-end]
</ins><span class="cx"> -webkit-grid-template-areas [Custom=All]
</span><span class="cx"> -webkit-grid-auto-flow [Converter=GridAutoFlow]
</span><span class="cx"> #endif
</span><span class="lines">@@ -511,18 +514,18 @@
</span><span class="cx"> -webkit-margin-before-collapse
</span><span class="cx"> -webkit-margin-bottom-collapse [NameForMethods=MarginAfterCollapse]
</span><span class="cx"> -webkit-margin-top-collapse [NameForMethods=MarginBeforeCollapse]
</span><del>--webkit-margin-collapse [Shorthand]
</del><ins>+-webkit-margin-collapse [Longhands=-webkit-margin-before-collapse|-webkit-margin-after-collapse]
</ins><span class="cx"> -webkit-margin-after [SkipBuilder]
</span><span class="cx"> -webkit-margin-before [SkipBuilder]
</span><span class="cx"> -webkit-margin-end [SkipBuilder]
</span><span class="cx"> -webkit-margin-start [SkipBuilder]
</span><del>--webkit-marquee [Shorthand]
</del><ins>+-webkit-marquee [Longhands=-webkit-marquee-direction|-webkit-marquee-increment|-webkit-marquee-repetition|-webkit-marquee-style|-webkit-marquee-speed]
</ins><span class="cx"> -webkit-marquee-direction
</span><span class="cx"> -webkit-marquee-increment [ConditionalConverter=MarqueeIncrement]
</span><span class="cx"> -webkit-marquee-repetition [NameForMethods=MarqueeLoopCount, Converter=MarqueeRepetition]
</span><span class="cx"> -webkit-marquee-speed [Converter=MarqueeSpeed]
</span><span class="cx"> -webkit-marquee-style [NameForMethods=MarqueeBehavior]
</span><del>--webkit-mask [Shorthand]
</del><ins>+-webkit-mask [Longhands=-webkit-mask-image|-webkit-mask-source-type|-webkit-mask-position-x|-webkit-mask-position-y|-webkit-mask-size|-webkit-mask-repeat-x|-webkit-mask-repeat-y|-webkit-mask-origin|-webkit-mask-clip]
</ins><span class="cx"> -webkit-mask-box-image [Initial=initialNinePieceImage, Converter=BorderMask<CSSPropertyWebkitMaskBoxImage>]
</span><span class="cx"> -webkit-mask-box-image-outset [Custom=All]
</span><span class="cx"> -webkit-mask-box-image-repeat [Custom=All]
</span><span class="lines">@@ -533,10 +536,10 @@
</span><span class="cx"> -webkit-mask-composite [FillLayerProperty, NameForMethods=Composite]
</span><span class="cx"> -webkit-mask-image [Custom=Initial|Inherit, Converter=MaskImageOperations]
</span><span class="cx"> -webkit-mask-origin [FillLayerProperty, NameForMethods=Origin]
</span><del>--webkit-mask-position [Shorthand]
</del><ins>+-webkit-mask-position [Longhands=-webkit-mask-position-x|-webkit-mask-position-y]
</ins><span class="cx"> -webkit-mask-position-x [FillLayerProperty, NameForMethods=XPosition]
</span><span class="cx"> -webkit-mask-position-y [FillLayerProperty, NameForMethods=YPosition]
</span><del>--webkit-mask-repeat [Shorthand]
</del><ins>+-webkit-mask-repeat [Longhands=-webkit-mask-repeat-x|-webkit-mask-repeat-y]
</ins><span class="cx"> -webkit-mask-repeat-x [FillLayerProperty, NameForMethods=RepeatX]
</span><span class="cx"> -webkit-mask-repeat-y [FillLayerProperty, NameForMethods=RepeatY]
</span><span class="cx"> -webkit-mask-size [FillLayerProperty, NameForMethods=Size]
</span><span class="lines">@@ -553,7 +556,7 @@
</span><span class="cx"> -webkit-padding-end [SkipBuilder]
</span><span class="cx"> -webkit-padding-start [SkipBuilder]
</span><span class="cx"> -webkit-perspective [ConditionalConverter=Perspective]
</span><del>--webkit-perspective-origin [Shorthand]
</del><ins>+-webkit-perspective-origin [Longhands=-webkit-perspective-origin-x|-webkit-perspective-origin-y]
</ins><span class="cx"> -webkit-perspective-origin-x [Converter=Length]
</span><span class="cx"> -webkit-perspective-origin-y [Converter=Length]
</span><span class="cx"> -webkit-print-color-adjust [Inherited]
</span><span class="lines">@@ -572,14 +575,14 @@
</span><span class="cx"> -webkit-text-align-last [Inherited]
</span><span class="cx"> -webkit-text-justify [Inherited]
</span><span class="cx"> #endif
</span><del>--webkit-text-decoration [SkipBuilder]
</del><ins>+-webkit-text-decoration [Longhands=-webkit-text-decoration-line|-webkit-text-decoration-style|-webkit-text-decoration-color]
</ins><span class="cx"> -webkit-text-decoration-line [NameForMethods=TextDecoration, Converter=TextDecoration]
</span><span class="cx"> -webkit-text-decoration-style
</span><span class="cx"> -webkit-text-decoration-color [VisitedLinkColorSupport, Initial=invalidColor]
</span><span class="cx"> -webkit-text-decoration-skip [Inherited, Converter=TextDecorationSkip]
</span><span class="cx"> -webkit-text-underline-position [Inherited, Converter=TextUnderlinePosition]
</span><span class="cx"> -webkit-text-decorations-in-effect [Inherited, SkipBuilder]
</span><del>--webkit-text-emphasis [Inherited, Shorthand]
</del><ins>+-webkit-text-emphasis [Inherited, Longhands=-webkit-text-emphasis-style|-webkit-text-emphasis-color]
</ins><span class="cx"> -epub-text-emphasis = -webkit-text-emphasis
</span><span class="cx"> text-emphasis = -webkit-text-emphasis
</span><span class="cx"> -webkit-text-emphasis-color [Inherited, VisitedLinkColorSupport, Initial=invalidColor]
</span><span class="lines">@@ -592,16 +595,16 @@
</span><span class="cx"> text-emphasis-style = -webkit-text-emphasis-style
</span><span class="cx"> -webkit-text-fill-color [Inherited, VisitedLinkColorSupport, Initial=invalidColor]
</span><span class="cx"> -webkit-text-security [Inherited]
</span><del>--webkit-text-stroke [Inherited, Shorthand]
</del><ins>+-webkit-text-stroke [Inherited, Longhands=-webkit-text-stroke-width|-webkit-text-stroke-color]
</ins><span class="cx"> -webkit-text-stroke-color [Inherited, VisitedLinkColorSupport, Initial=invalidColor]
</span><span class="cx"> -webkit-text-stroke-width [Inherited, Converter=TextStrokeWidth]
</span><span class="cx"> -webkit-transform [Converter=Transform]
</span><del>--webkit-transform-origin [Shorthand]
</del><ins>+-webkit-transform-origin [Longhands=-webkit-transform-origin-x|-webkit-transform-origin-y|-webkit-transform-origin-z]
</ins><span class="cx"> -webkit-transform-origin-x [Converter=Length]
</span><span class="cx"> -webkit-transform-origin-y [Converter=Length]
</span><span class="cx"> -webkit-transform-origin-z [Converter=ComputedLength<float>]
</span><span class="cx"> -webkit-transform-style [NameForMethods=TransformStyle3D]
</span><del>--webkit-transition [Shorthand]
</del><ins>+-webkit-transition [Longhands=-webkit-transition-property|-webkit-transition-duration|-webkit-transition-timing-function|-webkit-transition-delay]
</ins><span class="cx"> -webkit-transition-delay [AnimationProperty, NameForMethods=Delay]
</span><span class="cx"> -webkit-transition-duration [AnimationProperty, NameForMethods=Duration]
</span><span class="cx"> -webkit-transition-property [AnimationProperty, NameForMethods=Property]
</span></span></pre></div>
<a id="trunkSourceWebCorecssStylePropertiescpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/StyleProperties.cpp (178585 => 178586)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/StyleProperties.cpp        2015-01-16 19:38:11 UTC (rev 178585)
+++ trunk/Source/WebCore/css/StyleProperties.cpp        2015-01-16 19:39:02 UTC (rev 178586)
</span><span class="lines">@@ -154,9 +154,9 @@
</span><span class="cx"> case CSSPropertyBorderStyle:
</span><span class="cx"> return get4Values(borderStyleShorthand());
</span><span class="cx"> case CSSPropertyColumnRule:
</span><del>- return getShorthandValue(webkitColumnRuleShorthand());
</del><ins>+ return getShorthandValue(columnRuleShorthand());
</ins><span class="cx"> case CSSPropertyColumns:
</span><del>- return getShorthandValue(webkitColumnsShorthand());
</del><ins>+ return getShorthandValue(columnsShorthand());
</ins><span class="cx"> case CSSPropertyFlex:
</span><span class="cx"> return getShorthandValue(flexShorthand());
</span><span class="cx"> case CSSPropertyFlexFlow:
</span></span></pre></div>
<a id="trunkSourceWebCorecssStylePropertyShorthandcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/StylePropertyShorthand.cpp (178585 => 178586)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/StylePropertyShorthand.cpp        2015-01-16 19:38:11 UTC (rev 178585)
+++ trunk/Source/WebCore/css/StylePropertyShorthand.cpp        2015-01-16 19:39:02 UTC (rev 178586)
</span><span class="lines">@@ -24,165 +24,15 @@
</span><span class="cx">
</span><span class="cx"> #include <wtf/StdLibExtras.h>
</span><span class="cx">
</span><del>-// FIXME: How much of this file can we generate?
-
</del><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-StylePropertyShorthand backgroundShorthand()
-{
- static const CSSPropertyID backgroundProperties[] = {
- CSSPropertyBackgroundImage,
- CSSPropertyBackgroundPositionX,
- CSSPropertyBackgroundPositionY,
- CSSPropertyBackgroundSize,
- CSSPropertyBackgroundRepeatX,
- CSSPropertyBackgroundRepeatY,
- CSSPropertyBackgroundAttachment,
- CSSPropertyBackgroundOrigin,
- CSSPropertyBackgroundClip,
- CSSPropertyBackgroundColor
- };
- return StylePropertyShorthand(CSSPropertyBackground, backgroundProperties, WTF_ARRAY_LENGTH(backgroundProperties));
-}
-
-StylePropertyShorthand backgroundPositionShorthand()
-{
- static const CSSPropertyID backgroundPositionProperties[] = { CSSPropertyBackgroundPositionX, CSSPropertyBackgroundPositionY };
- return StylePropertyShorthand(CSSPropertyBackgroundPosition, backgroundPositionProperties, WTF_ARRAY_LENGTH(backgroundPositionProperties));
-}
-
-StylePropertyShorthand backgroundRepeatShorthand()
-{
- static const CSSPropertyID backgroundRepeatProperties[] = { CSSPropertyBackgroundRepeatX, CSSPropertyBackgroundRepeatY };
- return StylePropertyShorthand(CSSPropertyBackgroundRepeat, backgroundRepeatProperties, WTF_ARRAY_LENGTH(backgroundRepeatProperties));
-}
-
-StylePropertyShorthand borderShorthand()
-{
- // Do not change the order of the following four shorthands, and keep them together.
- static const CSSPropertyID borderProperties[4][3] = {
- { CSSPropertyBorderTopColor, CSSPropertyBorderTopStyle, CSSPropertyBorderTopWidth },
- { CSSPropertyBorderRightColor, CSSPropertyBorderRightStyle, CSSPropertyBorderRightWidth },
- { CSSPropertyBorderBottomColor, CSSPropertyBorderBottomStyle, CSSPropertyBorderBottomWidth },
- { CSSPropertyBorderLeftColor, CSSPropertyBorderLeftStyle, CSSPropertyBorderLeftWidth }
- };
- return StylePropertyShorthand(CSSPropertyBorder, borderProperties[0], sizeof(borderProperties) / sizeof(borderProperties[0][0]));
-}
-
</del><span class="cx"> StylePropertyShorthand borderAbridgedShorthand()
</span><span class="cx"> {
</span><span class="cx"> static const CSSPropertyID borderAbridgedProperties[] = { CSSPropertyBorderWidth, CSSPropertyBorderStyle, CSSPropertyBorderColor };
</span><span class="cx"> static const StylePropertyShorthand propertiesForInitialization[] = { borderWidthShorthand(), borderStyleShorthand(), borderColorShorthand() };
</span><del>- return StylePropertyShorthand(CSSPropertyBorder, borderAbridgedProperties, propertiesForInitialization, WTF_ARRAY_LENGTH(borderAbridgedProperties));
</del><ins>+ return StylePropertyShorthand(CSSPropertyBorder, borderAbridgedProperties, propertiesForInitialization);
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-StylePropertyShorthand borderBottomShorthand()
-{
- static const CSSPropertyID borderBottomProperties[] = { CSSPropertyBorderBottomWidth, CSSPropertyBorderBottomStyle, CSSPropertyBorderBottomColor };
- return StylePropertyShorthand(CSSPropertyBorderBottom, borderBottomProperties, WTF_ARRAY_LENGTH(borderBottomProperties));
-}
-
-StylePropertyShorthand borderColorShorthand()
-{
- static const CSSPropertyID borderColorProperties[] = {
- CSSPropertyBorderTopColor,
- CSSPropertyBorderRightColor,
- CSSPropertyBorderBottomColor,
- CSSPropertyBorderLeftColor
- };
- return StylePropertyShorthand(CSSPropertyBorderColor, borderColorProperties, WTF_ARRAY_LENGTH(borderColorProperties));
-}
-
-StylePropertyShorthand borderImageShorthand()
-{
- static const CSSPropertyID borderImageProperties[] = {
- CSSPropertyBorderImageSource,
- CSSPropertyBorderImageSlice,
- CSSPropertyBorderImageWidth,
- CSSPropertyBorderImageOutset,
- CSSPropertyBorderImageRepeat
- };
- return StylePropertyShorthand(CSSPropertyBorderImage, borderImageProperties, WTF_ARRAY_LENGTH(borderImageProperties));
-}
-
-StylePropertyShorthand borderLeftShorthand()
-{
- static const CSSPropertyID borderLeftProperties[] = { CSSPropertyBorderLeftWidth, CSSPropertyBorderLeftStyle, CSSPropertyBorderLeftColor };
- return StylePropertyShorthand(CSSPropertyBorderLeft, borderLeftProperties, WTF_ARRAY_LENGTH(borderLeftProperties));
-}
-
-StylePropertyShorthand borderRadiusShorthand()
-{
- static const CSSPropertyID borderRadiusProperties[] = {
- CSSPropertyBorderTopLeftRadius,
- CSSPropertyBorderTopRightRadius,
- CSSPropertyBorderBottomRightRadius,
- CSSPropertyBorderBottomLeftRadius
- };
- return StylePropertyShorthand(CSSPropertyBorderRadius, borderRadiusProperties, WTF_ARRAY_LENGTH(borderRadiusProperties));
-}
-
-StylePropertyShorthand webkitBorderRadiusShorthand()
-{
- static const CSSPropertyID borderRadiusProperties[] = {
- CSSPropertyBorderTopLeftRadius,
- CSSPropertyBorderTopRightRadius,
- CSSPropertyBorderBottomRightRadius,
- CSSPropertyBorderBottomLeftRadius
- };
- return StylePropertyShorthand(CSSPropertyWebkitBorderRadius, borderRadiusProperties, WTF_ARRAY_LENGTH(borderRadiusProperties));
-}
-
-StylePropertyShorthand borderRightShorthand()
-{
- static const CSSPropertyID borderRightProperties[] = { CSSPropertyBorderRightWidth, CSSPropertyBorderRightStyle, CSSPropertyBorderRightColor };
- return StylePropertyShorthand(CSSPropertyBorderRight, borderRightProperties, WTF_ARRAY_LENGTH(borderRightProperties));
-}
-
-StylePropertyShorthand borderSpacingShorthand()
-{
- static const CSSPropertyID borderSpacingProperties[] = { CSSPropertyWebkitBorderHorizontalSpacing, CSSPropertyWebkitBorderVerticalSpacing };
- return StylePropertyShorthand(CSSPropertyBorderSpacing, borderSpacingProperties, WTF_ARRAY_LENGTH(borderSpacingProperties));
-}
-
-StylePropertyShorthand borderStyleShorthand()
-{
- static const CSSPropertyID borderStyleProperties[] = {
- CSSPropertyBorderTopStyle,
- CSSPropertyBorderRightStyle,
- CSSPropertyBorderBottomStyle,
- CSSPropertyBorderLeftStyle
- };
- return StylePropertyShorthand(CSSPropertyBorderStyle, borderStyleProperties, WTF_ARRAY_LENGTH(borderStyleProperties));
-}
-
-StylePropertyShorthand borderTopShorthand()
-{
- static const CSSPropertyID borderTopProperties[] = { CSSPropertyBorderTopWidth, CSSPropertyBorderTopStyle, CSSPropertyBorderTopColor };
- return StylePropertyShorthand(CSSPropertyBorderTop, borderTopProperties, WTF_ARRAY_LENGTH(borderTopProperties));
-}
-
-StylePropertyShorthand borderWidthShorthand()
-{
- static const CSSPropertyID borderWidthProperties[] = {
- CSSPropertyBorderTopWidth,
- CSSPropertyBorderRightWidth,
- CSSPropertyBorderBottomWidth,
- CSSPropertyBorderLeftWidth
- };
- return StylePropertyShorthand(CSSPropertyBorderWidth, borderWidthProperties, WTF_ARRAY_LENGTH(borderWidthProperties));
-}
-
-StylePropertyShorthand listStyleShorthand()
-{
- static const CSSPropertyID listStyleProperties[] = {
- CSSPropertyListStyleType,
- CSSPropertyListStylePosition,
- CSSPropertyListStyleImage
- };
- return StylePropertyShorthand(CSSPropertyListStyle, listStyleProperties, WTF_ARRAY_LENGTH(listStyleProperties));
-}
-
</del><span class="cx"> StylePropertyShorthand fontShorthand()
</span><span class="cx"> {
</span><span class="cx"> static const CSSPropertyID fontProperties[] = {
</span><span class="lines">@@ -193,96 +43,9 @@
</span><span class="cx"> CSSPropertyFontWeight,
</span><span class="cx"> CSSPropertyLineHeight
</span><span class="cx"> };
</span><del>- return StylePropertyShorthand(CSSPropertyFont, fontProperties, WTF_ARRAY_LENGTH(fontProperties));
</del><ins>+ return StylePropertyShorthand(CSSPropertyFont, fontProperties);
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-StylePropertyShorthand marginShorthand()
-{
- static const CSSPropertyID marginProperties[] = {
- CSSPropertyMarginTop,
- CSSPropertyMarginRight,
- CSSPropertyMarginBottom,
- CSSPropertyMarginLeft
- };
- return StylePropertyShorthand(CSSPropertyMargin, marginProperties, WTF_ARRAY_LENGTH(marginProperties));
-}
-
-StylePropertyShorthand markerShorthand()
-{
- static const CSSPropertyID markerProperties[] = {
- CSSPropertyMarkerStart,
- CSSPropertyMarkerMid,
- CSSPropertyMarkerEnd
- };
- return StylePropertyShorthand(CSSPropertyMarker, markerProperties, WTF_ARRAY_LENGTH(markerProperties));
-}
-
-StylePropertyShorthand outlineShorthand()
-{
- static const CSSPropertyID outlineProperties[] = {
- CSSPropertyOutlineColor,
- CSSPropertyOutlineStyle,
- CSSPropertyOutlineWidth
- };
- return StylePropertyShorthand(CSSPropertyOutline, outlineProperties, WTF_ARRAY_LENGTH(outlineProperties));
-}
-
-StylePropertyShorthand overflowShorthand()
-{
- static const CSSPropertyID overflowProperties[] = { CSSPropertyOverflowX, CSSPropertyOverflowY };
- return StylePropertyShorthand(CSSPropertyOverflow, overflowProperties, WTF_ARRAY_LENGTH(overflowProperties));
-}
-
-StylePropertyShorthand paddingShorthand()
-{
- static const CSSPropertyID paddingProperties[] = {
- CSSPropertyPaddingTop,
- CSSPropertyPaddingRight,
- CSSPropertyPaddingBottom,
- CSSPropertyPaddingLeft
- };
- return StylePropertyShorthand(CSSPropertyPadding, paddingProperties, WTF_ARRAY_LENGTH(paddingProperties));
-}
-
-StylePropertyShorthand transitionShorthand()
-{
- static const CSSPropertyID transitionProperties[] = {
- CSSPropertyTransitionProperty,
- CSSPropertyTransitionDuration,
- CSSPropertyTransitionTimingFunction,
- CSSPropertyTransitionDelay
- };
- return StylePropertyShorthand(CSSPropertyTransition, transitionProperties, WTF_ARRAY_LENGTH(transitionProperties));
-}
-
-StylePropertyShorthand animationShorthand()
-{
- static const CSSPropertyID animationProperties[] = {
- CSSPropertyAnimationName,
- CSSPropertyAnimationDuration,
- CSSPropertyAnimationTimingFunction,
- CSSPropertyAnimationDelay,
- CSSPropertyAnimationIterationCount,
- CSSPropertyAnimationDirection,
- CSSPropertyAnimationFillMode
- };
- return StylePropertyShorthand(CSSPropertyAnimation, animationProperties, WTF_ARRAY_LENGTH(animationProperties));
-}
-
-StylePropertyShorthand webkitAnimationShorthand()
-{
- static const CSSPropertyID animationProperties[] = {
- CSSPropertyWebkitAnimationName,
- CSSPropertyWebkitAnimationDuration,
- CSSPropertyWebkitAnimationTimingFunction,
- CSSPropertyWebkitAnimationDelay,
- CSSPropertyWebkitAnimationIterationCount,
- CSSPropertyWebkitAnimationDirection,
- CSSPropertyWebkitAnimationFillMode
- };
- return StylePropertyShorthand(CSSPropertyWebkitAnimation, animationProperties, WTF_ARRAY_LENGTH(animationProperties));
-}
-
</del><span class="cx"> StylePropertyShorthand animationShorthandForParsing(CSSPropertyID propId)
</span><span class="cx"> {
</span><span class="cx"> // When we parse the animation shorthand we need to look for animation-name
</span><span class="lines">@@ -315,226 +78,17 @@
</span><span class="cx"> };
</span><span class="cx">
</span><span class="cx"> if (propId == CSSPropertyAnimation)
</span><del>- return StylePropertyShorthand(CSSPropertyAnimation, animationPropertiesForParsing, WTF_ARRAY_LENGTH(animationPropertiesForParsing));
- return StylePropertyShorthand(CSSPropertyWebkitAnimation, prefixedAnimationPropertiesForParsing, WTF_ARRAY_LENGTH(prefixedAnimationPropertiesForParsing));
</del><ins>+ return StylePropertyShorthand(CSSPropertyAnimation, animationPropertiesForParsing);
+ return StylePropertyShorthand(CSSPropertyWebkitAnimation, prefixedAnimationPropertiesForParsing);
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-StylePropertyShorthand webkitBorderAfterShorthand()
-{
- static const CSSPropertyID borderAfterProperties[] = { CSSPropertyWebkitBorderAfterWidth, CSSPropertyWebkitBorderAfterStyle, CSSPropertyWebkitBorderAfterColor };
- return StylePropertyShorthand(CSSPropertyWebkitBorderAfter, borderAfterProperties, WTF_ARRAY_LENGTH(borderAfterProperties));
-}
-
-StylePropertyShorthand webkitBorderBeforeShorthand()
-{
- static const CSSPropertyID borderBeforeProperties[] = { CSSPropertyWebkitBorderBeforeWidth, CSSPropertyWebkitBorderBeforeStyle, CSSPropertyWebkitBorderBeforeColor };
- return StylePropertyShorthand(CSSPropertyWebkitBorderBefore, borderBeforeProperties, WTF_ARRAY_LENGTH(borderBeforeProperties));
-}
-
-StylePropertyShorthand webkitBorderEndShorthand()
-{
- static const CSSPropertyID borderEndProperties[] = { CSSPropertyWebkitBorderEndWidth, CSSPropertyWebkitBorderEndStyle, CSSPropertyWebkitBorderEndColor };
- return StylePropertyShorthand(CSSPropertyWebkitBorderEnd, borderEndProperties, WTF_ARRAY_LENGTH(borderEndProperties));
-}
-
-StylePropertyShorthand webkitBorderStartShorthand()
-{
- static const CSSPropertyID borderStartProperties[] = { CSSPropertyWebkitBorderStartWidth, CSSPropertyWebkitBorderStartStyle, CSSPropertyWebkitBorderStartColor };
- return StylePropertyShorthand(CSSPropertyWebkitBorderStart, borderStartProperties, WTF_ARRAY_LENGTH(borderStartProperties));
-}
-
-StylePropertyShorthand webkitColumnsShorthand()
-{
- static const CSSPropertyID columnsProperties[] = { CSSPropertyColumnWidth, CSSPropertyColumnCount };
- return StylePropertyShorthand(CSSPropertyColumns, columnsProperties, WTF_ARRAY_LENGTH(columnsProperties));
-}
-
-StylePropertyShorthand webkitColumnRuleShorthand()
-{
- static const CSSPropertyID columnRuleProperties[] = {
- CSSPropertyColumnRuleWidth,
- CSSPropertyColumnRuleStyle,
- CSSPropertyColumnRuleColor,
- };
- return StylePropertyShorthand(CSSPropertyColumnRule, columnRuleProperties, WTF_ARRAY_LENGTH(columnRuleProperties));
-}
-
-StylePropertyShorthand flexFlowShorthand()
-{
- static const CSSPropertyID flexFlowProperties[] = { CSSPropertyFlexDirection, CSSPropertyFlexWrap };
- return StylePropertyShorthand(CSSPropertyFlexFlow, flexFlowProperties, WTF_ARRAY_LENGTH(flexFlowProperties));
-}
-
-StylePropertyShorthand flexShorthand()
-{
- static const CSSPropertyID flexProperties[] = { CSSPropertyFlexGrow, CSSPropertyFlexShrink, CSSPropertyFlexBasis };
- return StylePropertyShorthand(CSSPropertyFlex, flexProperties, WTF_ARRAY_LENGTH(flexProperties));
-}
-
-StylePropertyShorthand webkitMarginCollapseShorthand()
-{
- static const CSSPropertyID marginCollapseProperties[] = { CSSPropertyWebkitMarginBeforeCollapse, CSSPropertyWebkitMarginAfterCollapse };
- return StylePropertyShorthand(CSSPropertyWebkitMarginCollapse, marginCollapseProperties, WTF_ARRAY_LENGTH(marginCollapseProperties));
-}
-
-#if ENABLE(CSS_GRID_LAYOUT)
-StylePropertyShorthand webkitGridShorthand()
-{
- static const CSSPropertyID webkitGridProperties[] = {
- CSSPropertyWebkitGridTemplateColumns,
- CSSPropertyWebkitGridTemplateRows,
- CSSPropertyWebkitGridTemplateAreas,
- CSSPropertyWebkitGridAutoFlow,
- CSSPropertyWebkitGridAutoColumns,
- CSSPropertyWebkitGridAutoRows
- };
- return StylePropertyShorthand(CSSPropertyWebkitGrid, webkitGridProperties, WTF_ARRAY_LENGTH(webkitGridProperties));
-}
-
-StylePropertyShorthand webkitGridTemplateShorthand()
-{
- static const CSSPropertyID webkitGridTemplateProperties[] = {
- CSSPropertyWebkitGridTemplateColumns,
- CSSPropertyWebkitGridTemplateRows,
- CSSPropertyWebkitGridTemplateAreas
- };
- return StylePropertyShorthand(CSSPropertyWebkitGridTemplate, webkitGridTemplateProperties, WTF_ARRAY_LENGTH(webkitGridTemplateProperties));
-}
-
-StylePropertyShorthand webkitGridAreaShorthand()
-{
- static const CSSPropertyID webkitGridAreaProperties[] = {
- CSSPropertyWebkitGridRowStart,
- CSSPropertyWebkitGridColumnStart,
- CSSPropertyWebkitGridRowEnd,
- CSSPropertyWebkitGridColumnEnd
- };
- return StylePropertyShorthand(CSSPropertyWebkitGridArea, webkitGridAreaProperties, WTF_ARRAY_LENGTH(webkitGridAreaProperties));
-}
-
-StylePropertyShorthand webkitGridColumnShorthand()
-{
- static const CSSPropertyID webkitGridColumnProperties[] = {
- CSSPropertyWebkitGridColumnStart,
- CSSPropertyWebkitGridColumnEnd
- };
- return StylePropertyShorthand(CSSPropertyWebkitGridColumn, webkitGridColumnProperties, WTF_ARRAY_LENGTH(webkitGridColumnProperties));
-
-}
-
-StylePropertyShorthand webkitGridRowShorthand()
-{
- static const CSSPropertyID webkitGridRowProperties[] = {
- CSSPropertyWebkitGridRowStart,
- CSSPropertyWebkitGridRowEnd
- };
- return StylePropertyShorthand(CSSPropertyWebkitGridRow, webkitGridRowProperties, WTF_ARRAY_LENGTH(webkitGridRowProperties));
-
-}
-#endif /* ENABLE(CSS_GRID_LAYOUT) */
-
-StylePropertyShorthand webkitMarqueeShorthand()
-{
- static const CSSPropertyID marqueeProperties[] = {
- CSSPropertyWebkitMarqueeDirection,
- CSSPropertyWebkitMarqueeIncrement,
- CSSPropertyWebkitMarqueeRepetition,
- CSSPropertyWebkitMarqueeStyle,
- CSSPropertyWebkitMarqueeSpeed
- };
- return StylePropertyShorthand(CSSPropertyWebkitMarquee, marqueeProperties, WTF_ARRAY_LENGTH(marqueeProperties));
-}
-
-StylePropertyShorthand webkitMaskShorthand()
-{
- static const CSSPropertyID maskProperties[] = {
- CSSPropertyWebkitMaskImage,
- CSSPropertyWebkitMaskSourceType,
- CSSPropertyWebkitMaskPositionX,
- CSSPropertyWebkitMaskPositionY,
- CSSPropertyWebkitMaskSize,
- CSSPropertyWebkitMaskRepeatX,
- CSSPropertyWebkitMaskRepeatY,
- CSSPropertyWebkitMaskOrigin,
- CSSPropertyWebkitMaskClip
- };
- return StylePropertyShorthand(CSSPropertyWebkitMask, maskProperties, WTF_ARRAY_LENGTH(maskProperties));
-}
-
-StylePropertyShorthand webkitMaskPositionShorthand()
-{
- static const CSSPropertyID maskPositionProperties[] = { CSSPropertyWebkitMaskPositionX, CSSPropertyWebkitMaskPositionY };
- return StylePropertyShorthand(CSSPropertyWebkitMaskPosition, maskPositionProperties, WTF_ARRAY_LENGTH(maskPositionProperties));
-}
-
-StylePropertyShorthand webkitMaskRepeatShorthand()
-{
- static const CSSPropertyID maskRepeatProperties[] = { CSSPropertyWebkitMaskRepeatX, CSSPropertyWebkitMaskRepeatY };
- return StylePropertyShorthand(CSSPropertyWebkitMaskRepeat, maskRepeatProperties, WTF_ARRAY_LENGTH(maskRepeatProperties));
-}
-
-StylePropertyShorthand webkitTextDecorationShorthand()
-{
- static const CSSPropertyID textDecorationProperties[] = {
- CSSPropertyWebkitTextDecorationLine,
- CSSPropertyWebkitTextDecorationStyle,
- CSSPropertyWebkitTextDecorationColor
- };
- return StylePropertyShorthand(CSSPropertyWebkitTextDecoration, textDecorationProperties, WTF_ARRAY_LENGTH(textDecorationProperties));
-}
-
-StylePropertyShorthand webkitTextEmphasisShorthand()
-{
- static const CSSPropertyID textEmphasisProperties[] = {
- CSSPropertyWebkitTextEmphasisStyle,
- CSSPropertyWebkitTextEmphasisColor
- };
- return StylePropertyShorthand(CSSPropertyWebkitTextEmphasis, textEmphasisProperties, WTF_ARRAY_LENGTH(textEmphasisProperties));
-}
-
-StylePropertyShorthand webkitTextStrokeShorthand()
-{
- static const CSSPropertyID textStrokeProperties[] = { CSSPropertyWebkitTextStrokeWidth, CSSPropertyWebkitTextStrokeColor };
- return StylePropertyShorthand(CSSPropertyWebkitTextStroke, textStrokeProperties, WTF_ARRAY_LENGTH(textStrokeProperties));
-}
-
-StylePropertyShorthand webkitTransitionShorthand()
-{
- static const CSSPropertyID transitionProperties[] = {
- CSSPropertyWebkitTransitionProperty,
- CSSPropertyWebkitTransitionDuration,
- CSSPropertyWebkitTransitionTimingFunction,
- CSSPropertyWebkitTransitionDelay
- };
- return StylePropertyShorthand(CSSPropertyWebkitTransition, transitionProperties, WTF_ARRAY_LENGTH(transitionProperties));
-}
-
-StylePropertyShorthand webkitPerspectiveOriginShorthand()
-{
- static const CSSPropertyID perspectiveOriginProperties[] = {
- CSSPropertyWebkitPerspectiveOriginX,
- CSSPropertyWebkitPerspectiveOriginY
- };
- return StylePropertyShorthand(CSSPropertyWebkitPerspectiveOrigin, perspectiveOriginProperties, WTF_ARRAY_LENGTH(perspectiveOriginProperties));
-}
-
-StylePropertyShorthand webkitTransformOriginShorthand()
-{
- static const CSSPropertyID transformOriginProperties[] = {
- CSSPropertyWebkitTransformOriginX,
- CSSPropertyWebkitTransformOriginY,
- CSSPropertyWebkitTransformOriginZ
- };
- return StylePropertyShorthand(CSSPropertyWebkitTransformOrigin, transformOriginProperties, WTF_ARRAY_LENGTH(transformOriginProperties));
-}
-
</del><span class="cx"> StylePropertyShorthand widthShorthand()
</span><span class="cx"> {
</span><span class="cx"> static const CSSPropertyID widthProperties[] = {
</span><span class="cx"> CSSPropertyMinWidth,
</span><span class="cx"> CSSPropertyMaxWidth
</span><span class="cx"> };
</span><del>- return StylePropertyShorthand(CSSPropertyWidth, widthProperties, WTF_ARRAY_LENGTH(widthProperties));
</del><ins>+ return StylePropertyShorthand(CSSPropertyWidth, widthProperties);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> StylePropertyShorthand heightShorthand()
</span><span class="lines">@@ -543,9 +97,10 @@
</span><span class="cx"> CSSPropertyMinHeight,
</span><span class="cx"> CSSPropertyMaxHeight
</span><span class="cx"> };
</span><del>- return StylePropertyShorthand(CSSPropertyHeight, heightProperties, WTF_ARRAY_LENGTH(heightProperties));
</del><ins>+ return StylePropertyShorthand(CSSPropertyHeight, heightProperties);
</ins><span class="cx"> }
</span><span class="cx">
</span><ins>+// FIXME: This function should be generated from CSSPropertyNames.in.
</ins><span class="cx"> // Returns an empty list if the property is not a shorthand.
</span><span class="cx"> StylePropertyShorthand shorthandForProperty(CSSPropertyID propertyID)
</span><span class="cx"> {
</span><span class="lines">@@ -607,9 +162,9 @@
</span><span class="cx"> case CSSPropertyWebkitBorderRadius:
</span><span class="cx"> return borderRadiusShorthand();
</span><span class="cx"> case CSSPropertyColumns:
</span><del>- return webkitColumnsShorthand();
</del><ins>+ return columnsShorthand();
</ins><span class="cx"> case CSSPropertyColumnRule:
</span><del>- return webkitColumnRuleShorthand();
</del><ins>+ return columnRuleShorthand();
</ins><span class="cx"> case CSSPropertyFlex:
</span><span class="cx"> return flexShorthand();
</span><span class="cx"> case CSSPropertyFlexFlow:
</span><span class="lines">@@ -691,6 +246,7 @@
</span><span class="cx"> return vector;
</span><span class="cx"> }
</span><span class="cx">
</span><ins>+// FIXME: This function should be generated from CSSPropertyNames.in.
</ins><span class="cx"> Vector<StylePropertyShorthand> matchingShorthandsForLonghand(CSSPropertyID propertyID)
</span><span class="cx"> {
</span><span class="cx"> switch (propertyID) {
</span><span class="lines">@@ -812,11 +368,11 @@
</span><span class="cx"> return makeVector(webkitBorderStartShorthand());
</span><span class="cx"> case CSSPropertyColumnWidth:
</span><span class="cx"> case CSSPropertyColumnCount:
</span><del>- return makeVector(webkitColumnsShorthand());
</del><ins>+ return makeVector(columnsShorthand());
</ins><span class="cx"> case CSSPropertyColumnRuleWidth:
</span><span class="cx"> case CSSPropertyColumnRuleStyle:
</span><span class="cx"> case CSSPropertyColumnRuleColor:
</span><del>- return makeVector(webkitColumnRuleShorthand());
</del><ins>+ return makeVector(columnRuleShorthand());
</ins><span class="cx"> case CSSPropertyFlexGrow:
</span><span class="cx"> case CSSPropertyFlexShrink:
</span><span class="cx"> case CSSPropertyFlexBasis:
</span></span></pre></div>
<a id="trunkSourceWebCorecssStylePropertyShorthandh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/StylePropertyShorthand.h (178585 => 178586)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/StylePropertyShorthand.h        2015-01-16 19:38:11 UTC (rev 178585)
+++ trunk/Source/WebCore/css/StylePropertyShorthand.h        2015-01-16 19:39:02 UTC (rev 178586)
</span><span class="lines">@@ -23,6 +23,7 @@
</span><span class="cx"> #define StylePropertyShorthand_h
</span><span class="cx">
</span><span class="cx"> #include "CSSPropertyNames.h"
</span><ins>+#include "StylePropertyShorthandFunctions.h"
</ins><span class="cx"> #include <wtf/Vector.h>
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -37,16 +38,9 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx">
</span><del>- StylePropertyShorthand(CSSPropertyID id, const CSSPropertyID* properties, unsigned numProperties)
</del><ins>+ template<unsigned numProperties>
+ StylePropertyShorthand(CSSPropertyID id, const CSSPropertyID (&properties)[numProperties], const StylePropertyShorthand* propertiesForInitialization = nullptr)
</ins><span class="cx"> : m_properties(properties)
</span><del>- , m_propertiesForInitialization(0)
- , m_length(numProperties)
- , m_shorthandID(id)
- {
- }
-
- StylePropertyShorthand(CSSPropertyID id, const CSSPropertyID* properties, const StylePropertyShorthand* propertiesForInitialization, unsigned numProperties)
- : m_properties(properties)
</del><span class="cx"> , m_propertiesForInitialization(propertiesForInitialization)
</span><span class="cx"> , m_length(numProperties)
</span><span class="cx"> , m_shorthandID(id)
</span><span class="lines">@@ -65,62 +59,13 @@
</span><span class="cx"> CSSPropertyID m_shorthandID;
</span><span class="cx"> };
</span><span class="cx">
</span><del>-StylePropertyShorthand animationShorthand();
</del><ins>+// Custom StylePropertyShorthand functions.
</ins><span class="cx"> StylePropertyShorthand animationShorthandForParsing(CSSPropertyID);
</span><del>-StylePropertyShorthand backgroundShorthand();
-StylePropertyShorthand backgroundPositionShorthand();
-StylePropertyShorthand backgroundRepeatShorthand();
-StylePropertyShorthand borderShorthand();
</del><span class="cx"> StylePropertyShorthand borderAbridgedShorthand();
</span><del>-StylePropertyShorthand borderBottomShorthand();
-StylePropertyShorthand borderColorShorthand();
-StylePropertyShorthand borderImageShorthand();
-StylePropertyShorthand borderLeftShorthand();
-StylePropertyShorthand borderRadiusShorthand();
-StylePropertyShorthand borderRightShorthand();
-StylePropertyShorthand borderSpacingShorthand();
-StylePropertyShorthand borderStyleShorthand();
-StylePropertyShorthand borderTopShorthand();
-StylePropertyShorthand borderWidthShorthand();
-StylePropertyShorthand listStyleShorthand();
-StylePropertyShorthand flexFlowShorthand();
-StylePropertyShorthand flexShorthand();
</del><span class="cx"> StylePropertyShorthand fontShorthand();
</span><span class="cx"> StylePropertyShorthand heightShorthand();
</span><del>-StylePropertyShorthand marginShorthand();
-StylePropertyShorthand outlineShorthand();
-StylePropertyShorthand overflowShorthand();
-StylePropertyShorthand paddingShorthand();
-StylePropertyShorthand transitionShorthand();
-StylePropertyShorthand webkitAnimationShorthand();
-StylePropertyShorthand webkitBorderAfterShorthand();
-StylePropertyShorthand webkitBorderBeforeShorthand();
-StylePropertyShorthand webkitBorderEndShorthand();
-StylePropertyShorthand webkitBorderRadiusShorthand();
-StylePropertyShorthand webkitBorderStartShorthand();
-StylePropertyShorthand webkitColumnsShorthand();
-StylePropertyShorthand webkitColumnRuleShorthand();
-StylePropertyShorthand webkitGridShorthand();
-StylePropertyShorthand webkitGridTemplateShorthand();
-StylePropertyShorthand webkitGridAreaShorthand();
-StylePropertyShorthand webkitGridColumnShorthand();
-StylePropertyShorthand webkitGridRowShorthand();
-StylePropertyShorthand webkitMarginCollapseShorthand();
-StylePropertyShorthand webkitMarqueeShorthand();
-StylePropertyShorthand webkitMaskShorthand();
-StylePropertyShorthand webkitMaskPositionShorthand();
-StylePropertyShorthand webkitMaskRepeatShorthand();
-StylePropertyShorthand webkitPerspectiveOriginShorthand();
-StylePropertyShorthand webkitTextEmphasisShorthand();
-StylePropertyShorthand webkitTextStrokeShorthand();
-StylePropertyShorthand webkitTransitionShorthand();
-StylePropertyShorthand webkitTransformOriginShorthand();
</del><span class="cx"> StylePropertyShorthand widthShorthand();
</span><span class="cx">
</span><del>-StylePropertyShorthand webkitTextDecorationShorthand();
-
-StylePropertyShorthand markerShorthand();
-
</del><span class="cx"> // Returns empty value if the property is not a shorthand.
</span><span class="cx"> StylePropertyShorthand shorthandForProperty(CSSPropertyID);
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorecssmakeproppl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/makeprop.pl (178585 => 178586)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/makeprop.pl        2015-01-16 19:38:11 UTC (rev 178585)
+++ trunk/Source/WebCore/css/makeprop.pl        2015-01-16 19:39:02 UTC (rev 178586)
</span><span class="lines">@@ -3,7 +3,7 @@
</span><span class="cx"> # This file is part of the WebKit project
</span><span class="cx"> #
</span><span class="cx"> # Copyright (C) 1999 Waldo Bastian (bastian@kde.org)
</span><del>-# Copyright (C) 2007, 2008, 2012, 2014 Apple Inc. All rights reserved.
</del><ins>+# Copyright (C) 2007, 2008, 2012, 2014, 2015 Apple Inc. All rights reserved.
</ins><span class="cx"> # Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies)
</span><span class="cx"> # Copyright (C) 2010 Andras Becsi (abecsi@inf.u-szeged.hu), University of Szeged
</span><span class="cx"> # Copyright (C) 2013 Google Inc. All rights reserved.
</span><span class="lines">@@ -52,10 +52,10 @@
</span><span class="cx"> FontProperty => 1,
</span><span class="cx"> Getter => 1,
</span><span class="cx"> Initial => 1,
</span><ins>+ Longhands => 1,
</ins><span class="cx"> NameForMethods => 1,
</span><span class="cx"> NoDefaultColor => 1,
</span><span class="cx"> SVG => 1,
</span><del>- Shorthand => 1,
</del><span class="cx"> SkipBuilder => 1,
</span><span class="cx"> Setter => 1,
</span><span class="cx"> VisitedLinkColorSupport => 1,
</span><span class="lines">@@ -845,7 +845,7 @@
</span><span class="cx">
</span><span class="cx"> foreach my $name (@names) {
</span><span class="cx"> # Skip Shorthand properties and properties that do not use the StyleBuilder.
</span><del>- next if (exists $propertiesWithStyleBuilderOptions{$name}{"Shorthand"});
</del><ins>+ next if (exists $propertiesWithStyleBuilderOptions{$name}{"Longhands"});
</ins><span class="cx"> next if (exists $propertiesWithStyleBuilderOptions{$name}{"SkipBuilder"});
</span><span class="cx">
</span><span class="cx"> my $indent = " ";
</span><span class="lines">@@ -872,7 +872,7 @@
</span><span class="cx">
</span><span class="cx"> foreach my $name (@names) {
</span><span class="cx"> print STYLEBUILDER " case CSSProperty" . $nameToId{$name} . ":\n";
</span><del>- if (exists $propertiesWithStyleBuilderOptions{$name}{"Shorthand"}) {
</del><ins>+ if (exists $propertiesWithStyleBuilderOptions{$name}{"Longhands"}) {
</ins><span class="cx"> print STYLEBUILDER " ASSERT(isExpandedShorthand(property));\n";
</span><span class="cx"> print STYLEBUILDER " ASSERT_NOT_REACHED();\n";
</span><span class="cx"> } elsif (!exists $propertiesWithStyleBuilderOptions{$name}{"SkipBuilder"}) {
</span><span class="lines">@@ -895,5 +895,73 @@
</span><span class="cx">
</span><span class="cx"> close STYLEBUILDER;
</span><span class="cx">
</span><ins>+# Generate StylePropertyShorthandsFunctions.
+open SHORTHANDS_H, ">StylePropertyShorthandFunctions.h" || die "Could not open StylePropertyShorthandFunctions.h for writing";
+print SHORTHANDS_H << "EOF";
+/* This file is automatically generated from CSSPropertyNames.in by makeprop, do not edit */
+
+#ifndef StylePropertyShorthandFunctions_h
+#define StylePropertyShorthandFunctions_h
+
+namespace WebCore {
+
+class StylePropertyShorthand;
+
+EOF
+
+foreach my $name (@names) {
+ # Skip non-Shorthand properties.
+ next if (!exists $propertiesWithStyleBuilderOptions{$name}{"Longhands"});
+
+ print SHORTHANDS_H "StylePropertyShorthand " . lcfirst($nameToId{$name}) . "Shorthand();\n";
+}
+
+print SHORTHANDS_H << "EOF";
+
+} // namespace WebCore
+
+#endif // StylePropertyShorthandFunctions_h
+EOF
+
+close SHORTHANDS_H;
+
+open SHORTHANDS_CPP, ">StylePropertyShorthandFunctions.cpp" || die "Could not open StylePropertyShorthandFunctions.cpp for writing";
+print SHORTHANDS_CPP << "EOF";
+/* This file is automatically generated from CSSPropertyNames.in by makeprop, do not edit */
+
+#include "config.h"
+#include "StylePropertyShorthandFunctions.h"
+
+#include "StylePropertyShorthand.h"
+
+namespace WebCore {
+
+EOF
+
+foreach my $name (@names) {
+ # Skip non-Shorthand properties.
+ next if (!exists $propertiesWithStyleBuilderOptions{$name}{"Longhands"});
+
+ my $lowercaseId = lcfirst($nameToId{$name});
+ my @longhands = split(/\|/, $propertiesWithStyleBuilderOptions{$name}{"Longhands"});
+
+ print SHORTHANDS_CPP "StylePropertyShorthand " . $lowercaseId . "Shorthand()\n";
+ print SHORTHANDS_CPP "{\n";
+ print SHORTHANDS_CPP " static const CSSPropertyID " . $lowercaseId . "Properties[] = {\n";
+ foreach (@longhands) {
+ die "Unknown CSS property used in Longhands: " . $nameToId{$_} if !exists($nameToId{$_});
+ print SHORTHANDS_CPP " CSSProperty" . $nameToId{$_} . ",\n";
+ }
+ print SHORTHANDS_CPP " };\n";
+ print SHORTHANDS_CPP " return StylePropertyShorthand(CSSProperty" . $nameToId{$name} . ", " . $lowercaseId . "Properties);\n";
+ print SHORTHANDS_CPP "}\n\n";
+}
+
+print SHORTHANDS_CPP << "EOF";
+} // namespace WebCore
+EOF
+
+close SHORTHANDS_CPP;
+
</ins><span class="cx"> my $gperf = $ENV{GPERF} ? $ENV{GPERF} : "gperf";
</span><span class="cx"> system("\"$gperf\" --key-positions=\"*\" -D -n -s 2 CSSPropertyNames.gperf --output-file=CSSPropertyNames.cpp") == 0 || die "calling gperf failed: $?";
</span></span></pre>
</div>
</div>
</body>
</html>