<!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>[175123] 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/175123">175123</a></dd>
<dt>Author</dt> <dd>cdumez@apple.com</dd>
<dt>Date</dt> <dd>2014-10-23 09:14:25 -0700 (Thu, 23 Oct 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>Move Length-type CSS properties from DeprecatedStyleBuilder to the new Style Builder
https://bugs.webkit.org/show_bug.cgi?id=138000

Reviewed by Andreas Kling.

Move most Length-type CSS properties from DeprecatedStyleBuilder to the
new Style Builder so that they are now generated. This patch adds
support for a &quot;Converter&quot; option in CSSPropertyNames.in that can be
used to specify a type converter function in
css/StyleBuilderConverter.h. This patch adds support for Length and
LengthOrAuto converters so that most Length-type properties can now be
generated.

Another converter (likely called &quot;LengthSizing&quot;) will be needed to
generate the remaining Length-type properties. This will be taken care
of in a follow-up patch.

This patch is inspired by the following Blink revision by
&lt;timloh@chromium.org&gt;:
https://src.chromium.org/viewvc/blink?view=rev&amp;revision=150500

No new tests, no behavior change.

* WebCore.xcodeproj/project.pbxproj:
* css/CSSPropertyNames.in:
* css/DeprecatedStyleBuilder.cpp:
(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
* css/SVGCSSPropertyNames.in:
* css/StyleBuilder.h:
* css/StyleBuilderConverter.h: Added.
(WebCore::StyleBuilderConverter::convertLength):
(WebCore::StyleBuilderConverter::convertLengthOrAuto):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::applyProperty):
* css/makeprop.pl:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreWebCorexcodeprojprojectpbxproj">trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceWebCorecssCSSPropertyNamesin">trunk/Source/WebCore/css/CSSPropertyNames.in</a></li>
<li><a href="#trunkSourceWebCorecssDeprecatedStyleBuildercpp">trunk/Source/WebCore/css/DeprecatedStyleBuilder.cpp</a></li>
<li><a href="#trunkSourceWebCorecssSVGCSSPropertyNamesin">trunk/Source/WebCore/css/SVGCSSPropertyNames.in</a></li>
<li><a href="#trunkSourceWebCorecssStyleBuilderh">trunk/Source/WebCore/css/StyleBuilder.h</a></li>
<li><a href="#trunkSourceWebCorecssStyleResolvercpp">trunk/Source/WebCore/css/StyleResolver.cpp</a></li>
<li><a href="#trunkSourceWebCorecssmakeproppl">trunk/Source/WebCore/css/makeprop.pl</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#trunkSourceWebCorecssStyleBuilderConverterh">trunk/Source/WebCore/css/StyleBuilderConverter.h</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (175122 => 175123)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2014-10-23 16:09:46 UTC (rev 175122)
+++ trunk/Source/WebCore/ChangeLog        2014-10-23 16:14:25 UTC (rev 175123)
</span><span class="lines">@@ -1,3 +1,41 @@
</span><ins>+2014-10-23  Chris Dumez  &lt;cdumez@apple.com&gt;
+
+        Move Length-type CSS properties from DeprecatedStyleBuilder to the new Style Builder
+        https://bugs.webkit.org/show_bug.cgi?id=138000
+
+        Reviewed by Andreas Kling.
+
+        Move most Length-type CSS properties from DeprecatedStyleBuilder to the
+        new Style Builder so that they are now generated. This patch adds
+        support for a &quot;Converter&quot; option in CSSPropertyNames.in that can be
+        used to specify a type converter function in
+        css/StyleBuilderConverter.h. This patch adds support for Length and
+        LengthOrAuto converters so that most Length-type properties can now be
+        generated.
+
+        Another converter (likely called &quot;LengthSizing&quot;) will be needed to
+        generate the remaining Length-type properties. This will be taken care
+        of in a follow-up patch.
+
+        This patch is inspired by the following Blink revision by
+        &lt;timloh@chromium.org&gt;:
+        https://src.chromium.org/viewvc/blink?view=rev&amp;revision=150500
+
+        No new tests, no behavior change.
+
+        * WebCore.xcodeproj/project.pbxproj:
+        * css/CSSPropertyNames.in:
+        * css/DeprecatedStyleBuilder.cpp:
+        (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
+        * css/SVGCSSPropertyNames.in:
+        * css/StyleBuilder.h:
+        * css/StyleBuilderConverter.h: Added.
+        (WebCore::StyleBuilderConverter::convertLength):
+        (WebCore::StyleBuilderConverter::convertLengthOrAuto):
+        * css/StyleResolver.cpp:
+        (WebCore::StyleResolver::applyProperty):
+        * css/makeprop.pl:
+
</ins><span class="cx"> 2014-10-23  Zan Dobersek  &lt;zdobersek@igalia.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Const-ify static s_resourceType members in RenderSVGResource* classes
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (175122 => 175123)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2014-10-23 16:09:46 UTC (rev 175122)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2014-10-23 16:14:25 UTC (rev 175123)
</span><span class="lines">@@ -2503,6 +2503,7 @@
</span><span class="cx">                 836FBCEC178C117F00B21A15 /* SVGAnimatedProperty.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 836FBCEB178C117F00B21A15 /* SVGAnimatedProperty.cpp */; };
</span><span class="cx">                 8386A96D19F61B2E00E1EC4A /* StyleBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = 8386A96C19F61B2E00E1EC4A /* StyleBuilder.h */; };
</span><span class="cx">                 8386A97019F61E4F00E1EC4A /* StyleBuilder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8386A96E19F61E4F00E1EC4A /* StyleBuilder.cpp */; };
</span><ins>+                83B9687B19F8AB83004EF7AF /* StyleBuilderConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = 83B9687919F8AB83004EF7AF /* StyleBuilderConverter.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">@@ -9683,7 +9684,8 @@
</span><span class="cx">                 836FBCE9178C113200B21A15 /* SVGAnimatedTypeAnimator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SVGAnimatedTypeAnimator.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 836FBCEB178C117F00B21A15 /* SVGAnimatedProperty.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SVGAnimatedProperty.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 8386A96C19F61B2E00E1EC4A /* StyleBuilder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StyleBuilder.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                8386A96E19F61E4F00E1EC4A /* StyleBuilder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = StyleBuilder.cpp; path = StyleBuilder.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><ins>+                8386A96E19F61E4F00E1EC4A /* StyleBuilder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StyleBuilder.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                83B9687919F8AB83004EF7AF /* StyleBuilderConverter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StyleBuilderConverter.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 83C1D413178D5AB400141E68 /* SVGPathSegArcAbs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGPathSegArcAbs.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 83C1D414178D5AB400141E68 /* SVGPathSegArcRel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGPathSegArcRel.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 83C1D415178D5AB400141E68 /* SVGPathSegCurvetoCubicAbs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGPathSegCurvetoCubicAbs.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -20565,7 +20567,7 @@
</span><span class="cx">                                 A8FA6E5C0E4CFDED00D5CF49 /* Pattern.cpp */,
</span><span class="cx">                                 A8FA6E5B0E4CFDED00D5CF49 /* Pattern.h */,
</span><span class="cx">                                 0562F9601573F88F0031CA16 /* PlatformLayer.h */,
</span><del>-                                CEEFCD7B19DB33DC003876D7 /* PlatformMediaResourceLoader.h */,
</del><ins>+                                CEEFCD7B19DB33DC003876D7 /* PlatformMediaResourceLoader.h */,
</ins><span class="cx">                                 072847E216EBC5B00043CFA4 /* PlatformTextTrack.h */,
</span><span class="cx">                                 072847E316EBC5B00043CFA4 /* PlatformTextTrackMenu.h */,
</span><span class="cx">                                 074E82B818A69F0E007EF54C /* PlatformTimeRanges.cpp */,
</span><span class="lines">@@ -22218,6 +22220,8 @@
</span><span class="cx">                                 43107BE118CC19DE00CC18E8 /* SelectorPseudoTypeMap.h */,
</span><span class="cx">                                 536D5A24193F40FC00CE4CAB /* SourceSizeList.cpp */,
</span><span class="cx">                                 536D5A26193F410B00CE4CAB /* SourceSizeList.h */,
</span><ins>+                                8386A96C19F61B2E00E1EC4A /* StyleBuilder.h */,
+                                83B9687919F8AB83004EF7AF /* StyleBuilderConverter.h */,
</ins><span class="cx">                                 E47A97CE163059FC005DCD99 /* StyleInvalidationAnalysis.cpp */,
</span><span class="cx">                                 E47A97CF163059FC005DCD99 /* StyleInvalidationAnalysis.h */,
</span><span class="cx">                                 0FF5026E102BA9660066F39A /* StyleMedia.cpp */,
</span><span class="lines">@@ -22272,7 +22276,6 @@
</span><span class="cx">                                 3FFFF9A6159D9A550020BBD5 /* WebKitCSSViewportRule.cpp */,
</span><span class="cx">                                 3FFFF9A7159D9A550020BBD5 /* WebKitCSSViewportRule.h */,
</span><span class="cx">                                 3F2B33E3165ABD3500E3987C /* WebKitCSSViewportRule.idl */,
</span><del>-                                8386A96C19F61B2E00E1EC4A /* StyleBuilder.h */,
</del><span class="cx">                         );
</span><span class="cx">                         path = css;
</span><span class="cx">                         sourceTree = &quot;&lt;group&gt;&quot;;
</span><span class="lines">@@ -24444,7 +24447,6 @@
</span><span class="cx">                                 FD3160A112B026F700C1A359 /* HRTFPanner.h in Headers */,
</span><span class="cx">                                 BC97E23A109144950010D361 /* HTMLAllCollection.h in Headers */,
</span><span class="cx">                                 A8CFF7AB0A156978000A4234 /* HTMLAnchorElement.h in Headers */,
</span><del>-                                07BC67F419F8201D00E0E3D9 /* URLRegistry.h in Headers */,
</del><span class="cx">                                 A871D45D0A127CBC00B12A68 /* HTMLAppletElement.h in Headers */,
</span><span class="cx">                                 A8EA7D2E0A19385500A8EF5F /* HTMLAreaElement.h in Headers */,
</span><span class="cx">                                 E44613A20CD6331000FADA75 /* HTMLAudioElement.h in Headers */,
</span><span class="lines">@@ -25589,7 +25591,7 @@
</span><span class="cx">                                 935C476809AC4D4300A6AAB4 /* PlatformKeyboardEvent.h in Headers */,
</span><span class="cx">                                 0562F9611573F88F0031CA16 /* PlatformLayer.h in Headers */,
</span><span class="cx">                                 F544F78915CFB2A800AF33A8 /* PlatformLocale.h in Headers */,
</span><del>-                                CEEFCD7C19DB33DC003876D7 /* PlatformMediaResourceLoader.h in Headers */,
</del><ins>+                                CEEFCD7C19DB33DC003876D7 /* PlatformMediaResourceLoader.h in Headers */,
</ins><span class="cx">                                 932871C00B20DEB70049035A /* PlatformMenuDescription.h in Headers */,
</span><span class="cx">                                 41BF70100FE86F61005E8DEC /* PlatformMessagePortChannel.h in Headers */,
</span><span class="cx">                                 935C476909AC4D4300A6AAB4 /* PlatformMouseEvent.h in Headers */,
</span><span class="lines">@@ -25930,6 +25932,7 @@
</span><span class="cx">                                 BC8B853E0E7C7F1100AB6984 /* ScrollbarThemeMac.h in Headers */,
</span><span class="cx">                                 0FE71406142170B800DB33BA /* ScrollbarThemeMock.h in Headers */,
</span><span class="cx">                                 5D925B680F64D4DD00B847F0 /* ScrollBehavior.h in Headers */,
</span><ins>+                                83B9687B19F8AB83004EF7AF /* StyleBuilderConverter.h in Headers */,
</ins><span class="cx">                                 1AA84F05143BA7BD0051D153 /* ScrollElasticityController.h in Headers */,
</span><span class="cx">                                 0F605AED15F94848004DF0C0 /* ScrollingConstraints.h in Headers */,
</span><span class="cx">                                 1AF62EE814DA22A70041556C /* ScrollingCoordinator.h in Headers */,
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSPropertyNamesin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSPropertyNames.in (175122 => 175123)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSPropertyNames.in        2014-10-23 16:09:46 UTC (rev 175122)
+++ trunk/Source/WebCore/css/CSSPropertyNames.in        2014-10-23 16:14:25 UTC (rev 175123)
</span><span class="lines">@@ -93,7 +93,7 @@
</span><span class="cx"> border-top-style [NewStyleBuilder, TypeName=EBorderStyle, Initial=initialBorderStyle]
</span><span class="cx"> border-top-width
</span><span class="cx"> border-width
</span><del>-bottom
</del><ins>+bottom [NewStyleBuilder, Initial=initialOffset, Converter=LengthOrAuto]
</ins><span class="cx"> box-shadow
</span><span class="cx"> box-sizing [NewStyleBuilder]
</span><span class="cx"> // -webkit-box-sizing worked in Safari 4 and earlier.
</span><span class="lines">@@ -121,17 +121,17 @@
</span><span class="cx"> #if defined(ENABLE_CSS_IMAGE_RESOLUTION) &amp;&amp; ENABLE_CSS_IMAGE_RESOLUTION
</span><span class="cx"> image-resolution [Inherited]
</span><span class="cx"> #endif
</span><del>-left
</del><ins>+left [NewStyleBuilder, Initial=initialOffset, Converter=LengthOrAuto]
</ins><span class="cx"> letter-spacing [Inherited]
</span><span class="cx"> list-style [Inherited]
</span><span class="cx"> list-style-image [Inherited]
</span><span class="cx"> list-style-position [Inherited, NewStyleBuilder]
</span><span class="cx"> list-style-type [Inherited, NewStyleBuilder]
</span><span class="cx"> margin
</span><del>-margin-bottom
-margin-left
-margin-right
-margin-top
</del><ins>+margin-bottom [NewStyleBuilder, Initial=initialMargin, Converter=LengthOrAuto]
+margin-left [NewStyleBuilder, Initial=initialMargin, Converter=LengthOrAuto]
+margin-right [NewStyleBuilder, Initial=initialMargin, Converter=LengthOrAuto]
+margin-top [NewStyleBuilder, Initial=initialMargin, Converter=LengthOrAuto]
</ins><span class="cx"> max-height
</span><span class="cx"> max-width
</span><span class="cx"> min-height
</span><span class="lines">@@ -152,10 +152,10 @@
</span><span class="cx"> overflow-x [NewStyleBuilder, TypeName=EOverflow]
</span><span class="cx"> overflow-y [NewStyleBuilder, TypeName=EOverflow]
</span><span class="cx"> padding
</span><del>-padding-bottom
-padding-left
-padding-right
-padding-top
</del><ins>+padding-bottom [NewStyleBuilder, Initial=initialPadding, Converter=Length]
+padding-left [NewStyleBuilder, Initial=initialPadding, Converter=Length]
+padding-right [NewStyleBuilder, Initial=initialPadding, Converter=Length]
+padding-top [NewStyleBuilder, Initial=initialPadding, Converter=Length]
</ins><span class="cx"> page
</span><span class="cx"> page-break-after [NewStyleBuilder, TypeName=EPageBreak, Initial=initialPageBreak]
</span><span class="cx"> page-break-before [NewStyleBuilder, TypeName=EPageBreak, Initial=initialPageBreak]
</span><span class="lines">@@ -165,7 +165,7 @@
</span><span class="cx"> position [NewStyleBuilder]
</span><span class="cx"> quotes [Inherited]
</span><span class="cx"> resize [Inherited]
</span><del>-right
</del><ins>+right [NewStyleBuilder, Initial=initialOffset, Converter=LengthOrAuto]
</ins><span class="cx"> size
</span><span class="cx"> src
</span><span class="cx"> speak [Inherited, NewStyleBuilder]
</span><span class="lines">@@ -193,7 +193,7 @@
</span><span class="cx"> text-underline-mode
</span><span class="cx"> text-underline-style
</span><span class="cx"> text-underline-width
</span><del>-top
</del><ins>+top [NewStyleBuilder, Initial=initialOffset, Converter=LengthOrAuto]
</ins><span class="cx"> transition
</span><span class="cx"> transition-delay
</span><span class="cx"> transition-duration
</span><span class="lines">@@ -301,7 +301,7 @@
</span><span class="cx"> -webkit-align-self = align-self
</span><span class="cx"> flex
</span><span class="cx"> -webkit-flex = flex
</span><del>-flex-basis
</del><ins>+flex-basis [NewStyleBuilder, Converter=LengthOrAuto]
</ins><span class="cx"> -webkit-flex-basis = flex-basis
</span><span class="cx"> flex-direction [NewStyleBuilder]
</span><span class="cx"> -webkit-flex-direction = flex-direction
</span><span class="lines">@@ -396,8 +396,8 @@
</span><span class="cx"> -webkit-padding-start
</span><span class="cx"> -webkit-perspective
</span><span class="cx"> -webkit-perspective-origin
</span><del>--webkit-perspective-origin-x
--webkit-perspective-origin-y
</del><ins>+-webkit-perspective-origin-x [NewStyleBuilder, Converter=Length]
+-webkit-perspective-origin-y [NewStyleBuilder, Converter=Length]
</ins><span class="cx"> -webkit-print-color-adjust [Inherited, NewStyleBuilder, TypeName=PrintColorAdjust]
</span><span class="cx"> -webkit-rtl-ordering [Inherited, NewStyleBuilder, TypeName=Order, Setter=setRTLOrdering, Initial=initialRTLOrdering]
</span><span class="cx"> #if defined(ENABLE_CSS_SCROLL_SNAP)
</span><span class="lines">@@ -438,8 +438,8 @@
</span><span class="cx"> -webkit-text-stroke-width [Inherited]
</span><span class="cx"> -webkit-transform
</span><span class="cx"> -webkit-transform-origin
</span><del>--webkit-transform-origin-x
--webkit-transform-origin-y
</del><ins>+-webkit-transform-origin-x [NewStyleBuilder, Converter=Length]
+-webkit-transform-origin-y [NewStyleBuilder, Converter=Length]
</ins><span class="cx"> -webkit-transform-origin-z
</span><span class="cx"> -webkit-transform-style [NewStyleBuilder, TypeName=ETransformStyle3D, NameForMethods=TransformStyle3D]
</span><span class="cx"> -webkit-transition
</span><span class="lines">@@ -460,7 +460,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> #if defined(ENABLE_CSS_SHAPES) &amp;&amp; ENABLE_CSS_SHAPES
</span><span class="cx"> -webkit-shape-outside
</span><del>--webkit-shape-margin
</del><ins>+-webkit-shape-margin [NewStyleBuilder, Converter=Length]
</ins><span class="cx"> -webkit-shape-image-threshold
</span><span class="cx"> #endif
</span><span class="cx"> #if defined(ENABLE_CSS_DEVICE_ADAPTATION) &amp;&amp; ENABLE_CSS_DEVICE_ADAPTATION
</span></span></pre></div>
<a id="trunkSourceWebCorecssDeprecatedStyleBuildercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/DeprecatedStyleBuilder.cpp (175122 => 175123)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/DeprecatedStyleBuilder.cpp        2014-10-23 16:09:46 UTC (rev 175122)
+++ trunk/Source/WebCore/css/DeprecatedStyleBuilder.cpp        2014-10-23 16:14:25 UTC (rev 175123)
</span><span class="lines">@@ -2372,7 +2372,6 @@
</span><span class="cx">     setPropertyHandler(CSSPropertyBorderTopLeftRadius, ApplyPropertyBorderRadius&lt;&amp;RenderStyle::borderTopLeftRadius, &amp;RenderStyle::setBorderTopLeftRadius, &amp;RenderStyle::initialBorderRadius&gt;::createHandler());
</span><span class="cx">     setPropertyHandler(CSSPropertyBorderTopRightRadius, ApplyPropertyBorderRadius&lt;&amp;RenderStyle::borderTopRightRadius, &amp;RenderStyle::setBorderTopRightRadius, &amp;RenderStyle::initialBorderRadius&gt;::createHandler());
</span><span class="cx">     setPropertyHandler(CSSPropertyBorderTopWidth, ApplyPropertyComputeLength&lt;float, &amp;RenderStyle::borderTopWidth, &amp;RenderStyle::setBorderTopWidth, &amp;RenderStyle::initialBorderWidth, NormalDisabled, ThicknessEnabled&gt;::createHandler());
</span><del>-    setPropertyHandler(CSSPropertyBottom, ApplyPropertyLength&lt;&amp;RenderStyle::bottom, &amp;RenderStyle::setBottom, &amp;RenderStyle::initialOffset, AutoEnabled&gt;::createHandler());
</del><span class="cx">     setPropertyHandler(CSSPropertyClip, ApplyPropertyClip::createHandler());
</span><span class="cx">     setPropertyHandler(CSSPropertyColor, ApplyPropertyColor&lt;InheritFromParent, &amp;RenderStyle::color, &amp;RenderStyle::setColor, &amp;RenderStyle::setVisitedLinkColor, &amp;RenderStyle::invalidColor, RenderStyle::initialColor&gt;::createHandler());
</span><span class="cx">     setPropertyHandler(CSSPropertyCounterIncrement, ApplyPropertyCounter&lt;Increment&gt;::createHandler());
</span><span class="lines">@@ -2389,7 +2388,6 @@
</span><span class="cx"> #if ENABLE(CSS_IMAGE_RESOLUTION)
</span><span class="cx">     setPropertyHandler(CSSPropertyImageResolution, ApplyPropertyImageResolution::createHandler());
</span><span class="cx"> #endif
</span><del>-    setPropertyHandler(CSSPropertyLeft, ApplyPropertyLength&lt;&amp;RenderStyle::left, &amp;RenderStyle::setLeft, &amp;RenderStyle::initialOffset, AutoEnabled&gt;::createHandler());
</del><span class="cx">     setPropertyHandler(CSSPropertyLetterSpacing, ApplyPropertyComputeLength&lt;float, &amp;RenderStyle::letterSpacing, &amp;RenderStyle::setLetterSpacing, &amp;RenderStyle::initialLetterSpacing, NormalEnabled, ThicknessDisabled, SVGZoomEnabled&gt;::createHandler());
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(IOS_TEXT_AUTOSIZING)
</span><span class="lines">@@ -2398,10 +2396,6 @@
</span><span class="cx">     setPropertyHandler(CSSPropertyLineHeight, ApplyPropertyLineHeight::createHandler());
</span><span class="cx"> #endif
</span><span class="cx">     setPropertyHandler(CSSPropertyListStyleImage, ApplyPropertyStyleImage&lt;&amp;RenderStyle::listStyleImage, &amp;RenderStyle::setListStyleImage, &amp;RenderStyle::initialListStyleImage, CSSPropertyListStyleImage&gt;::createHandler());
</span><del>-    setPropertyHandler(CSSPropertyMarginBottom, ApplyPropertyLength&lt;&amp;RenderStyle::marginBottom, &amp;RenderStyle::setMarginBottom, &amp;RenderStyle::initialMargin, AutoEnabled&gt;::createHandler());
-    setPropertyHandler(CSSPropertyMarginLeft, ApplyPropertyLength&lt;&amp;RenderStyle::marginLeft, &amp;RenderStyle::setMarginLeft, &amp;RenderStyle::initialMargin, AutoEnabled&gt;::createHandler());
-    setPropertyHandler(CSSPropertyMarginRight, ApplyPropertyLength&lt;&amp;RenderStyle::marginRight, &amp;RenderStyle::setMarginRight, &amp;RenderStyle::initialMargin, AutoEnabled&gt;::createHandler());
-    setPropertyHandler(CSSPropertyMarginTop, ApplyPropertyLength&lt;&amp;RenderStyle::marginTop, &amp;RenderStyle::setMarginTop, &amp;RenderStyle::initialMargin, AutoEnabled&gt;::createHandler());
</del><span class="cx">     setPropertyHandler(CSSPropertyMaxHeight, ApplyPropertyLength&lt;&amp;RenderStyle::maxHeight, &amp;RenderStyle::setMaxHeight, &amp;RenderStyle::initialMaxSize, AutoEnabled, LegacyIntrinsicEnabled, IntrinsicDisabled, NoneEnabled, UndefinedEnabled&gt;::createHandler());
</span><span class="cx">     setPropertyHandler(CSSPropertyMaxWidth, ApplyPropertyLength&lt;&amp;RenderStyle::maxWidth, &amp;RenderStyle::setMaxWidth, &amp;RenderStyle::initialMaxSize, AutoEnabled, LegacyIntrinsicEnabled, IntrinsicEnabled, NoneEnabled, UndefinedEnabled&gt;::createHandler());
</span><span class="cx">     setPropertyHandler(CSSPropertyMinHeight, ApplyPropertyLength&lt;&amp;RenderStyle::minHeight, &amp;RenderStyle::setMinHeight, &amp;RenderStyle::initialMinSize, AutoEnabled, LegacyIntrinsicEnabled, IntrinsicDisabled&gt;::createHandler());
</span><span class="lines">@@ -2411,12 +2405,7 @@
</span><span class="cx">     setPropertyHandler(CSSPropertyOutlineOffset, ApplyPropertyComputeLength&lt;int, &amp;RenderStyle::outlineOffset, &amp;RenderStyle::setOutlineOffset, &amp;RenderStyle::initialOutlineOffset&gt;::createHandler());
</span><span class="cx">     setPropertyHandler(CSSPropertyOutlineStyle, ApplyPropertyOutlineStyle::createHandler());
</span><span class="cx">     setPropertyHandler(CSSPropertyOutlineWidth, ApplyPropertyComputeLength&lt;unsigned short, &amp;RenderStyle::outlineWidth, &amp;RenderStyle::setOutlineWidth, &amp;RenderStyle::initialOutlineWidth, NormalDisabled, ThicknessEnabled&gt;::createHandler());
</span><del>-    setPropertyHandler(CSSPropertyPaddingBottom, ApplyPropertyLength&lt;&amp;RenderStyle::paddingBottom, &amp;RenderStyle::setPaddingBottom, &amp;RenderStyle::initialPadding&gt;::createHandler());
-    setPropertyHandler(CSSPropertyPaddingLeft, ApplyPropertyLength&lt;&amp;RenderStyle::paddingLeft, &amp;RenderStyle::setPaddingLeft, &amp;RenderStyle::initialPadding&gt;::createHandler());
-    setPropertyHandler(CSSPropertyPaddingRight, ApplyPropertyLength&lt;&amp;RenderStyle::paddingRight, &amp;RenderStyle::setPaddingRight, &amp;RenderStyle::initialPadding&gt;::createHandler());
-    setPropertyHandler(CSSPropertyPaddingTop, ApplyPropertyLength&lt;&amp;RenderStyle::paddingTop, &amp;RenderStyle::setPaddingTop, &amp;RenderStyle::initialPadding&gt;::createHandler());
</del><span class="cx">     setPropertyHandler(CSSPropertyResize, ApplyPropertyResize::createHandler());
</span><del>-    setPropertyHandler(CSSPropertyRight, ApplyPropertyLength&lt;&amp;RenderStyle::right, &amp;RenderStyle::setRight, &amp;RenderStyle::initialOffset, AutoEnabled&gt;::createHandler());
</del><span class="cx">     setPropertyHandler(CSSPropertySize, ApplyPropertyPageSize::createHandler());
</span><span class="cx">     setPropertyHandler(CSSPropertyTextAlign, ApplyPropertyTextAlign::createHandler());
</span><span class="cx">     setPropertyHandler(CSSPropertyTextDecoration, ApplyPropertyTextDecoration::createHandler());
</span><span class="lines">@@ -2426,7 +2415,6 @@
</span><span class="cx">     setPropertyHandler(CSSPropertyWebkitTextUnderlinePosition, ApplyPropertyTextUnderlinePosition::createHandler());
</span><span class="cx">     setPropertyHandler(CSSPropertyTextIndent, ApplyPropertyTextIndent::createHandler());
</span><span class="cx">     setPropertyHandler(CSSPropertyTextRendering, ApplyPropertyFont&lt;TextRenderingMode, &amp;FontDescription::textRenderingMode, &amp;FontDescription::setTextRenderingMode, AutoTextRendering&gt;::createHandler());
</span><del>-    setPropertyHandler(CSSPropertyTop, ApplyPropertyLength&lt;&amp;RenderStyle::top, &amp;RenderStyle::setTop, &amp;RenderStyle::initialOffset, AutoEnabled&gt;::createHandler());
</del><span class="cx">     setPropertyHandler(CSSPropertyVerticalAlign, ApplyPropertyVerticalAlign::createHandler());
</span><span class="cx">     setPropertyHandler(CSSPropertyWebkitAnimationDelay, ApplyPropertyAnimation&lt;double, &amp;Animation::delay, &amp;Animation::setDelay, &amp;Animation::isDelaySet, &amp;Animation::clearDelay, &amp;Animation::initialAnimationDelay, &amp;CSSToStyleMap::mapAnimationDelay, &amp;RenderStyle::accessAnimations, &amp;RenderStyle::animations&gt;::createHandler());
</span><span class="cx">     setPropertyHandler(CSSPropertyWebkitAnimationDirection, ApplyPropertyAnimation&lt;Animation::AnimationDirection, &amp;Animation::direction, &amp;Animation::setDirection, &amp;Animation::isDirectionSet, &amp;Animation::clearDirection, &amp;Animation::initialAnimationDirection, &amp;CSSToStyleMap::mapAnimationDirection, &amp;RenderStyle::accessAnimations, &amp;RenderStyle::animations&gt;::createHandler());
</span><span class="lines">@@ -2449,7 +2437,6 @@
</span><span class="cx">     setPropertyHandler(CSSPropertyWebkitColumnRuleColor, ApplyPropertyColor&lt;NoInheritFromParent, &amp;RenderStyle::columnRuleColor, &amp;RenderStyle::setColumnRuleColor, &amp;RenderStyle::setVisitedLinkColumnRuleColor, &amp;RenderStyle::color&gt;::createHandler());
</span><span class="cx">     setPropertyHandler(CSSPropertyWebkitColumnRuleWidth, ApplyPropertyComputeLength&lt;unsigned short, &amp;RenderStyle::columnRuleWidth, &amp;RenderStyle::setColumnRuleWidth, &amp;RenderStyle::initialColumnRuleWidth, NormalDisabled, ThicknessEnabled&gt;::createHandler());
</span><span class="cx">     setPropertyHandler(CSSPropertyWebkitColumnWidth, ApplyPropertyAuto&lt;float, &amp;RenderStyle::columnWidth, &amp;RenderStyle::setColumnWidth, &amp;RenderStyle::hasAutoColumnWidth, &amp;RenderStyle::setHasAutoColumnWidth, ComputeLength&gt;::createHandler());
</span><del>-    setPropertyHandler(CSSPropertyFlexBasis, ApplyPropertyLength&lt;&amp;RenderStyle::flexBasis, &amp;RenderStyle::setFlexBasis, &amp;RenderStyle::initialFlexBasis, AutoEnabled&gt;::createHandler());
</del><span class="cx"> #if ENABLE(CSS_REGIONS)
</span><span class="cx">     setPropertyHandler(CSSPropertyWebkitFlowFrom, ApplyPropertyString&lt;MapNoneToNull, &amp;RenderStyle::regionThread, &amp;RenderStyle::setRegionThread, &amp;RenderStyle::initialRegionThread&gt;::createHandler());
</span><span class="cx">     setPropertyHandler(CSSPropertyWebkitFlowInto, ApplyPropertyString&lt;MapNoneToNull, &amp;RenderStyle::flowThread, &amp;RenderStyle::setFlowThread, &amp;RenderStyle::initialFlowThread&gt;::createHandler());
</span><span class="lines">@@ -2482,15 +2469,11 @@
</span><span class="cx">     setPropertyHandler(CSSPropertyWebkitMaskSize, ApplyPropertyFillLayer&lt;FillSize, CSSPropertyWebkitMaskSize, MaskFillLayer, &amp;RenderStyle::accessMaskLayers, &amp;RenderStyle::maskLayers, &amp;FillLayer::isSizeSet, &amp;FillLayer::size, &amp;FillLayer::setSize, &amp;FillLayer::clearSize, &amp;FillLayer::initialFillSize, &amp;CSSToStyleMap::mapFillSize&gt;::createHandler());
</span><span class="cx">     setPropertyHandler(CSSPropertyWebkitMaskSourceType, ApplyPropertyFillLayer&lt;EMaskSourceType, CSSPropertyWebkitMaskSourceType, MaskFillLayer, &amp;RenderStyle::accessMaskLayers, &amp;RenderStyle::maskLayers, &amp;FillLayer::isMaskSourceTypeSet, &amp;FillLayer::maskSourceType, &amp;FillLayer::setMaskSourceType, &amp;FillLayer::clearMaskSourceType, &amp;FillLayer::initialMaskSourceType, &amp;CSSToStyleMap::mapFillMaskSourceType&gt;::createHandler());
</span><span class="cx">     setPropertyHandler(CSSPropertyWebkitPerspectiveOrigin, ApplyPropertyExpanding&lt;SuppressValue, CSSPropertyWebkitPerspectiveOriginX, CSSPropertyWebkitPerspectiveOriginY&gt;::createHandler());
</span><del>-    setPropertyHandler(CSSPropertyWebkitPerspectiveOriginX, ApplyPropertyLength&lt;&amp;RenderStyle::perspectiveOriginX, &amp;RenderStyle::setPerspectiveOriginX, &amp;RenderStyle::initialPerspectiveOriginX&gt;::createHandler());
-    setPropertyHandler(CSSPropertyWebkitPerspectiveOriginY, ApplyPropertyLength&lt;&amp;RenderStyle::perspectiveOriginY, &amp;RenderStyle::setPerspectiveOriginY, &amp;RenderStyle::initialPerspectiveOriginY&gt;::createHandler());
</del><span class="cx">     setPropertyHandler(CSSPropertyWebkitTextEmphasisColor, ApplyPropertyColor&lt;NoInheritFromParent, &amp;RenderStyle::textEmphasisColor, &amp;RenderStyle::setTextEmphasisColor, &amp;RenderStyle::setVisitedLinkTextEmphasisColor, &amp;RenderStyle::color&gt;::createHandler());
</span><span class="cx">     setPropertyHandler(CSSPropertyWebkitTextEmphasisPosition, ApplyPropertyTextEmphasisPosition::createHandler());
</span><span class="cx">     setPropertyHandler(CSSPropertyWebkitTextEmphasisStyle, ApplyPropertyTextEmphasisStyle::createHandler());
</span><span class="cx">     setPropertyHandler(CSSPropertyWebkitTextFillColor, ApplyPropertyColor&lt;NoInheritFromParent, &amp;RenderStyle::textFillColor, &amp;RenderStyle::setTextFillColor, &amp;RenderStyle::setVisitedLinkTextFillColor, &amp;RenderStyle::color&gt;::createHandler());
</span><span class="cx">     setPropertyHandler(CSSPropertyWebkitTextStrokeColor, ApplyPropertyColor&lt;NoInheritFromParent, &amp;RenderStyle::textStrokeColor, &amp;RenderStyle::setTextStrokeColor, &amp;RenderStyle::setVisitedLinkTextStrokeColor, &amp;RenderStyle::color&gt;::createHandler());
</span><del>-    setPropertyHandler(CSSPropertyWebkitTransformOriginX, ApplyPropertyLength&lt;&amp;RenderStyle::transformOriginX, &amp;RenderStyle::setTransformOriginX, &amp;RenderStyle::initialTransformOriginX&gt;::createHandler());
-    setPropertyHandler(CSSPropertyWebkitTransformOriginY, ApplyPropertyLength&lt;&amp;RenderStyle::transformOriginY, &amp;RenderStyle::setTransformOriginY, &amp;RenderStyle::initialTransformOriginY&gt;::createHandler());
</del><span class="cx">     setPropertyHandler(CSSPropertyWebkitTransformOriginZ, ApplyPropertyComputeLength&lt;float, &amp;RenderStyle::transformOriginZ, &amp;RenderStyle::setTransformOriginZ, &amp;RenderStyle::initialTransformOriginZ&gt;::createHandler());
</span><span class="cx">     setPropertyHandler(CSSPropertyWebkitTransitionDelay, ApplyPropertyAnimation&lt;double, &amp;Animation::delay, &amp;Animation::setDelay, &amp;Animation::isDelaySet, &amp;Animation::clearDelay, &amp;Animation::initialAnimationDelay, &amp;CSSToStyleMap::mapAnimationDelay, &amp;RenderStyle::accessTransitions, &amp;RenderStyle::transitions&gt;::createHandler());
</span><span class="cx">     setPropertyHandler(CSSPropertyWebkitTransitionDuration, ApplyPropertyAnimation&lt;double, &amp;Animation::duration, &amp;Animation::setDuration, &amp;Animation::isDurationSet, &amp;Animation::clearDuration, &amp;Animation::initialAnimationDuration, &amp;CSSToStyleMap::mapAnimationDuration, &amp;RenderStyle::accessTransitions, &amp;RenderStyle::transitions&gt;::createHandler());
</span><span class="lines">@@ -2498,22 +2481,12 @@
</span><span class="cx">     setPropertyHandler(CSSPropertyWebkitTransitionTimingFunction, ApplyPropertyAnimation&lt;const PassRefPtr&lt;TimingFunction&gt;, &amp;Animation::timingFunction, &amp;Animation::setTimingFunction, &amp;Animation::isTimingFunctionSet, &amp;Animation::clearTimingFunction, &amp;Animation::initialAnimationTimingFunction, &amp;CSSToStyleMap::mapAnimationTimingFunction, &amp;RenderStyle::accessTransitions, &amp;RenderStyle::transitions&gt;::createHandler());
</span><span class="cx">     setPropertyHandler(CSSPropertyWebkitClipPath, ApplyPropertyClipPath&lt;&amp;RenderStyle::clipPath, &amp;RenderStyle::setClipPath, &amp;RenderStyle::initialClipPath&gt;::createHandler());
</span><span class="cx"> #if ENABLE(CSS_SHAPES)
</span><del>-    setPropertyHandler(CSSPropertyWebkitShapeMargin, ApplyPropertyLength&lt;&amp;RenderStyle::shapeMargin, &amp;RenderStyle::setShapeMargin, &amp;RenderStyle::initialShapeMargin&gt;::createHandler());
</del><span class="cx">     setPropertyHandler(CSSPropertyWebkitShapeImageThreshold, ApplyPropertyNumber&lt;float, &amp;RenderStyle::shapeImageThreshold, &amp;RenderStyle::setShapeImageThreshold, &amp;RenderStyle::initialShapeImageThreshold&gt;::createHandler());
</span><span class="cx">     setPropertyHandler(CSSPropertyWebkitShapeOutside, ApplyPropertyShape&lt;&amp;RenderStyle::shapeOutside, &amp;RenderStyle::setShapeOutside, &amp;RenderStyle::initialShapeOutside&gt;::createHandler());
</span><span class="cx"> #endif
</span><span class="cx">     setPropertyHandler(CSSPropertyWidows, ApplyPropertyAuto&lt;short, &amp;RenderStyle::widows, &amp;RenderStyle::setWidows, &amp;RenderStyle::hasAutoWidows, &amp;RenderStyle::setHasAutoWidows&gt;::createHandler());
</span><span class="cx">     setPropertyHandler(CSSPropertyWidth, ApplyPropertyLength&lt;&amp;RenderStyle::width, &amp;RenderStyle::setWidth, &amp;RenderStyle::initialSize, AutoEnabled, LegacyIntrinsicEnabled, IntrinsicEnabled, NoneDisabled, UndefinedDisabled&gt;::createHandler());
</span><span class="cx">     setPropertyHandler(CSSPropertyWordSpacing, ApplyPropertyWordSpacing::createHandler());
</span><del>-    setPropertyHandler(CSSPropertyCx, ApplyPropertyLength&lt;&amp;RenderStyle::cx, &amp;RenderStyle::setCx, &amp;RenderStyle::initialZeroLength&gt;::createHandler());
-    setPropertyHandler(CSSPropertyCy, ApplyPropertyLength&lt;&amp;RenderStyle::cy, &amp;RenderStyle::setCy, &amp;RenderStyle::initialZeroLength&gt;::createHandler());
-    setPropertyHandler(CSSPropertyR, ApplyPropertyLength&lt;&amp;RenderStyle::r, &amp;RenderStyle::setR, &amp;RenderStyle::initialZeroLength&gt;::createHandler());
-    setPropertyHandler(CSSPropertyRx, ApplyPropertyLength&lt;&amp;RenderStyle::rx, &amp;RenderStyle::setRx, &amp;RenderStyle::initialZeroLength&gt;::createHandler());
-    setPropertyHandler(CSSPropertyRy, ApplyPropertyLength&lt;&amp;RenderStyle::ry, &amp;RenderStyle::setRy, &amp;RenderStyle::initialZeroLength&gt;::createHandler());
-    setPropertyHandler(CSSPropertyStrokeWidth, ApplyPropertyLength&lt;&amp;RenderStyle::strokeWidth, &amp;RenderStyle::setStrokeWidth, &amp;RenderStyle::initialOneLength&gt;::createHandler());
-    setPropertyHandler(CSSPropertyStrokeDashoffset, ApplyPropertyLength&lt;&amp;RenderStyle::strokeDashOffset, &amp;RenderStyle::setStrokeDashOffset, &amp;RenderStyle::initialZeroLength&gt;::createHandler());
-    setPropertyHandler(CSSPropertyX, ApplyPropertyLength&lt;&amp;RenderStyle::x, &amp;RenderStyle::setX, &amp;RenderStyle::initialZeroLength&gt;::createHandler());
-    setPropertyHandler(CSSPropertyY, ApplyPropertyLength&lt;&amp;RenderStyle::y, &amp;RenderStyle::setY, &amp;RenderStyle::initialZeroLength&gt;::createHandler());
</del><span class="cx"> 
</span><span class="cx">     setPropertyHandler(CSSPropertyZIndex, ApplyPropertyAuto&lt;int, &amp;RenderStyle::zIndex, &amp;RenderStyle::setZIndex, &amp;RenderStyle::hasAutoZIndex, &amp;RenderStyle::setHasAutoZIndex&gt;::createHandler());
</span><span class="cx">     setPropertyHandler(CSSPropertyZoom, ApplyPropertyZoom::createHandler());
</span></span></pre></div>
<a id="trunkSourceWebCorecssSVGCSSPropertyNamesin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/SVGCSSPropertyNames.in (175122 => 175123)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/SVGCSSPropertyNames.in        2014-10-23 16:09:46 UTC (rev 175122)
+++ trunk/Source/WebCore/css/SVGCSSPropertyNames.in        2014-10-23 16:14:25 UTC (rev 175123)
</span><span class="lines">@@ -33,12 +33,12 @@
</span><span class="cx"> shape-rendering [Inherited]
</span><span class="cx"> stroke [Inherited]
</span><span class="cx"> stroke-dasharray [Inherited]
</span><del>-stroke-dashoffset [Inherited]
</del><ins>+stroke-dashoffset [Inherited, NewStyleBuilder, NameForMethods=StrokeDashOffset, Initial=initialZeroLength, Converter=Length]
</ins><span class="cx"> stroke-linecap [Inherited]
</span><span class="cx"> stroke-linejoin [Inherited]
</span><span class="cx"> stroke-miterlimit [Inherited]
</span><span class="cx"> stroke-opacity [Inherited]
</span><del>-stroke-width [Inherited]
</del><ins>+stroke-width [Inherited, NewStyleBuilder, Initial=initialOneLength, Converter=Length]
</ins><span class="cx"> // text-rendering
</span><span class="cx"> alignment-baseline
</span><span class="cx"> baseline-shift
</span><span class="lines">@@ -52,11 +52,11 @@
</span><span class="cx"> 
</span><span class="cx"> -webkit-svg-shadow
</span><span class="cx"> 
</span><del>-cx
-cy
-r
-rx
-ry
-x
-y
</del><ins>+cx [NewStyleBuilder, Initial=initialZeroLength, Converter=Length]
+cy [NewStyleBuilder, Initial=initialZeroLength, Converter=Length]
+r [NewStyleBuilder, Initial=initialZeroLength, Converter=Length]
+rx [NewStyleBuilder, Initial=initialZeroLength, Converter=Length]
+ry [NewStyleBuilder, Initial=initialZeroLength, Converter=Length]
+x [NewStyleBuilder, Initial=initialZeroLength, Converter=Length]
+y [NewStyleBuilder, Initial=initialZeroLength, Converter=Length]
</ins><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorecssStyleBuilderh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/StyleBuilder.h (175122 => 175123)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/StyleBuilder.h        2014-10-23 16:09:46 UTC (rev 175122)
+++ trunk/Source/WebCore/css/StyleBuilder.h        2014-10-23 16:14:25 UTC (rev 175123)
</span><span class="lines">@@ -36,7 +36,7 @@
</span><span class="cx"> 
</span><span class="cx"> class StyleBuilder {
</span><span class="cx"> public:
</span><del>-    static bool applyProperty(CSSPropertyID, StyleResolver&amp;, CSSValue*, bool isInitial, bool isInherit);
</del><ins>+    static bool applyProperty(CSSPropertyID, StyleResolver&amp;, CSSValue&amp;, bool isInitial, bool isInherit);
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCorecssStyleBuilderConverterh"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/css/StyleBuilderConverter.h (0 => 175123)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/StyleBuilderConverter.h                                (rev 0)
+++ trunk/Source/WebCore/css/StyleBuilderConverter.h        2014-10-23 16:14:25 UTC (rev 175123)
</span><span class="lines">@@ -0,0 +1,75 @@
</span><ins>+/*
+ * Copyright (C) 2013 Google Inc. All rights reserved.
+ * Copyright (C) 2014 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef StyleBuilderConverter_h
+#define StyleBuilderConverter_h
+
+#include &quot;CSSCalculationValue.h&quot;
+#include &quot;CSSPrimitiveValue.h&quot;
+#include &quot;Length.h&quot;
+#include &quot;StyleResolver.h&quot;
+
+namespace WebCore {
+
+class StyleBuilderConverter {
+public:
+    static Length convertLength(StyleResolver&amp;, CSSValue&amp;);
+    static Length convertLengthOrAuto(StyleResolver&amp;, CSSValue&amp;);
+};
+
+inline Length StyleBuilderConverter::convertLength(StyleResolver&amp; styleResolver, CSSValue&amp; value)
+{
+    auto&amp; primitiveValue = downcast&lt;CSSPrimitiveValue&gt;(value);
+    CSSToLengthConversionData conversionData = styleResolver.useSVGZoomRulesForLength() ?
+        styleResolver.state().cssToLengthConversionData().copyWithAdjustedZoom(1.0f)
+        : styleResolver.state().cssToLengthConversionData();
+
+    if (primitiveValue.isLength()) {
+        Length length = primitiveValue.computeLength&lt;Length&gt;(conversionData);
+        length.setHasQuirk(primitiveValue.isQuirkValue());
+        return length;
+    }
+
+    if (primitiveValue.isPercentage())
+        return Length(primitiveValue.getDoubleValue(), Percent);
+
+    if (primitiveValue.isCalculatedPercentageWithLength())
+        return Length(primitiveValue.cssCalcValue()-&gt;createCalculationValue(conversionData));
+
+    ASSERT_NOT_REACHED();
+    return Length(0, Fixed);
+}
+
+inline Length StyleBuilderConverter::convertLengthOrAuto(StyleResolver&amp; styleResolver, CSSValue&amp; value)
+{
+    if (downcast&lt;CSSPrimitiveValue&gt;(value).getValueID() == CSSValueAuto)
+        return Length(Auto);
+    return convertLength(styleResolver, value);
+}
+
+} // namespace WebCore
+
+#endif // StyleBuilderConverter_h
</ins></span></pre></div>
<a id="trunkSourceWebCorecssStyleResolvercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/StyleResolver.cpp (175122 => 175123)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/StyleResolver.cpp        2014-10-23 16:09:46 UTC (rev 175122)
+++ trunk/Source/WebCore/css/StyleResolver.cpp        2014-10-23 16:14:25 UTC (rev 175123)
</span><span class="lines">@@ -2129,7 +2129,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     // Use the new StyleBuilder.
</span><del>-    if (StyleBuilder::applyProperty(id, *this, value, isInitial, isInherit))
</del><ins>+    if (StyleBuilder::applyProperty(id, *this, *value, isInitial, isInherit))
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     CSSPrimitiveValue* primitiveValue = is&lt;CSSPrimitiveValue&gt;(*value) ? downcast&lt;CSSPrimitiveValue&gt;(value) : nullptr;
</span></span></pre></div>
<a id="trunkSourceWebCorecssmakeproppl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/makeprop.pl (175122 => 175123)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/makeprop.pl        2014-10-23 16:09:46 UTC (rev 175122)
+++ trunk/Source/WebCore/css/makeprop.pl        2014-10-23 16:14:25 UTC (rev 175123)
</span><span class="lines">@@ -45,6 +45,7 @@
</span><span class="cx"> # variable should go away.
</span><span class="cx"> my %propertiesUsingNewStyleBuilder;
</span><span class="cx"> my %newStyleBuilderOptions = (
</span><ins>+  Converter =&gt; 1, # Defined in Source/WebCore/css/StyleBuilderConverter.h
</ins><span class="cx">   Getter =&gt; 1,
</span><span class="cx">   Initial =&gt; 1,
</span><span class="cx">   NameForMethods =&gt; 1,
</span><span class="lines">@@ -361,6 +362,7 @@
</span><span class="cx"> #include &quot;CSSPrimitiveValueMappings.h&quot;
</span><span class="cx"> #include &quot;CSSProperty.h&quot;
</span><span class="cx"> #include &quot;RenderStyle.h&quot;
</span><ins>+#include &quot;StyleBuilderConverter.h&quot;
</ins><span class="cx"> #include &quot;StyleResolver.h&quot;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -384,14 +386,20 @@
</span><span class="cx">   print STYLEBUILDER &quot;    }\n&quot;;
</span><span class="cx">   print STYLEBUILDER &quot;    static void applyValue&quot; . $nameToId{$name} . &quot;(StyleResolver&amp; styleResolver, CSSValue&amp; value)\n&quot;;
</span><span class="cx">   print STYLEBUILDER &quot;    {\n&quot;;
</span><del>-  print STYLEBUILDER &quot;        &quot; . $setValue . &quot;(static_cast&lt;&quot; . $propertiesUsingNewStyleBuilder{$name}{&quot;TypeName&quot;} . &quot;&gt;(static_cast&lt;CSSPrimitiveValue&amp;&gt;(value)));\n&quot;;
</del><ins>+  my $convertedValue;
+  if (exists($propertiesUsingNewStyleBuilder{$name}{&quot;Converter&quot;})) {
+    $convertedValue = &quot;StyleBuilderConverter::convert&quot; . $propertiesUsingNewStyleBuilder{$name}{&quot;Converter&quot;} . &quot;(styleResolver, value)&quot;;
+  } else {
+    $convertedValue = &quot;static_cast&lt;&quot; . $propertiesUsingNewStyleBuilder{$name}{&quot;TypeName&quot;} . &quot;&gt;(downcast&lt;CSSPrimitiveValue&gt;(value))&quot;;
+  }
+  print STYLEBUILDER &quot;        &quot; . $setValue . &quot;(&quot; . $convertedValue . &quot;);\n&quot;;
</ins><span class="cx">   print STYLEBUILDER &quot;    }\n&quot;;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> print STYLEBUILDER &lt;&lt; &quot;EOF&quot;;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-bool StyleBuilder::applyProperty(CSSPropertyID property, StyleResolver&amp; styleResolver, CSSValue* value, bool isInitial, bool isInherit)
</del><ins>+bool StyleBuilder::applyProperty(CSSPropertyID property, StyleResolver&amp; styleResolver, CSSValue&amp; value, bool isInitial, bool isInherit)
</ins><span class="cx"> {
</span><span class="cx">     switch (property) {
</span><span class="cx"> EOF
</span><span class="lines">@@ -406,7 +414,7 @@
</span><span class="cx">   print STYLEBUILDER &quot;        else if (isInherit)\n&quot;;
</span><span class="cx">   print STYLEBUILDER &quot;            StyleBuilderFunctions::applyInherit&quot; . $nameToId{$name} . &quot;(styleResolver);\n&quot;;
</span><span class="cx">   print STYLEBUILDER &quot;        else\n&quot;;
</span><del>-  print STYLEBUILDER &quot;            StyleBuilderFunctions::applyValue&quot; . $nameToId{$name} . &quot;(styleResolver, *value);\n&quot;;
</del><ins>+  print STYLEBUILDER &quot;            StyleBuilderFunctions::applyValue&quot; . $nameToId{$name} . &quot;(styleResolver, value);\n&quot;;
</ins><span class="cx">   print STYLEBUILDER &quot;        return true;\n&quot;;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre>
</div>
</div>

</body>
</html>