<!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>[161521] trunk</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/161521">161521</a></dd>
<dt>Author</dt> <dd>mmaxfield@apple.com</dd>
<dt>Date</dt> <dd>2014-01-08 14:22:50 -0800 (Wed, 08 Jan 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>a fractional value of the css letter-spacing property is not rendered as expected
https://bugs.webkit.org/show_bug.cgi?id=20606

Reviewed by Simon Fraser.

Source/WebCore:

This turns on fractional letter-spacing and word-spacing CSS values.
It is taken mostly from Blink <a href="http://trac.webkit.org/projects/webkit/changeset/153727">r153727</a> and iOS. Updating the relevant
types is all that is necessary

Existing tests have been updated.

* css/DeprecatedStyleBuilder.cpp:
(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
* page/animation/CSSPropertyAnimation.cpp:
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
* platform/graphics/Font.cpp:
(WebCore::Font::Font):
(WebCore::Font::width):
* platform/graphics/Font.h:
(WebCore::Font::wordSpacing):
(WebCore::Font::letterSpacing):
(WebCore::Font::setWordSpacing):
(WebCore::Font::setLetterSpacing):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::wordSpacing):
(WebCore::RenderStyle::letterSpacing):
(WebCore::RenderStyle::setWordSpacing):
(WebCore::RenderStyle::setLetterSpacing):
* rendering/style/RenderStyle.h:

LayoutTests:

Manually verified that these tests are correct after enabling fractional letter-spacing and word spacing

* platform/mac/css1/text_properties/letter_spacing-expected.png:
* platform/mac/css1/text_properties/letter_spacing-expected.txt:
* platform/mac/css1/text_properties/word_spacing-expected.png:
* platform/mac/css1/text_properties/word_spacing-expected.txt:
* platform/mac/fast/text/basic/013-expected.png:
* platform/mac/fast/text/basic/013-expected.txt:
* platform/mac/fast/text/text-letter-spacing-expected.txt:
* platform/mac/svg/W3C-SVG-1.1/text-spacing-01-b-expected.png:
* platform/mac/svg/W3C-SVG-1.1/text-spacing-01-b-expected.txt:
* platform/mac/svg/batik/text/textLayout-expected.txt:
* platform/mac/svg/custom/text-letter-spacing-expected.png:
* platform/mac/svg/custom/text-letter-spacing-expected.txt:
* platform/mac/svg/text/text-spacing-01-b-expected.png:
* platform/mac/svg/text/text-spacing-01-b-expected.txt:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsplatformmaccss1text_propertiesletter_spacingexpectedpng">trunk/LayoutTests/platform/mac/css1/text_properties/letter_spacing-expected.png</a></li>
<li><a href="#trunkLayoutTestsplatformmaccss1text_propertiesletter_spacingexpectedtxt">trunk/LayoutTests/platform/mac/css1/text_properties/letter_spacing-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmaccss1text_propertiesword_spacingexpectedpng">trunk/LayoutTests/platform/mac/css1/text_properties/word_spacing-expected.png</a></li>
<li><a href="#trunkLayoutTestsplatformmaccss1text_propertiesword_spacingexpectedtxt">trunk/LayoutTests/platform/mac/css1/text_properties/word_spacing-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacfasttextbasic013expectedpng">trunk/LayoutTests/platform/mac/fast/text/basic/013-expected.png</a></li>
<li><a href="#trunkLayoutTestsplatformmacfasttextbasic013expectedtxt">trunk/LayoutTests/platform/mac/fast/text/basic/013-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacfasttexttextletterspacingexpectedtxt">trunk/LayoutTests/platform/mac/fast/text/text-letter-spacing-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacsvgW3CSVG11textspacing01bexpectedpng">trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-spacing-01-b-expected.png</a></li>
<li><a href="#trunkLayoutTestsplatformmacsvgW3CSVG11textspacing01bexpectedtxt">trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-spacing-01-b-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacsvgbatiktexttextLayoutexpectedtxt">trunk/LayoutTests/platform/mac/svg/batik/text/textLayout-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacsvgcustomtextletterspacingexpectedpng">trunk/LayoutTests/platform/mac/svg/custom/text-letter-spacing-expected.png</a></li>
<li><a href="#trunkLayoutTestsplatformmacsvgcustomtextletterspacingexpectedtxt">trunk/LayoutTests/platform/mac/svg/custom/text-letter-spacing-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacsvgtexttextspacing01bexpectedpng">trunk/LayoutTests/platform/mac/svg/text/text-spacing-01-b-expected.png</a></li>
<li><a href="#trunkLayoutTestsplatformmacsvgtexttextspacing01bexpectedtxt">trunk/LayoutTests/platform/mac/svg/text/text-spacing-01-b-expected.txt</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCorecssDeprecatedStyleBuildercpp">trunk/Source/WebCore/css/DeprecatedStyleBuilder.cpp</a></li>
<li><a href="#trunkSourceWebCorepageanimationCSSPropertyAnimationcpp">trunk/Source/WebCore/page/animation/CSSPropertyAnimation.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsFontcpp">trunk/Source/WebCore/platform/graphics/Font.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsFonth">trunk/Source/WebCore/platform/graphics/Font.h</a></li>
<li><a href="#trunkSourceWebCorerenderingstyleRenderStylecpp">trunk/Source/WebCore/rendering/style/RenderStyle.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingstyleRenderStyleh">trunk/Source/WebCore/rendering/style/RenderStyle.h</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (161520 => 161521)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2014-01-08 21:45:36 UTC (rev 161520)
+++ trunk/LayoutTests/ChangeLog        2014-01-08 22:22:50 UTC (rev 161521)
</span><span class="lines">@@ -1,3 +1,27 @@
</span><ins>+2014-01-07  Myles C. Maxfield  &lt;mmaxfield@apple.com&gt;
+
+        a fractional value of the css letter-spacing property is not rendered as expected
+        https://bugs.webkit.org/show_bug.cgi?id=20606
+
+        Reviewed by Simon Fraser.
+
+        Manually verified that these tests are correct after enabling fractional letter-spacing and word spacing
+
+        * platform/mac/css1/text_properties/letter_spacing-expected.png:
+        * platform/mac/css1/text_properties/letter_spacing-expected.txt:
+        * platform/mac/css1/text_properties/word_spacing-expected.png:
+        * platform/mac/css1/text_properties/word_spacing-expected.txt:
+        * platform/mac/fast/text/basic/013-expected.png:
+        * platform/mac/fast/text/basic/013-expected.txt:
+        * platform/mac/fast/text/text-letter-spacing-expected.txt:
+        * platform/mac/svg/W3C-SVG-1.1/text-spacing-01-b-expected.png:
+        * platform/mac/svg/W3C-SVG-1.1/text-spacing-01-b-expected.txt:
+        * platform/mac/svg/batik/text/textLayout-expected.txt:
+        * platform/mac/svg/custom/text-letter-spacing-expected.png:
+        * platform/mac/svg/custom/text-letter-spacing-expected.txt:
+        * platform/mac/svg/text/text-spacing-01-b-expected.png:
+        * platform/mac/svg/text/text-spacing-01-b-expected.txt:
+
</ins><span class="cx"> 2014-01-08  Alexey Proskuryakov  &lt;ap@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Flaky Test: http/tests/xmlhttprequest/xmlhttprequest-50ms-download-dispatch.html
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmaccss1text_propertiesletter_spacingexpectedpng"></a>
<div class="binary"><h4>Modified: trunk/LayoutTests/platform/mac/css1/text_properties/letter_spacing-expected.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmaccss1text_propertiesletter_spacingexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/css1/text_properties/letter_spacing-expected.txt (161520 => 161521)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/css1/text_properties/letter_spacing-expected.txt        2014-01-08 21:45:36 UTC (rev 161520)
+++ trunk/LayoutTests/platform/mac/css1/text_properties/letter_spacing-expected.txt        2014-01-08 22:22:50 UTC (rev 161521)
</span><span class="lines">@@ -32,21 +32,21 @@
</span><span class="cx">           text run at (264,150) width 0: &quot; &quot;
</span><span class="cx">       RenderBlock {HR} at (0,212) size 769x2 [border: (1px inset #000000)]
</span><span class="cx">       RenderBlock {P} at (0,230) size 769x72
</span><del>-        RenderText {#text} at (0,0) size 694x72
-          text run at (0,0) width 671: &quot;This letters in this&quot;
-          text run at (0,18) width 694: &quot;sentence should have&quot;
-          text run at (0,36) width 659: &quot;extra space between&quot;
-          text run at (0,54) width 175: &quot;them.&quot;
</del><ins>+        RenderText {#text} at (0,0) size 710x72
+          text run at (0,0) width 687: &quot;This letters in this&quot;
+          text run at (0,18) width 710: &quot;sentence should have&quot;
+          text run at (0,36) width 675: &quot;extra space between&quot;
+          text run at (0,54) width 179: &quot;them.&quot;
</ins><span class="cx">       RenderBlock {P} at (0,318) size 769x54
</span><del>-        RenderText {#text} at (0,0) size 765x54
-          text run at (0,0) width 691: &quot;This letters in this sentence&quot;
-          text run at (0,18) width 765: &quot;should have extra space between&quot;
-          text run at (0,36) width 125: &quot;them.&quot;
</del><ins>+        RenderText {#text} at (0,0) size 718x54
+          text run at (0,0) width 718: &quot;This letters in this sentence&quot;
+          text run at (0,18) width 585: &quot;should have extra space&quot;
+          text run at (0,36) width 338: &quot;between them.&quot;
</ins><span class="cx">       RenderBlock {P} at (0,388) size 769x54
</span><del>-        RenderText {#text} at (0,0) size 765x54
-          text run at (0,0) width 691: &quot;This letters in this sentence&quot;
-          text run at (0,18) width 765: &quot;should have extra space between&quot;
-          text run at (0,36) width 125: &quot;them.&quot;
</del><ins>+        RenderText {#text} at (0,0) size 718x54
+          text run at (0,0) width 718: &quot;This letters in this sentence&quot;
+          text run at (0,18) width 585: &quot;should have extra space&quot;
+          text run at (0,36) width 338: &quot;between them.&quot;
</ins><span class="cx">       RenderBlock {P} at (0,458) size 769x18
</span><span class="cx">         RenderText {#text} at (0,0) size 687x18
</span><span class="cx">           text run at (0,0) width 687: &quot;This letters in this sentence should have extra space between them.&quot;
</span><span class="lines">@@ -59,9 +59,9 @@
</span><span class="cx">           text run at (0,18) width 703: &quot;should have extra space between&quot;
</span><span class="cx">           text run at (0,36) width 115: &quot;them.&quot;
</span><span class="cx">       RenderBlock {P} at (0,596) size 769x36
</span><del>-        RenderText {#text} at (0,0) size 694x36
-          text run at (0,0) width 694: &quot;This letters in this sentence should have extra space&quot;
-          text run at (0,18) width 183: &quot;between them.&quot;
</del><ins>+        RenderText {#text} at (0,0) size 704x36
+          text run at (0,0) width 704: &quot;This letters in this sentence should have extra space&quot;
+          text run at (0,18) width 186: &quot;between them.&quot;
</ins><span class="cx">       RenderBlock {P} at (0,648) size 769x36
</span><span class="cx">         RenderText {#text} at (0,0) size 754x36
</span><span class="cx">           text run at (0,0) width 754: &quot;This letters in this sentence should have extra space between them,&quot;
</span><span class="lines">@@ -76,8 +76,8 @@
</span><span class="cx">           text run at (0,0) width 731: &quot;This letters in this sentence should have normal space between them, since percentage values are not allowed on this&quot;
</span><span class="cx">           text run at (0,18) width 57: &quot;property.&quot;
</span><span class="cx">       RenderBlock {P} at (0,752) size 769x18
</span><del>-        RenderText {#text} at (0,0) size 638x18
-          text run at (0,0) width 638: &quot;This letters in this sentence should have reduced space between them, since negative values are allowed on this property.&quot;
</del><ins>+        RenderText {#text} at (0,0) size 566x18
+          text run at (0,0) width 566: &quot;This letters in this sentence should have reduced space between them, since negative values are allowed on this property.&quot;
</ins><span class="cx">       RenderTable {TABLE} at (0,786) size 769x576 [border: (1px outset #808080)]
</span><span class="cx">         RenderTableSection {TBODY} at (1,1) size 767x574
</span><span class="cx">           RenderTableRow {TR} at (0,0) size 767x26
</span><span class="lines">@@ -91,21 +91,21 @@
</span><span class="cx">                 text run at (4,4) width 4: &quot; &quot;
</span><span class="cx">             RenderTableCell {TD} at (12,26) size 755x548 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
</span><span class="cx">               RenderBlock {P} at (4,4) size 747x72
</span><del>-                RenderText {#text} at (0,0) size 694x72
-                  text run at (0,0) width 671: &quot;This letters in this&quot;
-                  text run at (0,18) width 694: &quot;sentence should have&quot;
-                  text run at (0,36) width 659: &quot;extra space between&quot;
-                  text run at (0,54) width 175: &quot;them.&quot;
</del><ins>+                RenderText {#text} at (0,0) size 710x72
+                  text run at (0,0) width 687: &quot;This letters in this&quot;
+                  text run at (0,18) width 710: &quot;sentence should have&quot;
+                  text run at (0,36) width 675: &quot;extra space between&quot;
+                  text run at (0,54) width 179: &quot;them.&quot;
</ins><span class="cx">               RenderBlock {P} at (4,92) size 747x54
</span><del>-                RenderText {#text} at (0,0) size 691x54
-                  text run at (0,0) width 691: &quot;This letters in this sentence&quot;
-                  text run at (0,18) width 564: &quot;should have extra space&quot;
-                  text run at (0,36) width 326: &quot;between them.&quot;
</del><ins>+                RenderText {#text} at (0,0) size 718x54
+                  text run at (0,0) width 718: &quot;This letters in this sentence&quot;
+                  text run at (0,18) width 585: &quot;should have extra space&quot;
+                  text run at (0,36) width 338: &quot;between them.&quot;
</ins><span class="cx">               RenderBlock {P} at (4,162) size 747x54
</span><del>-                RenderText {#text} at (0,0) size 691x54
-                  text run at (0,0) width 691: &quot;This letters in this sentence&quot;
-                  text run at (0,18) width 564: &quot;should have extra space&quot;
-                  text run at (0,36) width 326: &quot;between them.&quot;
</del><ins>+                RenderText {#text} at (0,0) size 718x54
+                  text run at (0,0) width 718: &quot;This letters in this sentence&quot;
+                  text run at (0,18) width 585: &quot;should have extra space&quot;
+                  text run at (0,36) width 338: &quot;between them.&quot;
</ins><span class="cx">               RenderBlock {P} at (4,232) size 747x18
</span><span class="cx">                 RenderText {#text} at (0,0) size 687x18
</span><span class="cx">                   text run at (0,0) width 687: &quot;This letters in this sentence should have extra space between them.&quot;
</span><span class="lines">@@ -118,9 +118,9 @@
</span><span class="cx">                   text run at (0,18) width 703: &quot;should have extra space between&quot;
</span><span class="cx">                   text run at (0,36) width 115: &quot;them.&quot;
</span><span class="cx">               RenderBlock {P} at (4,370) size 747x36
</span><del>-                RenderText {#text} at (0,0) size 694x36
-                  text run at (0,0) width 694: &quot;This letters in this sentence should have extra space&quot;
-                  text run at (0,18) width 183: &quot;between them.&quot;
</del><ins>+                RenderText {#text} at (0,0) size 704x36
+                  text run at (0,0) width 704: &quot;This letters in this sentence should have extra space&quot;
+                  text run at (0,18) width 186: &quot;between them.&quot;
</ins><span class="cx">               RenderBlock {P} at (4,422) size 747x36
</span><span class="cx">                 RenderText {#text} at (0,0) size 685x36
</span><span class="cx">                   text run at (0,0) width 685: &quot;This letters in this sentence should have extra space between&quot;
</span><span class="lines">@@ -135,5 +135,5 @@
</span><span class="cx">                   text run at (0,0) width 731: &quot;This letters in this sentence should have normal space between them, since percentage values are not allowed on this&quot;
</span><span class="cx">                   text run at (0,18) width 57: &quot;property.&quot;
</span><span class="cx">               RenderBlock {P} at (4,526) size 747x18
</span><del>-                RenderText {#text} at (0,0) size 638x18
-                  text run at (0,0) width 638: &quot;This letters in this sentence should have reduced space between them, since negative values are allowed on this property.&quot;
</del><ins>+                RenderText {#text} at (0,0) size 566x18
+                  text run at (0,0) width 566: &quot;This letters in this sentence should have reduced space between them, since negative values are allowed on this property.&quot;
</ins></span></pre></div>
<a id="trunkLayoutTestsplatformmaccss1text_propertiesword_spacingexpectedpng"></a>
<div class="binary"><h4>Modified: trunk/LayoutTests/platform/mac/css1/text_properties/word_spacing-expected.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmaccss1text_propertiesword_spacingexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/css1/text_properties/word_spacing-expected.txt (161520 => 161521)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/css1/text_properties/word_spacing-expected.txt        2014-01-08 21:45:36 UTC (rev 161520)
+++ trunk/LayoutTests/platform/mac/css1/text_properties/word_spacing-expected.txt        2014-01-08 22:22:50 UTC (rev 161521)
</span><span class="lines">@@ -33,14 +33,14 @@
</span><span class="cx">           text run at (0,165) width 0: &quot; &quot;
</span><span class="cx">       RenderBlock {HR} at (0,227) size 769x2 [border: (1px inset #000000)]
</span><span class="cx">       RenderBlock {P} at (0,245) size 769x18
</span><del>-        RenderText {#text} at (0,0) size 701x18
-          text run at (0,0) width 701: &quot;This words in this sentence should have extra space between them.&quot;
</del><ins>+        RenderText {#text} at (0,0) size 709x18
+          text run at (0,0) width 709: &quot;This words in this sentence should have extra space between them.&quot;
</ins><span class="cx">       RenderBlock {P} at (0,279) size 769x18
</span><del>-        RenderText {#text} at (0,0) size 601x18
-          text run at (0,0) width 601: &quot;This words in this sentence should have extra space between them.&quot;
</del><ins>+        RenderText {#text} at (0,0) size 610x18
+          text run at (0,0) width 610: &quot;This words in this sentence should have extra space between them.&quot;
</ins><span class="cx">       RenderBlock {P} at (0,313) size 769x18
</span><del>-        RenderText {#text} at (0,0) size 601x18
-          text run at (0,0) width 601: &quot;This words in this sentence should have extra space between them.&quot;
</del><ins>+        RenderText {#text} at (0,0) size 610x18
+          text run at (0,0) width 610: &quot;This words in this sentence should have extra space between them.&quot;
</ins><span class="cx">       RenderBlock {P} at (0,347) size 769x18
</span><span class="cx">         RenderText {#text} at (0,0) size 461x18
</span><span class="cx">           text run at (0,0) width 461: &quot;This words in this sentence should have extra space between them.&quot;
</span><span class="lines">@@ -51,8 +51,8 @@
</span><span class="cx">         RenderText {#text} at (0,0) size 581x18
</span><span class="cx">           text run at (0,0) width 581: &quot;This words in this sentence should have extra space between them.&quot;
</span><span class="cx">       RenderBlock {P} at (0,449) size 769x18
</span><del>-        RenderText {#text} at (0,0) size 491x18
-          text run at (0,0) width 491: &quot;This words in this sentence should have extra space between them.&quot;
</del><ins>+        RenderText {#text} at (0,0) size 493x18
+          text run at (0,0) width 493: &quot;This words in this sentence should have extra space between them.&quot;
</ins><span class="cx">       RenderBlock {P} at (0,483) size 769x36
</span><span class="cx">         RenderText {#text} at (0,0) size 751x18
</span><span class="cx">           text run at (0,0) width 751: &quot;This words in this sentence should have extra space between them, but the last few words in the sentence&quot;
</span><span class="lines">@@ -65,8 +65,8 @@
</span><span class="cx">         RenderText {#text} at (0,0) size 668x18
</span><span class="cx">           text run at (0,0) width 668: &quot;This sentence should have normal word-spacing, since percentage values are not allowed on this property.&quot;
</span><span class="cx">       RenderBlock {P} at (0,569) size 769x18
</span><del>-        RenderText {#text} at (0,0) size 707x18
-          text run at (0,0) width 707: &quot;This words in this sentence should have reduced space between them, since negative values are allowed on this property.&quot;
</del><ins>+        RenderText {#text} at (0,0) size 704x18
+          text run at (0,0) width 704: &quot;This words in this sentence should have reduced space between them, since negative values are allowed on this property.&quot;
</ins><span class="cx">       RenderTable {TABLE} at (0,603) size 769x378 [border: (1px outset #808080)]
</span><span class="cx">         RenderTableSection {TBODY} at (1,1) size 767x376
</span><span class="cx">           RenderTableRow {TR} at (0,0) size 767x26
</span><span class="lines">@@ -80,14 +80,14 @@
</span><span class="cx">                 text run at (4,4) width 4: &quot; &quot;
</span><span class="cx">             RenderTableCell {TD} at (12,26) size 755x350 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
</span><span class="cx">               RenderBlock {P} at (4,4) size 747x18
</span><del>-                RenderText {#text} at (0,0) size 701x18
-                  text run at (0,0) width 701: &quot;This words in this sentence should have extra space between them.&quot;
</del><ins>+                RenderText {#text} at (0,0) size 709x18
+                  text run at (0,0) width 709: &quot;This words in this sentence should have extra space between them.&quot;
</ins><span class="cx">               RenderBlock {P} at (4,38) size 747x18
</span><del>-                RenderText {#text} at (0,0) size 601x18
-                  text run at (0,0) width 601: &quot;This words in this sentence should have extra space between them.&quot;
</del><ins>+                RenderText {#text} at (0,0) size 610x18
+                  text run at (0,0) width 610: &quot;This words in this sentence should have extra space between them.&quot;
</ins><span class="cx">               RenderBlock {P} at (4,72) size 747x18
</span><del>-                RenderText {#text} at (0,0) size 601x18
-                  text run at (0,0) width 601: &quot;This words in this sentence should have extra space between them.&quot;
</del><ins>+                RenderText {#text} at (0,0) size 610x18
+                  text run at (0,0) width 610: &quot;This words in this sentence should have extra space between them.&quot;
</ins><span class="cx">               RenderBlock {P} at (4,106) size 747x18
</span><span class="cx">                 RenderText {#text} at (0,0) size 461x18
</span><span class="cx">                   text run at (0,0) width 461: &quot;This words in this sentence should have extra space between them.&quot;
</span><span class="lines">@@ -98,8 +98,8 @@
</span><span class="cx">                 RenderText {#text} at (0,0) size 581x18
</span><span class="cx">                   text run at (0,0) width 581: &quot;This words in this sentence should have extra space between them.&quot;
</span><span class="cx">               RenderBlock {P} at (4,208) size 747x18
</span><del>-                RenderText {#text} at (0,0) size 491x18
-                  text run at (0,0) width 491: &quot;This words in this sentence should have extra space between them.&quot;
</del><ins>+                RenderText {#text} at (0,0) size 493x18
+                  text run at (0,0) width 493: &quot;This words in this sentence should have extra space between them.&quot;
</ins><span class="cx">               RenderBlock {P} at (4,242) size 747x36
</span><span class="cx">                 RenderText {#text} at (0,0) size 688x36
</span><span class="cx">                   text run at (0,0) width 688: &quot;This words in this sentence should have extra space between them, but the last few words in the&quot;
</span><span class="lines">@@ -113,5 +113,5 @@
</span><span class="cx">                 RenderText {#text} at (0,0) size 668x18
</span><span class="cx">                   text run at (0,0) width 668: &quot;This sentence should have normal word-spacing, since percentage values are not allowed on this property.&quot;
</span><span class="cx">               RenderBlock {P} at (4,328) size 747x18
</span><del>-                RenderText {#text} at (0,0) size 707x18
-                  text run at (0,0) width 707: &quot;This words in this sentence should have reduced space between them, since negative values are allowed on this property.&quot;
</del><ins>+                RenderText {#text} at (0,0) size 704x18
+                  text run at (0,0) width 704: &quot;This words in this sentence should have reduced space between them, since negative values are allowed on this property.&quot;
</ins></span></pre></div>
<a id="trunkLayoutTestsplatformmacfasttextbasic013expectedpng"></a>
<div class="binary"><h4>Modified: trunk/LayoutTests/platform/mac/fast/text/basic/013-expected.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacfasttextbasic013expectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/fast/text/basic/013-expected.txt (161520 => 161521)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/fast/text/basic/013-expected.txt        2014-01-08 21:45:36 UTC (rev 161520)
+++ trunk/LayoutTests/platform/mac/fast/text/basic/013-expected.txt        2014-01-08 22:22:50 UTC (rev 161521)
</span><span class="lines">@@ -37,34 +37,34 @@
</span><span class="cx">           text run at (0,18) width 296: &quot;be inherited. This was discovered in Safari 1.0.&quot;
</span><span class="cx">       RenderBlock {DIV} at (0,110) size 784x120
</span><span class="cx">         RenderBlock {P} at (0,0) size 784x18
</span><del>-          RenderText {#text} at (0,0) size 122x18
-            text run at (0,0) width 122: &quot;Text inside &quot;
-          RenderInline {B} at (0,0) size 46x18
-            RenderText {#text} at (122,0) size 46x18
-              text run at (122,0) width 46: &quot;bold&quot;
-          RenderText {#text} at (168,0) size 93x18
-            text run at (168,0) width 93: &quot; element.&quot;
</del><ins>+          RenderText {#text} at (0,0) size 132x18
+            text run at (0,0) width 132: &quot;Text inside &quot;
+          RenderInline {B} at (0,0) size 50x18
+            RenderText {#text} at (131,0) size 50x18
+              text run at (131,0) width 50: &quot;bold&quot;
+          RenderText {#text} at (180,0) size 101x18
+            text run at (180,0) width 101: &quot; element.&quot;
</ins><span class="cx">         RenderBlock {P} at (0,34) size 784x18
</span><del>-          RenderText {#text} at (0,0) size 122x18
-            text run at (0,0) width 122: &quot;Text inside &quot;
-          RenderInline {STRONG} at (0,0) size 67x18
-            RenderText {#text} at (122,0) size 67x18
-              text run at (122,0) width 67: &quot;strong&quot;
-          RenderText {#text} at (189,0) size 93x18
-            text run at (189,0) width 93: &quot; element.&quot;
</del><ins>+          RenderText {#text} at (0,0) size 132x18
+            text run at (0,0) width 132: &quot;Text inside &quot;
+          RenderInline {STRONG} at (0,0) size 73x18
+            RenderText {#text} at (131,0) size 73x18
+              text run at (131,0) width 73: &quot;strong&quot;
+          RenderText {#text} at (203,0) size 101x18
+            text run at (203,0) width 101: &quot; element.&quot;
</ins><span class="cx">         RenderBlock {P} at (0,68) size 784x18
</span><del>-          RenderText {#text} at (0,0) size 122x18
-            text run at (0,0) width 122: &quot;Text inside &quot;
-          RenderInline {I} at (0,0) size 55x18
-            RenderText {#text} at (122,0) size 55x18
-              text run at (122,0) width 55: &quot;italic&quot;
-          RenderText {#text} at (177,0) size 93x18
-            text run at (177,0) width 93: &quot; element.&quot;
</del><ins>+          RenderText {#text} at (0,0) size 132x18
+            text run at (0,0) width 132: &quot;Text inside &quot;
+          RenderInline {I} at (0,0) size 61x18
+            RenderText {#text} at (131,0) size 61x18
+              text run at (131,0) width 61: &quot;italic&quot;
+          RenderText {#text} at (191,0) size 101x18
+            text run at (191,0) width 101: &quot; element.&quot;
</ins><span class="cx">         RenderBlock {P} at (0,102) size 784x18
</span><del>-          RenderText {#text} at (0,0) size 122x18
-            text run at (0,0) width 122: &quot;Text inside &quot;
-          RenderInline {EM} at (0,0) size 91x18
-            RenderText {#text} at (122,0) size 91x18
-              text run at (122,0) width 91: &quot;emphasis&quot;
-          RenderText {#text} at (213,0) size 93x18
-            text run at (213,0) width 93: &quot; element.&quot;
</del><ins>+          RenderText {#text} at (0,0) size 132x18
+            text run at (0,0) width 132: &quot;Text inside &quot;
+          RenderInline {EM} at (0,0) size 99x18
+            RenderText {#text} at (131,0) size 99x18
+              text run at (131,0) width 99: &quot;emphasis&quot;
+          RenderText {#text} at (229,0) size 101x18
+            text run at (229,0) width 101: &quot; element.&quot;
</ins></span></pre></div>
<a id="trunkLayoutTestsplatformmacfasttexttextletterspacingexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/fast/text/text-letter-spacing-expected.txt (161520 => 161521)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/fast/text/text-letter-spacing-expected.txt        2014-01-08 21:45:36 UTC (rev 161520)
+++ trunk/LayoutTests/platform/mac/fast/text/text-letter-spacing-expected.txt        2014-01-08 22:22:50 UTC (rev 161521)
</span><span class="lines">@@ -1,4 +1,4 @@
</span><del>-layer at (0,0) size 163023x1728
</del><ins>+layer at (0,0) size 9600207x1728
</ins><span class="cx">   RenderView at (0,0) size 785x585
</span><span class="cx"> layer at (0,0) size 785x1728
</span><span class="cx">   RenderBlock {HTML} at (0,0) size 785x1728
</span><span class="lines">@@ -40,10 +40,10 @@
</span><span class="cx">           text run at (0,18) width 37: &quot;a 'w', &quot;
</span><span class="cx">           text run at (37,18) width 407: &quot;perhaps on two different lines, unless you scroll way to the right.&quot;
</span><span class="cx">       RenderBlock {P} at (0,398) size 769x36 [bgcolor=#EEEEEE]
</span><del>-        RenderInline {SPAN} at (0,0) size 163015x36
-          RenderText {#text} at (160,0) size 163015x36
-            text run at (160,0) width 162855: &quot;Hello,&quot;
-            text run at (0,18) width 135717: &quot;world&quot;
</del><ins>+        RenderInline {SPAN} at (0,0) size 9600199x36
+          RenderText {#text} at (160,0) size 9600199x36
+            text run at (160,0) width 9600039: &quot;Hello,&quot;
+            text run at (0,18) width 8000037: &quot;world&quot;
</ins><span class="cx">       RenderBlock {P} at (0,450) size 769x18 [bgcolor=#FFFFFF]
</span><span class="cx">         RenderText {#text} at (0,0) size 528x18
</span><span class="cx">           text run at (0,0) width 528: &quot;The next line tests a small negative line spacing, and should be crammed backwards&quot;
</span><span class="lines">@@ -158,11 +158,11 @@
</span><span class="cx">     RenderText {#text} at (160,0) size 19399x36
</span><span class="cx">       text run at (160,0) width 19239: &quot;Hello,&quot;
</span><span class="cx">       text run at (0,18) width 16037: &quot;world&quot;
</span><del>-layer at (8,944) size 163015x36
-  RenderInline {SPAN} at (0,0) size 163015x36 [bgcolor=#CCCCFF]
-    RenderText {#text} at (160,0) size 163015x36
-      text run at (160,0) width 162855: &quot;Hello,&quot;
-      text run at (0,18) width 135717: &quot;world&quot;
</del><ins>+layer at (8,944) size 9600199x36
+  RenderInline {SPAN} at (0,0) size 9600199x36 [bgcolor=#CCCCFF]
+    RenderText {#text} at (160,0) size 9600199x36
+      text run at (160,0) width 9600039: &quot;Hello,&quot;
+      text run at (0,18) width 8000037: &quot;world&quot;
</ins><span class="cx"> layer at (8,1030) size 0x18
</span><span class="cx">   RenderInline {SPAN} at (0,0) size 0x18 [bgcolor=#CCCCFF]
</span><span class="cx">     RenderText {#text} at (160,0) size 0x18
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacsvgW3CSVG11textspacing01bexpectedpng"></a>
<div class="binary"><h4>Modified: trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-spacing-01-b-expected.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacsvgW3CSVG11textspacing01bexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-spacing-01-b-expected.txt (161520 => 161521)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-spacing-01-b-expected.txt        2014-01-08 21:45:36 UTC (rev 161520)
+++ trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-spacing-01-b-expected.txt        2014-01-08 22:22:50 UTC (rev 161521)
</span><span class="lines">@@ -26,9 +26,25 @@
</span><span class="cx">             chunk 1 text run 15 at (37.33,16.00) startOffset 14 endOffset 15 width 2.17: &quot;:&quot;
</span><span class="cx">             chunk 1 text run 16 at (38.50,16.00) startOffset 15 endOffset 16 width 2.67: &quot;-&quot;
</span><span class="cx">             chunk 1 text run 17 at (40.17,16.00) startOffset 16 endOffset 17 width 4.50: &quot;1&quot;
</span><del>-        RenderSVGText {text} at (3,16) size 58x9 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 58x9
-            chunk 1 text run 1 at (3.00,24.00) startOffset 0 endOffset 17 width 57.17: &quot;letter-spacing:.3&quot;
</del><ins>+        RenderSVGText {text} at (3,16) size 62x9 contains 1 chunk(s)
+          RenderSVGInlineText {#text} at (0,0) size 62x9
+            chunk 1 text run 1 at (3.00,24.00) startOffset 0 endOffset 1 width 1.83: &quot;l&quot;
+            chunk 1 text run 2 at (5.13,24.00) startOffset 1 endOffset 2 width 4.50: &quot;e&quot;
+            chunk 1 text run 3 at (9.93,24.00) startOffset 2 endOffset 3 width 2.17: &quot;t&quot;
+            chunk 1 text run 4 at (12.40,24.00) startOffset 3 endOffset 4 width 2.17: &quot;t&quot;
+            chunk 1 text run 5 at (14.87,24.00) startOffset 4 endOffset 5 width 4.50: &quot;e&quot;
+            chunk 1 text run 6 at (19.67,24.00) startOffset 5 endOffset 6 width 2.67: &quot;r&quot;
+            chunk 1 text run 7 at (22.63,24.00) startOffset 6 endOffset 7 width 2.67: &quot;-&quot;
+            chunk 1 text run 8 at (25.60,24.00) startOffset 7 endOffset 8 width 4.00: &quot;s&quot;
+            chunk 1 text run 9 at (29.90,24.00) startOffset 8 endOffset 9 width 4.50: &quot;p&quot;
+            chunk 1 text run 10 at (34.70,24.00) startOffset 9 endOffset 10 width 4.50: &quot;a&quot;
+            chunk 1 text run 11 at (39.50,24.00) startOffset 10 endOffset 11 width 4.00: &quot;c&quot;
+            chunk 1 text run 12 at (43.80,24.00) startOffset 11 endOffset 12 width 1.83: &quot;i&quot;
+            chunk 1 text run 13 at (45.93,24.00) startOffset 12 endOffset 13 width 4.50: &quot;n&quot;
+            chunk 1 text run 14 at (50.73,24.00) startOffset 13 endOffset 14 width 4.50: &quot;g&quot;
+            chunk 1 text run 15 at (55.53,24.00) startOffset 14 endOffset 15 width 2.17: &quot;:&quot;
+            chunk 1 text run 16 at (58.00,24.00) startOffset 15 endOffset 16 width 2.17: &quot;.&quot;
+            chunk 1 text run 17 at (60.47,24.00) startOffset 16 endOffset 17 width 4.50: &quot;3&quot;
</ins><span class="cx">         RenderSVGText {text} at (3,25) size 64x9 contains 1 chunk(s)
</span><span class="cx">           RenderSVGInlineText {#text} at (0,0) size 64x9
</span><span class="cx">             chunk 1 text run 1 at (3.00,33.00) startOffset 0 endOffset 16 width 64.00: &quot;ws:0 - Two Words&quot;
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacsvgbatiktexttextLayoutexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/svg/batik/text/textLayout-expected.txt (161520 => 161521)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/svg/batik/text/textLayout-expected.txt        2014-01-08 21:45:36 UTC (rev 161520)
+++ trunk/LayoutTests/platform/mac/svg/batik/text/textLayout-expected.txt        2014-01-08 22:22:50 UTC (rev 161521)
</span><span class="lines">@@ -117,15 +117,15 @@
</span><span class="cx">         RenderSVGText {text} at (290,233) size 104x9 contains 1 chunk(s)
</span><span class="cx">           RenderSVGInlineText {#text} at (0,0) size 104x9
</span><span class="cx">             chunk 1 text run 1 at (290.00,240.00) startOffset 0 endOffset 29 width 104.00: &quot;textLength=\&quot;120\&quot;,kerning=\&quot;10\&quot;&quot;
</span><del>-      RenderSVGContainer {g} at (40,253) size 104x39
-        RenderSVGText {text} at (40,253) size 104x28 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 104x28
</del><ins>+      RenderSVGContainer {g} at (40,253) size 105x39
+        RenderSVGText {text} at (40,253) size 105x28 contains 1 chunk(s)
+          RenderSVGInlineText {#text} at (0,0) size 105x28
</ins><span class="cx">             chunk 1 text run 1 at (40.00,275.00) startOffset 0 endOffset 1 width 9.00: &quot;s&quot;
</span><del>-            chunk 1 text run 2 at (56.00,275.00) startOffset 1 endOffset 2 width 11.00: &quot;a&quot;
-            chunk 1 text run 3 at (74.00,275.00) startOffset 2 endOffset 3 width 19.00: &quot;m&quot;
-            chunk 1 text run 4 at (100.00,275.00) startOffset 3 endOffset 4 width 12.00: &quot;p&quot;
-            chunk 1 text run 5 at (119.00,275.00) startOffset 4 endOffset 5 width 7.00: &quot;l&quot;
-            chunk 1 text run 6 at (133.00,275.00) startOffset 5 endOffset 6 width 11.00: &quot;e&quot;
</del><ins>+            chunk 1 text run 2 at (56.20,275.00) startOffset 1 endOffset 2 width 11.00: &quot;a&quot;
+            chunk 1 text run 3 at (74.40,275.00) startOffset 2 endOffset 3 width 19.00: &quot;m&quot;
+            chunk 1 text run 4 at (100.60,275.00) startOffset 3 endOffset 4 width 12.00: &quot;p&quot;
+            chunk 1 text run 5 at (119.80,275.00) startOffset 4 endOffset 5 width 7.00: &quot;l&quot;
+            chunk 1 text run 6 at (134.00,275.00) startOffset 5 endOffset 6 width 11.00: &quot;e&quot;
</ins><span class="cx">         RenderSVGText {text} at (40,283) size 76x9 contains 1 chunk(s)
</span><span class="cx">           RenderSVGInlineText {#text} at (0,0) size 76x9
</span><span class="cx">             chunk 1 text run 1 at (40.00,290.00) startOffset 0 endOffset 22 width 76.00: &quot;letter-spacing=\&quot;0.3em\&quot;&quot;
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacsvgcustomtextletterspacingexpectedpng"></a>
<div class="binary"><h4>Modified: trunk/LayoutTests/platform/mac/svg/custom/text-letter-spacing-expected.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacsvgcustomtextletterspacingexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/svg/custom/text-letter-spacing-expected.txt (161520 => 161521)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/svg/custom/text-letter-spacing-expected.txt        2014-01-08 21:45:36 UTC (rev 161520)
+++ trunk/LayoutTests/platform/mac/svg/custom/text-letter-spacing-expected.txt        2014-01-08 22:22:50 UTC (rev 161521)
</span><span class="lines">@@ -1,30 +1,30 @@
</span><span class="cx"> layer at (0,0) size 800x600
</span><span class="cx">   RenderView at (0,0) size 800x600
</span><span class="cx"> layer at (0,0) size 800x600
</span><del>-  RenderSVGRoot {svg} at (20,10) size 350x158
-    RenderSVGContainer {g} at (20,10) size 350x158
-      RenderSVGText {text} at (10,5) size 175x19 contains 1 chunk(s)
-        RenderSVGInlineText {#text} at (0,0) size 175x19
</del><ins>+  RenderSVGRoot {svg} at (20,10) size 362x158
+    RenderSVGContainer {g} at (20,10) size 362x158
+      RenderSVGText {text} at (10,5) size 181x19 contains 1 chunk(s)
+        RenderSVGInlineText {#text} at (0,0) size 181x19
</ins><span class="cx">           chunk 1 text run 1 at (10.00,20.00) startOffset 0 endOffset 1 width 11.50: &quot;A&quot;
</span><del>-          chunk 1 text run 2 at (39.50,20.00) startOffset 1 endOffset 2 width 10.50: &quot;B&quot;
-          chunk 1 text run 3 at (68.00,20.00) startOffset 2 endOffset 3 width 10.50: &quot;C&quot;
-          chunk 1 text run 4 at (96.50,20.00) startOffset 3 endOffset 4 width 4.00: &quot; &quot;
-          chunk 1 text run 5 at (118.50,20.00) startOffset 4 endOffset 5 width 11.50: &quot;D&quot;
-          chunk 1 text run 6 at (148.00,20.00) startOffset 5 endOffset 6 width 10.00: &quot;E&quot;
-          chunk 1 text run 7 at (176.00,20.00) startOffset 6 endOffset 7 width 9.00: &quot;F&quot;
-      RenderSVGText {text} at (10,25) size 175x19 contains 1 chunk(s)
</del><ins>+          chunk 1 text run 2 at (40.40,20.00) startOffset 1 endOffset 2 width 10.50: &quot;B&quot;
+          chunk 1 text run 3 at (69.80,20.00) startOffset 2 endOffset 3 width 10.50: &quot;C&quot;
+          chunk 1 text run 4 at (99.19,20.00) startOffset 3 endOffset 4 width 4.00: &quot; &quot;
+          chunk 1 text run 5 at (122.09,20.00) startOffset 4 endOffset 5 width 11.50: &quot;D&quot;
+          chunk 1 text run 6 at (152.49,20.00) startOffset 5 endOffset 6 width 10.00: &quot;E&quot;
+          chunk 1 text run 7 at (181.39,20.00) startOffset 6 endOffset 7 width 9.00: &quot;F&quot;
+      RenderSVGText {text} at (10,25) size 181x19 contains 1 chunk(s)
+        RenderSVGTSpan {tspan} at (0,0) size 71x19
+          RenderSVGInlineText {#text} at (0,0) size 71x19
+            chunk 1 text run 1 at (10.00,40.00) startOffset 0 endOffset 1 width 11.50: &quot;A&quot;
+            chunk 1 text run 2 at (40.40,40.00) startOffset 1 endOffset 2 width 10.50: &quot;B&quot;
+            chunk 1 text run 3 at (69.80,40.00) startOffset 2 endOffset 3 width 10.50: &quot;C&quot;
+        RenderSVGInlineText {#text} at (89,0) size 4x19
+          chunk 1 text run 1 at (99.19,40.00) startOffset 0 endOffset 1 width 4.00: &quot; &quot;
</ins><span class="cx">         RenderSVGTSpan {tspan} at (0,0) size 69x19
</span><del>-          RenderSVGInlineText {#text} at (0,0) size 69x19
-            chunk 1 text run 1 at (10.00,40.00) startOffset 0 endOffset 1 width 11.50: &quot;A&quot;
-            chunk 1 text run 2 at (39.50,40.00) startOffset 1 endOffset 2 width 10.50: &quot;B&quot;
-            chunk 1 text run 3 at (68.00,40.00) startOffset 2 endOffset 3 width 10.50: &quot;C&quot;
-        RenderSVGInlineText {#text} at (86,0) size 4x19
-          chunk 1 text run 1 at (96.50,40.00) startOffset 0 endOffset 1 width 4.00: &quot; &quot;
-        RenderSVGTSpan {tspan} at (0,0) size 67x19
-          RenderSVGInlineText {#text} at (108,0) size 67x19
-            chunk 1 text run 1 at (118.50,40.00) startOffset 0 endOffset 1 width 11.50: &quot;D&quot;
-            chunk 1 text run 2 at (148.00,40.00) startOffset 1 endOffset 2 width 10.00: &quot;E&quot;
-            chunk 1 text run 3 at (176.00,40.00) startOffset 2 endOffset 3 width 9.00: &quot;F&quot;
</del><ins>+          RenderSVGInlineText {#text} at (112,0) size 69x19
+            chunk 1 text run 1 at (122.09,40.00) startOffset 0 endOffset 1 width 11.50: &quot;D&quot;
+            chunk 1 text run 2 at (152.49,40.00) startOffset 1 endOffset 2 width 10.00: &quot;E&quot;
+            chunk 1 text run 3 at (181.39,40.00) startOffset 2 endOffset 3 width 9.00: &quot;F&quot;
</ins><span class="cx">       RenderSVGText {text} at (10,45) size 129x19 contains 1 chunk(s)
</span><span class="cx">         RenderSVGInlineText {#text} at (0,0) size 129x19
</span><span class="cx">           chunk 1 text run 1 at (10.00,60.00) startOffset 0 endOffset 1 width 11.50: &quot;A&quot;
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacsvgtexttextspacing01bexpectedpng"></a>
<div class="binary"><h4>Modified: trunk/LayoutTests/platform/mac/svg/text/text-spacing-01-b-expected.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacsvgtexttextspacing01bexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/svg/text/text-spacing-01-b-expected.txt (161520 => 161521)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/svg/text/text-spacing-01-b-expected.txt        2014-01-08 21:45:36 UTC (rev 161520)
+++ trunk/LayoutTests/platform/mac/svg/text/text-spacing-01-b-expected.txt        2014-01-08 22:22:50 UTC (rev 161521)
</span><span class="lines">@@ -26,9 +26,25 @@
</span><span class="cx">             chunk 1 text run 15 at (36.80,16.00) startOffset 14 endOffset 15 width 2.20: &quot;:&quot;
</span><span class="cx">             chunk 1 text run 16 at (38.00,16.00) startOffset 15 endOffset 16 width 2.70: &quot;-&quot;
</span><span class="cx">             chunk 1 text run 17 at (39.70,16.00) startOffset 16 endOffset 17 width 4.40: &quot;1&quot;
</span><del>-        RenderSVGText {text} at (3,16) size 57x9 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 57x9
-            chunk 1 text run 1 at (3.00,24.00) startOffset 0 endOffset 17 width 56.60: &quot;letter-spacing:.3&quot;
</del><ins>+        RenderSVGText {text} at (3,16) size 62x9 contains 1 chunk(s)
+          RenderSVGInlineText {#text} at (0,0) size 62x9
+            chunk 1 text run 1 at (3.00,24.00) startOffset 0 endOffset 1 width 1.80: &quot;l&quot;
+            chunk 1 text run 2 at (5.10,24.00) startOffset 1 endOffset 2 width 4.40: &quot;e&quot;
+            chunk 1 text run 3 at (9.80,24.00) startOffset 2 endOffset 3 width 2.20: &quot;t&quot;
+            chunk 1 text run 4 at (12.30,24.00) startOffset 3 endOffset 4 width 2.20: &quot;t&quot;
+            chunk 1 text run 5 at (14.80,24.00) startOffset 4 endOffset 5 width 4.40: &quot;e&quot;
+            chunk 1 text run 6 at (19.50,24.00) startOffset 5 endOffset 6 width 2.70: &quot;r&quot;
+            chunk 1 text run 7 at (22.50,24.00) startOffset 6 endOffset 7 width 2.70: &quot;-&quot;
+            chunk 1 text run 8 at (25.50,24.00) startOffset 7 endOffset 8 width 4.00: &quot;s&quot;
+            chunk 1 text run 9 at (29.80,24.00) startOffset 8 endOffset 9 width 4.40: &quot;p&quot;
+            chunk 1 text run 10 at (34.50,24.00) startOffset 9 endOffset 10 width 4.40: &quot;a&quot;
+            chunk 1 text run 11 at (39.20,24.00) startOffset 10 endOffset 11 width 4.00: &quot;c&quot;
+            chunk 1 text run 12 at (43.50,24.00) startOffset 11 endOffset 12 width 1.80: &quot;i&quot;
+            chunk 1 text run 13 at (45.60,24.00) startOffset 12 endOffset 13 width 4.40: &quot;n&quot;
+            chunk 1 text run 14 at (50.30,24.00) startOffset 13 endOffset 14 width 4.40: &quot;g&quot;
+            chunk 1 text run 15 at (55.00,24.00) startOffset 14 endOffset 15 width 2.20: &quot;:&quot;
+            chunk 1 text run 16 at (57.50,24.00) startOffset 15 endOffset 16 width 2.20: &quot;.&quot;
+            chunk 1 text run 17 at (60.00,24.00) startOffset 16 endOffset 17 width 4.40: &quot;3&quot;
</ins><span class="cx">         RenderSVGText {text} at (3,25) size 64x9 contains 1 chunk(s)
</span><span class="cx">           RenderSVGInlineText {#text} at (0,0) size 64x9
</span><span class="cx">             chunk 1 text run 1 at (3.00,33.00) startOffset 0 endOffset 16 width 63.90: &quot;ws:0 - Two Words&quot;
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (161520 => 161521)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2014-01-08 21:45:36 UTC (rev 161520)
+++ trunk/Source/WebCore/ChangeLog        2014-01-08 22:22:50 UTC (rev 161521)
</span><span class="lines">@@ -1,3 +1,35 @@
</span><ins>+2014-01-07  Myles C. Maxfield  &lt;mmaxfield@apple.com&gt;
+
+        a fractional value of the css letter-spacing property is not rendered as expected
+        https://bugs.webkit.org/show_bug.cgi?id=20606
+
+        Reviewed by Simon Fraser.
+
+        This turns on fractional letter-spacing and word-spacing CSS values.
+        It is taken mostly from Blink r153727 and iOS. Updating the relevant
+        types is all that is necessary
+
+        Existing tests have been updated.
+
+        * css/DeprecatedStyleBuilder.cpp:
+        (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
+        * page/animation/CSSPropertyAnimation.cpp:
+        (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
+        * platform/graphics/Font.cpp:
+        (WebCore::Font::Font):
+        (WebCore::Font::width):
+        * platform/graphics/Font.h:
+        (WebCore::Font::wordSpacing):
+        (WebCore::Font::letterSpacing):
+        (WebCore::Font::setWordSpacing):
+        (WebCore::Font::setLetterSpacing):
+        * rendering/style/RenderStyle.cpp:
+        (WebCore::RenderStyle::wordSpacing):
+        (WebCore::RenderStyle::letterSpacing):
+        (WebCore::RenderStyle::setWordSpacing):
+        (WebCore::RenderStyle::setLetterSpacing):
+        * rendering/style/RenderStyle.h:
+
</ins><span class="cx"> 2014-01-08  Anders Carlsson  &lt;andersca@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Add WTF::StringView and use it for grammar checking
</span></span></pre></div>
<a id="trunkSourceWebCorecssDeprecatedStyleBuildercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/DeprecatedStyleBuilder.cpp (161520 => 161521)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/DeprecatedStyleBuilder.cpp        2014-01-08 21:45:36 UTC (rev 161520)
+++ trunk/Source/WebCore/css/DeprecatedStyleBuilder.cpp        2014-01-08 22:22:50 UTC (rev 161521)
</span><span class="lines">@@ -2312,15 +2312,8 @@
</span><span class="cx">     setPropertyHandler(CSSPropertyImageResolution, ApplyPropertyImageResolution::createHandler());
</span><span class="cx"> #endif
</span><span class="cx">     setPropertyHandler(CSSPropertyLeft, ApplyPropertyLength&lt;&amp;RenderStyle::left, &amp;RenderStyle::setLeft, &amp;RenderStyle::initialOffset, AutoEnabled&gt;::createHandler());
</span><ins>+    setPropertyHandler(CSSPropertyLetterSpacing, ApplyPropertyComputeLength&lt;float, &amp;RenderStyle::letterSpacing, &amp;RenderStyle::setLetterSpacing, &amp;RenderStyle::initialLetterSpacing, NormalEnabled, ThicknessDisabled, SVGZoomEnabled&gt;::createHandler());
</ins><span class="cx"> 
</span><del>-    // FIXME: We should reconcile the difference in datatype between iOS and OpenSource. On iOS we want letter spacing to
-    // be float for sub-pixel kerning. See &lt;https://bugs.webkit.org/show_bug.cgi?id=20606&gt;.
-#if !PLATFORM(IOS)
-    setPropertyHandler(CSSPropertyLetterSpacing, ApplyPropertyComputeLength&lt;int, &amp;RenderStyle::letterSpacing, &amp;RenderStyle::setLetterSpacing, &amp;RenderStyle::initialLetterWordSpacing, NormalEnabled, ThicknessDisabled, SVGZoomEnabled&gt;::createHandler());
-#else
-    setPropertyHandler(CSSPropertyLetterSpacing, ApplyPropertyComputeLength&lt;float, &amp;RenderStyle::letterSpacing, &amp;RenderStyle::setLetterSpacing, &amp;RenderStyle::initialLetterWordSpacing, NormalEnabled, ThicknessDisabled, SVGZoomEnabled&gt;::createHandler());
-#endif
-
</del><span class="cx"> #if ENABLE(IOS_TEXT_AUTOSIZING)
</span><span class="cx">     setPropertyHandler(CSSPropertyLineHeight, ApplyPropertyLineHeightForIOSTextAutosizing::createHandler());
</span><span class="cx"> #else
</span><span class="lines">@@ -2536,15 +2529,8 @@
</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(CSSPropertyWordBreak, ApplyPropertyDefault&lt;EWordBreak, &amp;RenderStyle::wordBreak, EWordBreak, &amp;RenderStyle::setWordBreak, EWordBreak, &amp;RenderStyle::initialWordBreak&gt;::createHandler());
</span><ins>+    setPropertyHandler(CSSPropertyWordSpacing, ApplyPropertyComputeLength&lt;float, &amp;RenderStyle::wordSpacing, &amp;RenderStyle::setWordSpacing, &amp;RenderStyle::initialWordSpacing, NormalEnabled, ThicknessDisabled, SVGZoomEnabled&gt;::createHandler());
</ins><span class="cx"> 
</span><del>-    // FIXME: We should reconcile the difference in datatype between iOS and OpenSource. On iOS we want word spacing to
-    // be float for sub-pixel kerning. See &lt;https://bugs.webkit.org/show_bug.cgi?id=20606&gt;.
-#if !PLATFORM(IOS)
-    setPropertyHandler(CSSPropertyWordSpacing, ApplyPropertyComputeLength&lt;int, &amp;RenderStyle::wordSpacing, &amp;RenderStyle::setWordSpacing, &amp;RenderStyle::initialLetterWordSpacing, NormalEnabled, ThicknessDisabled, SVGZoomEnabled&gt;::createHandler());
-#else
-    setPropertyHandler(CSSPropertyWordSpacing, ApplyPropertyComputeLength&lt;float, &amp;RenderStyle::wordSpacing, &amp;RenderStyle::setWordSpacing, &amp;RenderStyle::initialLetterWordSpacing, NormalEnabled, ThicknessDisabled, SVGZoomEnabled&gt;::createHandler());
-#endif
-
</del><span class="cx">     // UAs must treat 'word-wrap' as an alternate name for the 'overflow-wrap' property. So using the same handlers.
</span><span class="cx">     setPropertyHandler(CSSPropertyWordWrap, ApplyPropertyDefault&lt;EOverflowWrap, &amp;RenderStyle::overflowWrap, EOverflowWrap, &amp;RenderStyle::setOverflowWrap, EOverflowWrap, &amp;RenderStyle::initialOverflowWrap&gt;::createHandler());
</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></pre></div>
<a id="trunkSourceWebCorepageanimationCSSPropertyAnimationcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/animation/CSSPropertyAnimation.cpp (161520 => 161521)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/animation/CSSPropertyAnimation.cpp        2014-01-08 21:45:36 UTC (rev 161520)
+++ trunk/Source/WebCore/page/animation/CSSPropertyAnimation.cpp        2014-01-08 22:22:50 UTC (rev 161521)
</span><span class="lines">@@ -1212,16 +1212,8 @@
</span><span class="cx">         new LengthPropertyWrapper&lt;Length&gt;(CSSPropertyLineHeight, &amp;RenderStyle::specifiedLineHeight, &amp;RenderStyle::setLineHeight),
</span><span class="cx">         new PropertyWrapper&lt;int&gt;(CSSPropertyOutlineOffset, &amp;RenderStyle::outlineOffset, &amp;RenderStyle::setOutlineOffset),
</span><span class="cx">         new PropertyWrapper&lt;unsigned short&gt;(CSSPropertyOutlineWidth, &amp;RenderStyle::outlineWidth, &amp;RenderStyle::setOutlineWidth),
</span><del>-
-        // FIXME: We should reconcile the difference in datatype between iOS and OpenSource. On iOS we want these properties to
-        // be float for sub-pixel kerning. See &lt;rdar://problem/5020763&gt;.
-#if !PLATFORM(IOS)
-        new PropertyWrapper&lt;int&gt;(CSSPropertyLetterSpacing, &amp;RenderStyle::letterSpacing, &amp;RenderStyle::setLetterSpacing),
-        new PropertyWrapper&lt;int&gt;(CSSPropertyWordSpacing, &amp;RenderStyle::wordSpacing, &amp;RenderStyle::setWordSpacing),
-#else
</del><span class="cx">         new PropertyWrapper&lt;float&gt;(CSSPropertyLetterSpacing, &amp;RenderStyle::letterSpacing, &amp;RenderStyle::setLetterSpacing),
</span><span class="cx">         new PropertyWrapper&lt;float&gt;(CSSPropertyWordSpacing, &amp;RenderStyle::wordSpacing, &amp;RenderStyle::setWordSpacing),
</span><del>-#endif
</del><span class="cx">         new LengthPropertyWrapper&lt;Length&gt;(CSSPropertyTextIndent, &amp;RenderStyle::textIndent, &amp;RenderStyle::setTextIndent),
</span><span class="cx"> 
</span><span class="cx">         new PropertyWrapper&lt;float&gt;(CSSPropertyWebkitPerspective, &amp;RenderStyle::perspective, &amp;RenderStyle::setPerspective),
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsFontcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/Font.cpp (161520 => 161521)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/Font.cpp        2014-01-08 21:45:36 UTC (rev 161520)
+++ trunk/Source/WebCore/platform/graphics/Font.cpp        2014-01-08 22:22:50 UTC (rev 161521)
</span><span class="lines">@@ -107,7 +107,7 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-Font::Font(const FontDescription&amp; fd, short letterSpacing, short wordSpacing) 
</del><ins>+Font::Font(const FontDescription&amp; fd, float letterSpacing, float wordSpacing)
</ins><span class="cx">     : m_fontDescription(fd)
</span><span class="cx">     , m_letterSpacing(letterSpacing)
</span><span class="cx">     , m_wordSpacing(wordSpacing)
</span><span class="lines">@@ -340,7 +340,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     bool hasKerningOrLigatures = typesettingFeatures() &amp; (Kerning | Ligatures);
</span><del>-    bool hasWordSpacingOrLetterSpacing = wordSpacing() | letterSpacing();
</del><ins>+    bool hasWordSpacingOrLetterSpacing = wordSpacing() || letterSpacing();
</ins><span class="cx">     float* cacheEntry = m_glyphs-&gt;widthCache().add(run, std::numeric_limits&lt;float&gt;::quiet_NaN(), hasKerningOrLigatures, hasWordSpacingOrLetterSpacing, glyphOverflow);
</span><span class="cx">     if (cacheEntry &amp;&amp; !std::isnan(*cacheEntry))
</span><span class="cx">         return *cacheEntry;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsFonth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/Font.h (161520 => 161521)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/Font.h        2014-01-08 21:45:36 UTC (rev 161520)
+++ trunk/Source/WebCore/platform/graphics/Font.h        2014-01-08 22:22:50 UTC (rev 161521)
</span><span class="lines">@@ -79,7 +79,7 @@
</span><span class="cx"> class Font {
</span><span class="cx"> public:
</span><span class="cx">     Font();
</span><del>-    Font(const FontDescription&amp;, short letterSpacing, short wordSpacing);
</del><ins>+    Font(const FontDescription&amp;, float letterSpacing, float wordSpacing);
</ins><span class="cx">     // This constructor is only used if the platform wants to start with a native font.
</span><span class="cx">     Font(const FontPlatformData&amp;, bool isPrinting, FontSmoothingMode = AutoSmoothing);
</span><span class="cx">     ~Font();
</span><span class="lines">@@ -115,10 +115,10 @@
</span><span class="cx"> 
</span><span class="cx">     bool isSmallCaps() const { return m_fontDescription.smallCaps(); }
</span><span class="cx"> 
</span><del>-    short wordSpacing() const { return m_wordSpacing; }
-    short letterSpacing() const { return m_letterSpacing; }
-    void setWordSpacing(short s) { m_wordSpacing = s; }
-    void setLetterSpacing(short s) { m_letterSpacing = s; }
</del><ins>+    float wordSpacing() const { return m_wordSpacing; }
+    float letterSpacing() const { return m_letterSpacing; }
+    void setWordSpacing(float s) { m_wordSpacing = s; }
+    void setLetterSpacing(float s) { m_letterSpacing = s; }
</ins><span class="cx">     bool isFixedPitch() const;
</span><span class="cx">     bool isPrinterFont() const { return m_fontDescription.usePrinterFont(); }
</span><span class="cx">     bool isSVGFont() const { return primaryFont()-&gt;isSVGFont(); }
</span><span class="lines">@@ -304,8 +304,8 @@
</span><span class="cx"> 
</span><span class="cx">     FontDescription m_fontDescription;
</span><span class="cx">     mutable RefPtr&lt;FontGlyphs&gt; m_glyphs;
</span><del>-    short m_letterSpacing;
-    short m_wordSpacing;
</del><ins>+    float m_letterSpacing;
+    float m_wordSpacing;
</ins><span class="cx">     mutable bool m_useBackslashAsYenSymbol;
</span><span class="cx">     mutable unsigned m_typesettingFeatures : 2; // (TypesettingFeatures) Caches values computed from m_fontDescription.
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingstyleRenderStylecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/style/RenderStyle.cpp (161520 => 161521)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/style/RenderStyle.cpp        2014-01-08 21:45:36 UTC (rev 161520)
+++ trunk/Source/WebCore/rendering/style/RenderStyle.cpp        2014-01-08 22:22:50 UTC (rev 161521)
</span><span class="lines">@@ -1399,8 +1399,8 @@
</span><span class="cx"> float RenderStyle::computedFontSize() const { return fontDescription().computedSize(); }
</span><span class="cx"> int RenderStyle::fontSize() const { return inherited-&gt;font.pixelSize(); }
</span><span class="cx"> 
</span><del>-int RenderStyle::wordSpacing() const { return inherited-&gt;font.wordSpacing(); }
-int RenderStyle::letterSpacing() const { return inherited-&gt;font.letterSpacing(); }
</del><ins>+float RenderStyle::wordSpacing() const { return inherited-&gt;font.wordSpacing(); }
+float RenderStyle::letterSpacing() const { return inherited-&gt;font.letterSpacing(); }
</ins><span class="cx"> 
</span><span class="cx"> bool RenderStyle::setFontDescription(const FontDescription&amp; v)
</span><span class="cx"> {
</span><span class="lines">@@ -1451,8 +1451,8 @@
</span><span class="cx">     return lh.value();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void RenderStyle::setWordSpacing(int v) { inherited.access()-&gt;font.setWordSpacing(v); }
-void RenderStyle::setLetterSpacing(int v) { inherited.access()-&gt;font.setLetterSpacing(v); }
</del><ins>+void RenderStyle::setWordSpacing(float v) { inherited.access()-&gt;font.setWordSpacing(v); }
+void RenderStyle::setLetterSpacing(float v) { inherited.access()-&gt;font.setLetterSpacing(v); }
</ins><span class="cx"> 
</span><span class="cx"> void RenderStyle::setFontSize(float size)
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingstyleRenderStyleh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/style/RenderStyle.h (161520 => 161521)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/style/RenderStyle.h        2014-01-08 21:45:36 UTC (rev 161520)
+++ trunk/Source/WebCore/rendering/style/RenderStyle.h        2014-01-08 22:22:50 UTC (rev 161521)
</span><span class="lines">@@ -580,8 +580,8 @@
</span><span class="cx"> #else
</span><span class="cx">     TextDecorationStyle textDecorationStyle() const { return TextDecorationStyleSolid; }
</span><span class="cx"> #endif
</span><del>-    int wordSpacing() const;
-    int letterSpacing() const;
</del><ins>+    float wordSpacing() const;
+    float letterSpacing() const;
</ins><span class="cx"> 
</span><span class="cx">     float zoom() const { return visual-&gt;m_zoom; }
</span><span class="cx">     float effectiveZoom() const { return rareInheritedData-&gt;m_effectiveZoom; }
</span><span class="lines">@@ -1189,8 +1189,8 @@
</span><span class="cx"> 
</span><span class="cx">     void setWhiteSpace(EWhiteSpace v) { inherited_flags._white_space = v; }
</span><span class="cx"> 
</span><del>-    void setWordSpacing(int);
-    void setLetterSpacing(int);
</del><ins>+    void setWordSpacing(float);
+    void setLetterSpacing(float);
</ins><span class="cx"> 
</span><span class="cx">     void clearBackgroundLayers() { m_background.access()-&gt;m_background = FillLayer(BackgroundFillLayer); }
</span><span class="cx">     void inheritBackgroundLayers(const FillLayer&amp; parent) { m_background.access()-&gt;m_background = parent; }
</span><span class="lines">@@ -1663,7 +1663,8 @@
</span><span class="cx">     static unsigned initialBorderWidth() { return 3; }
</span><span class="cx">     static unsigned short initialColumnRuleWidth() { return 3; }
</span><span class="cx">     static unsigned short initialOutlineWidth() { return 3; }
</span><del>-    static int initialLetterWordSpacing() { return 0; }
</del><ins>+    static float initialLetterSpacing() { return 0; }
+    static float initialWordSpacing() { return 0; }
</ins><span class="cx">     static Length initialSize() { return Length(); }
</span><span class="cx">     static Length initialMinSize() { return Length(Fixed); }
</span><span class="cx">     static Length initialMaxSize() { return Length(Undefined); }
</span></span></pre>
</div>
</div>

</body>
</html>