<!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>[167568] 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/167568">167568</a></dd>
<dt>Author</dt> <dd>antti@apple.com</dd>
<dt>Date</dt> <dd>2014-04-20 10:43:54 -0700 (Sun, 20 Apr 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>Text bounding box computation for simple line layout is wrong
https://bugs.webkit.org/show_bug.cgi?id=131912

Reviewed by Andreas Kling.

Source/WebCore: 

Top-left is currently the first line top-left which is not always correct.

* WebCore.exp.in:
* rendering/RenderText.cpp:
(WebCore::RenderText::firstRunLocation):
(WebCore::RenderText::firstRunOrigin): Deleted.
(WebCore::RenderText::firstRunX): Deleted.
(WebCore::RenderText::firstRunY): Deleted.
        
    Keep just one accessor and rename it.
    Encapsulate the line box and simple line versions.

* rendering/RenderText.h:
* rendering/RenderTextLineBoxes.cpp:
(WebCore::RenderTextLineBoxes::firstRunLocation):

    Line box version.

* rendering/RenderTextLineBoxes.h:
* rendering/RenderTreeAsText.cpp:
        
    Simplify RenderText dumping.

(WebCore::RenderTreeAsText::writeRenderObject):
* rendering/SimpleLineLayoutFunctions.cpp:
(WebCore::SimpleLineLayout::computeTextBoundingBox):
        
    Return the correct x position.

(WebCore::SimpleLineLayout::computeTextFirstRunLocation):
        
    Simple line version.

* rendering/SimpleLineLayoutFunctions.h:
* rendering/svg/SVGRenderTreeAsText.cpp:
(WebCore::writeSVGInlineText):

LayoutTests: 
        
Some dumped RenderText sizes change in table related test. These are progressions,
the new results match the contained lines. There are no visual changes.

* platform/mac/fast/table/dynamic-caption-add-remove-before-child-expected.txt:
* platform/mac/fast/table/multiple-captions-display-expected.txt:
* platform/mac/tables/mozilla/marvin/body_col-expected.txt:
* platform/mac/tables/mozilla/marvin/x_th_valign_baseline-expected.txt:
* platform/mac/tables/mozilla/other/body_col-expected.txt:
* platform/mac/tables/mozilla_expected_failures/bugs/bug10140-expected.txt:
* platform/mac/tables/mozilla_expected_failures/bugs/bug10216-expected.txt:
* platform/mac/tables/mozilla_expected_failures/core/captions3-expected.txt:
* platform/mac/tables/mozilla_expected_failures/other/test4-expected.txt:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsplatformmacfastrepaintreflectionredrawexpectedtxt">trunk/LayoutTests/platform/mac/fast/repaint/reflection-redraw-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacfasttabledynamiccaptionaddremovebeforechildexpectedtxt">trunk/LayoutTests/platform/mac/fast/table/dynamic-caption-add-remove-before-child-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacfasttablemultiplecaptionsdisplayexpectedtxt">trunk/LayoutTests/platform/mac/fast/table/multiple-captions-display-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmactablesmozillamarvinbody_colexpectedtxt">trunk/LayoutTests/platform/mac/tables/mozilla/marvin/body_col-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmactablesmozillamarvinx_th_valign_baselineexpectedtxt">trunk/LayoutTests/platform/mac/tables/mozilla/marvin/x_th_valign_baseline-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmactablesmozillaotherbody_colexpectedtxt">trunk/LayoutTests/platform/mac/tables/mozilla/other/body_col-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmactablesmozilla_expected_failuresbugsbug10140expectedtxt">trunk/LayoutTests/platform/mac/tables/mozilla_expected_failures/bugs/bug10140-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmactablesmozilla_expected_failuresbugsbug10216expectedtxt">trunk/LayoutTests/platform/mac/tables/mozilla_expected_failures/bugs/bug10216-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmactablesmozilla_expected_failurescorecaptions3expectedtxt">trunk/LayoutTests/platform/mac/tables/mozilla_expected_failures/core/captions3-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmactablesmozilla_expected_failuresothertest4expectedtxt">trunk/LayoutTests/platform/mac/tables/mozilla_expected_failures/other/test4-expected.txt</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreWebCoreexpin">trunk/Source/WebCore/WebCore.exp.in</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderTextcpp">trunk/Source/WebCore/rendering/RenderText.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderTexth">trunk/Source/WebCore/rendering/RenderText.h</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderTextLineBoxescpp">trunk/Source/WebCore/rendering/RenderTextLineBoxes.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderTextLineBoxesh">trunk/Source/WebCore/rendering/RenderTextLineBoxes.h</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderTreeAsTextcpp">trunk/Source/WebCore/rendering/RenderTreeAsText.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingSimpleLineLayoutFunctionscpp">trunk/Source/WebCore/rendering/SimpleLineLayoutFunctions.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingSimpleLineLayoutFunctionsh">trunk/Source/WebCore/rendering/SimpleLineLayoutFunctions.h</a></li>
<li><a href="#trunkSourceWebCorerenderingsvgSVGRenderTreeAsTextcpp">trunk/Source/WebCore/rendering/svg/SVGRenderTreeAsText.cpp</a></li>
<li><a href="#trunkSourceWebKitmacWebViewWebRenderNodemm">trunk/Source/WebKit/mac/WebView/WebRenderNode.mm</a></li>
<li><a href="#trunkSourceWebKit2SharedWebRenderObjectcpp">trunk/Source/WebKit2/Shared/WebRenderObject.cpp</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (167567 => 167568)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2014-04-20 17:40:40 UTC (rev 167567)
+++ trunk/LayoutTests/ChangeLog        2014-04-20 17:43:54 UTC (rev 167568)
</span><span class="lines">@@ -1,3 +1,23 @@
</span><ins>+2014-04-20  Antti Koivisto  &lt;antti@apple.com&gt;
+
+        Text bounding box computation for simple line layout is wrong
+        https://bugs.webkit.org/show_bug.cgi?id=131912
+
+        Reviewed by Andreas Kling.
+        
+        Some dumped RenderText sizes change in table related test. These are progressions,
+        the new results match the contained lines. There are no visual changes.
+
+        * platform/mac/fast/table/dynamic-caption-add-remove-before-child-expected.txt:
+        * platform/mac/fast/table/multiple-captions-display-expected.txt:
+        * platform/mac/tables/mozilla/marvin/body_col-expected.txt:
+        * platform/mac/tables/mozilla/marvin/x_th_valign_baseline-expected.txt:
+        * platform/mac/tables/mozilla/other/body_col-expected.txt:
+        * platform/mac/tables/mozilla_expected_failures/bugs/bug10140-expected.txt:
+        * platform/mac/tables/mozilla_expected_failures/bugs/bug10216-expected.txt:
+        * platform/mac/tables/mozilla_expected_failures/core/captions3-expected.txt:
+        * platform/mac/tables/mozilla_expected_failures/other/test4-expected.txt:
+
</ins><span class="cx"> 2014-04-20  Commit Queue  &lt;commit-queue@webkit.org&gt;
</span><span class="cx"> 
</span><span class="cx">         Unreviewed, rolling out r167501.
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacfastrepaintreflectionredrawexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/fast/repaint/reflection-redraw-expected.txt (167567 => 167568)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/fast/repaint/reflection-redraw-expected.txt        2014-04-20 17:40:40 UTC (rev 167567)
+++ trunk/LayoutTests/platform/mac/fast/repaint/reflection-redraw-expected.txt        2014-04-20 17:43:54 UTC (rev 167568)
</span><span class="lines">@@ -7,28 +7,28 @@
</span><span class="cx"> layer at (293,130) size 150x100
</span><span class="cx">   RenderBlock (positioned) {DIV} at (285,10) size 150x100 [bgcolor=#808080] [border: (1px solid #000000)]
</span><span class="cx">     RenderBlock {P} at (11,27) size 128x54 [color=#008000]
</span><del>-      RenderText {#text} at (12,0) size 125x54
</del><ins>+      RenderText {#text} at (12,0) size 126x54
</ins><span class="cx">         text run at (12,0) width 104: &quot;The color of this&quot;
</span><span class="cx">         text run at (1,18) width 126: &quot;text in the reflection&quot;
</span><span class="cx">         text run at (14,36) width 100: &quot;should be green&quot;
</span><span class="cx"> layer at (218,240) size 150x100
</span><span class="cx">   RenderBlock (positioned) {DIV} at (210,120) size 150x100 [bgcolor=#808080] [border: (1px solid #000000)]
</span><span class="cx">     RenderBlock {P} at (11,27) size 128x54 [color=#008000]
</span><del>-      RenderText {#text} at (12,0) size 125x54
</del><ins>+      RenderText {#text} at (12,0) size 126x54
</ins><span class="cx">         text run at (12,0) width 104: &quot;The color of this&quot;
</span><span class="cx">         text run at (1,18) width 126: &quot;text in the reflection&quot;
</span><span class="cx">         text run at (14,36) width 100: &quot;should be green&quot;
</span><span class="cx"> layer at (368,240) size 150x100
</span><span class="cx">   RenderBlock (positioned) {DIV} at (360,120) size 150x100 [bgcolor=#808080] [border: (1px solid #000000)]
</span><span class="cx">     RenderBlock {P} at (11,27) size 128x54 [color=#008000]
</span><del>-      RenderText {#text} at (12,0) size 125x54
</del><ins>+      RenderText {#text} at (12,0) size 126x54
</ins><span class="cx">         text run at (12,0) width 104: &quot;The color of this&quot;
</span><span class="cx">         text run at (1,18) width 126: &quot;text in the reflection&quot;
</span><span class="cx">         text run at (14,36) width 100: &quot;should be green&quot;
</span><span class="cx"> layer at (293,350) size 150x100
</span><span class="cx">   RenderBlock (positioned) {DIV} at (285,230) size 150x100 [bgcolor=#808080] [border: (1px solid #000000)]
</span><span class="cx">     RenderBlock {P} at (11,27) size 128x54 [color=#008000]
</span><del>-      RenderText {#text} at (12,0) size 125x54
</del><ins>+      RenderText {#text} at (12,0) size 126x54
</ins><span class="cx">         text run at (12,0) width 104: &quot;The color of this&quot;
</span><span class="cx">         text run at (1,18) width 126: &quot;text in the reflection&quot;
</span><span class="cx">         text run at (14,36) width 100: &quot;should be green&quot;
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacfasttabledynamiccaptionaddremovebeforechildexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/fast/table/dynamic-caption-add-remove-before-child-expected.txt (167567 => 167568)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/fast/table/dynamic-caption-add-remove-before-child-expected.txt        2014-04-20 17:40:40 UTC (rev 167567)
+++ trunk/LayoutTests/platform/mac/fast/table/dynamic-caption-add-remove-before-child-expected.txt        2014-04-20 17:43:54 UTC (rev 167568)
</span><span class="lines">@@ -5,7 +5,7 @@
</span><span class="cx">     RenderBody {body} at (8,8) size 784x72
</span><span class="cx">       RenderTable {table} at (0,0) size 46x72
</span><span class="cx">         RenderBlock {caption} at (0,0) size 46x72
</span><del>-          RenderText {#text} at (1,0) size 47x72
</del><ins>+          RenderText {#text} at (1,0) size 46x72
</ins><span class="cx">             text run at (1,0) width 44: &quot;PASS:&quot;
</span><span class="cx">             text run at (0,18) width 46: &quot;Text in&quot;
</span><span class="cx">             text run at (0,36) width 46: &quot;caption&quot;
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacfasttablemultiplecaptionsdisplayexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/fast/table/multiple-captions-display-expected.txt (167567 => 167568)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/fast/table/multiple-captions-display-expected.txt        2014-04-20 17:40:40 UTC (rev 167567)
+++ trunk/LayoutTests/platform/mac/fast/table/multiple-captions-display-expected.txt        2014-04-20 17:43:54 UTC (rev 167568)
</span><span class="lines">@@ -36,7 +36,7 @@
</span><span class="cx">         RenderBlock {caption} at (0,126) size 126x0
</span><span class="cx"> layer at (8,218) size 126x54
</span><span class="cx">   RenderBlock {caption} at (0,210) size 126x54
</span><del>-    RenderText {#text} at (25,0) size 117x54
</del><ins>+    RenderText {#text} at (25,0) size 116x54
</ins><span class="cx">       text run at (25,0) width 76: &quot;PASS: First&quot;
</span><span class="cx">       text run at (5,18) width 116: &quot;Caption aligned to&quot;
</span><span class="cx">       text run at (29,36) width 68: &quot;the bottom&quot;
</span><span class="lines">@@ -46,7 +46,7 @@
</span><span class="cx">       text run at (0,0) width 230: &quot;PASS: Caption with a fixed position&quot;
</span><span class="cx"> layer at (8,8) size 126x36
</span><span class="cx">   RenderBlock {caption} at (0,0) size 126x36
</span><del>-    RenderText {#text} at (14,0) size 103x36
</del><ins>+    RenderText {#text} at (14,0) size 102x36
</ins><span class="cx">       text run at (14,0) width 98: &quot;PASS: Caption&quot;
</span><span class="cx">       text run at (12,18) width 102: &quot;with opacity 0.7&quot;
</span><span class="cx"> layer at (10,196) size 331x18
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmactablesmozillamarvinbody_colexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/tables/mozilla/marvin/body_col-expected.txt (167567 => 167568)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/tables/mozilla/marvin/body_col-expected.txt        2014-04-20 17:40:40 UTC (rev 167567)
+++ trunk/LayoutTests/platform/mac/tables/mozilla/marvin/body_col-expected.txt        2014-04-20 17:43:54 UTC (rev 167568)
</span><span class="lines">@@ -10,7 +10,7 @@
</span><span class="cx">         RenderTableSection {TBODY} at (2,2) size 155x152
</span><span class="cx">           RenderTableRow {TR} at (0,2) size 155x40
</span><span class="cx">             RenderTableCell {TH} at (2,2) size 49x40 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
</span><del>-              RenderText {#text} at (15,2) size 36x36
</del><ins>+              RenderText {#text} at (15,2) size 37x36
</ins><span class="cx">                 text run at (15,2) width 19: &quot;La&quot;
</span><span class="cx">                 text run at (6,20) width 37: &quot;Mesa&quot;
</span><span class="cx">             RenderTableCell {TD} at (53,11) size 100x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
</span><span class="lines">@@ -18,7 +18,7 @@
</span><span class="cx">                 text run at (2,2) width 12: &quot;X&quot;
</span><span class="cx">           RenderTableRow {TR} at (0,44) size 155x40
</span><span class="cx">             RenderTableCell {TH} at (2,44) size 49x40 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
</span><del>-              RenderText {#text} at (17,2) size 42x36
</del><ins>+              RenderText {#text} at (17,2) size 43x36
</ins><span class="cx">                 text run at (17,2) width 15: &quot;El&quot;
</span><span class="cx">                 text run at (3,20) width 43: &quot;Cajon&quot;
</span><span class="cx">             RenderTableCell {TD} at (53,53) size 100x22 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmactablesmozillamarvinx_th_valign_baselineexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/tables/mozilla/marvin/x_th_valign_baseline-expected.txt (167567 => 167568)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/tables/mozilla/marvin/x_th_valign_baseline-expected.txt        2014-04-20 17:40:40 UTC (rev 167567)
+++ trunk/LayoutTests/platform/mac/tables/mozilla/marvin/x_th_valign_baseline-expected.txt        2014-04-20 17:43:54 UTC (rev 167568)
</span><span class="lines">@@ -10,7 +10,7 @@
</span><span class="cx">         RenderTableSection (anonymous) at (1,1) size 782x238
</span><span class="cx">           RenderTableRow {tr} at (0,2) size 782x234
</span><span class="cx">             RenderTableCell {th} at (2,24) size 214x94 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
</span><del>-              RenderText {#text} at (12,2) size 207x90
</del><ins>+              RenderText {#text} at (12,2) size 206x90
</ins><span class="cx">                 text run at (12,2) width 190: &quot;Compare the baseline of the&quot;
</span><span class="cx">                 text run at (4,20) width 76: &quot;first line of &quot;
</span><span class="cx">                 text run at (80,20) width 130: &quot;text in this cell with&quot;
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmactablesmozillaotherbody_colexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/tables/mozilla/other/body_col-expected.txt (167567 => 167568)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/tables/mozilla/other/body_col-expected.txt        2014-04-20 17:40:40 UTC (rev 167567)
+++ trunk/LayoutTests/platform/mac/tables/mozilla/other/body_col-expected.txt        2014-04-20 17:43:54 UTC (rev 167568)
</span><span class="lines">@@ -10,7 +10,7 @@
</span><span class="cx">         RenderTableSection {TBODY} at (2,2) size 155x152
</span><span class="cx">           RenderTableRow {TR} at (0,2) size 155x40
</span><span class="cx">             RenderTableCell {TH} at (2,2) size 49x40 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
</span><del>-              RenderText {#text} at (15,2) size 36x36
</del><ins>+              RenderText {#text} at (15,2) size 37x36
</ins><span class="cx">                 text run at (15,2) width 19: &quot;La&quot;
</span><span class="cx">                 text run at (6,20) width 37: &quot;Mesa&quot;
</span><span class="cx">             RenderTableCell {TD} at (53,11) size 100x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
</span><span class="lines">@@ -18,7 +18,7 @@
</span><span class="cx">                 text run at (2,2) width 12: &quot;X&quot;
</span><span class="cx">           RenderTableRow {TR} at (0,44) size 155x40
</span><span class="cx">             RenderTableCell {TH} at (2,44) size 49x40 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
</span><del>-              RenderText {#text} at (17,2) size 42x36
</del><ins>+              RenderText {#text} at (17,2) size 43x36
</ins><span class="cx">                 text run at (17,2) width 15: &quot;El&quot;
</span><span class="cx">                 text run at (3,20) width 43: &quot;Cajon&quot;
</span><span class="cx">             RenderTableCell {TD} at (53,53) size 100x22 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmactablesmozilla_expected_failuresbugsbug10140expectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/tables/mozilla_expected_failures/bugs/bug10140-expected.txt (167567 => 167568)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/tables/mozilla_expected_failures/bugs/bug10140-expected.txt        2014-04-20 17:40:40 UTC (rev 167567)
+++ trunk/LayoutTests/platform/mac/tables/mozilla_expected_failures/bugs/bug10140-expected.txt        2014-04-20 17:43:54 UTC (rev 167568)
</span><span class="lines">@@ -185,7 +185,7 @@
</span><span class="cx">                 text run at (1,1) width 30: &quot;Data&quot;
</span><span class="cx">       RenderTable {TABLE} at (0,1196) size 90x127 [border: (10px solid #008000)]
</span><span class="cx">         RenderBlock {CAPTION} at (20,0) size 70x60 [border: (3px solid #800080)]
</span><del>-          RenderText {#text} at (22,3) size 51x54
</del><ins>+          RenderText {#text} at (22,3) size 50x54
</ins><span class="cx">             text run at (22,3) width 26: &quot;The&quot;
</span><span class="cx">             text run at (15,21) width 40: &quot;table's&quot;
</span><span class="cx">             text run at (10,39) width 50: &quot;caption.&quot;
</span><span class="lines">@@ -206,7 +206,7 @@
</span><span class="cx">                 text run at (1,1) width 30: &quot;Data&quot;
</span><span class="cx">       RenderTable {TABLE} at (0,1322) size 90x127 [border: (10px solid #008000)]
</span><span class="cx">         RenderBlock {CAPTION} at (20,0) size 70x60 [border: (3px solid #800080)]
</span><del>-          RenderText {#text} at (22,3) size 51x54
</del><ins>+          RenderText {#text} at (22,3) size 50x54
</ins><span class="cx">             text run at (22,3) width 26: &quot;The&quot;
</span><span class="cx">             text run at (15,21) width 40: &quot;table's&quot;
</span><span class="cx">             text run at (10,39) width 50: &quot;caption.&quot;
</span><span class="lines">@@ -355,7 +355,7 @@
</span><span class="cx">                 text run at (1,1) width 30: &quot;Data&quot;
</span><span class="cx">       RenderTable {TABLE} at (0,2290) size 90x127 [border: (10px solid #008000)]
</span><span class="cx">         RenderBlock {CAPTION} at (0,0) size 70x60 [border: (3px solid #800080)]
</span><del>-          RenderText {#text} at (22,3) size 51x54
</del><ins>+          RenderText {#text} at (22,3) size 50x54
</ins><span class="cx">             text run at (22,3) width 26: &quot;The&quot;
</span><span class="cx">             text run at (15,21) width 40: &quot;table's&quot;
</span><span class="cx">             text run at (10,39) width 50: &quot;caption.&quot;
</span><span class="lines">@@ -376,7 +376,7 @@
</span><span class="cx">                 text run at (1,1) width 30: &quot;Data&quot;
</span><span class="cx">       RenderTable {TABLE} at (15,2416) size 90x127 [border: (10px solid #008000)]
</span><span class="cx">         RenderBlock {CAPTION} at (0,0) size 70x60 [border: (3px solid #800080)]
</span><del>-          RenderText {#text} at (22,3) size 51x54
</del><ins>+          RenderText {#text} at (22,3) size 50x54
</ins><span class="cx">             text run at (22,3) width 26: &quot;The&quot;
</span><span class="cx">             text run at (15,21) width 40: &quot;table's&quot;
</span><span class="cx">             text run at (10,39) width 50: &quot;caption.&quot;
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmactablesmozilla_expected_failuresbugsbug10216expectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/tables/mozilla_expected_failures/bugs/bug10216-expected.txt (167567 => 167568)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/tables/mozilla_expected_failures/bugs/bug10216-expected.txt        2014-04-20 17:40:40 UTC (rev 167567)
+++ trunk/LayoutTests/platform/mac/tables/mozilla_expected_failures/bugs/bug10216-expected.txt        2014-04-20 17:43:54 UTC (rev 167568)
</span><span class="lines">@@ -97,7 +97,7 @@
</span><span class="cx">                 text run at (2,2) width 30: &quot;Data&quot;
</span><span class="cx">       RenderTable {TABLE} at (0,572) size 87x107 [border: (1px outset #808080)]
</span><span class="cx">         RenderBlock {CAPTION} at (0,0) size 87x54
</span><del>-          RenderText {#text} at (9,0) size 88x54
</del><ins>+          RenderText {#text} at (9,0) size 87x54
</ins><span class="cx">             text run at (9,0) width 69: &quot;The table's&quot;
</span><span class="cx">             text run at (2,18) width 83: &quot;caption, with&quot;
</span><span class="cx">             text run at (0,36) width 87: &quot;align=\&quot;right\&quot;.&quot;
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmactablesmozilla_expected_failurescorecaptions3expectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/tables/mozilla_expected_failures/core/captions3-expected.txt (167567 => 167568)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/tables/mozilla_expected_failures/core/captions3-expected.txt        2014-04-20 17:40:40 UTC (rev 167567)
+++ trunk/LayoutTests/platform/mac/tables/mozilla_expected_failures/core/captions3-expected.txt        2014-04-20 17:43:54 UTC (rev 167568)
</span><span class="lines">@@ -185,7 +185,7 @@
</span><span class="cx">                 text run at (1,1) width 30: &quot;Data&quot;
</span><span class="cx">       RenderTable {TABLE} at (0,1196) size 90x127 [border: (10px solid #008000)]
</span><span class="cx">         RenderBlock {CAPTION} at (20,0) size 70x60 [border: (3px solid #800080)]
</span><del>-          RenderText {#text} at (22,3) size 51x54
</del><ins>+          RenderText {#text} at (22,3) size 50x54
</ins><span class="cx">             text run at (22,3) width 26: &quot;The&quot;
</span><span class="cx">             text run at (15,21) width 40: &quot;table's&quot;
</span><span class="cx">             text run at (10,39) width 50: &quot;caption.&quot;
</span><span class="lines">@@ -206,7 +206,7 @@
</span><span class="cx">                 text run at (1,1) width 30: &quot;Data&quot;
</span><span class="cx">       RenderTable {TABLE} at (0,1322) size 90x127 [border: (10px solid #008000)]
</span><span class="cx">         RenderBlock {CAPTION} at (20,0) size 70x60 [border: (3px solid #800080)]
</span><del>-          RenderText {#text} at (22,3) size 51x54
</del><ins>+          RenderText {#text} at (22,3) size 50x54
</ins><span class="cx">             text run at (22,3) width 26: &quot;The&quot;
</span><span class="cx">             text run at (15,21) width 40: &quot;table's&quot;
</span><span class="cx">             text run at (10,39) width 50: &quot;caption.&quot;
</span><span class="lines">@@ -355,7 +355,7 @@
</span><span class="cx">                 text run at (1,1) width 30: &quot;Data&quot;
</span><span class="cx">       RenderTable {TABLE} at (0,2290) size 90x127 [border: (10px solid #008000)]
</span><span class="cx">         RenderBlock {CAPTION} at (0,0) size 70x60 [border: (3px solid #800080)]
</span><del>-          RenderText {#text} at (22,3) size 51x54
</del><ins>+          RenderText {#text} at (22,3) size 50x54
</ins><span class="cx">             text run at (22,3) width 26: &quot;The&quot;
</span><span class="cx">             text run at (15,21) width 40: &quot;table's&quot;
</span><span class="cx">             text run at (10,39) width 50: &quot;caption.&quot;
</span><span class="lines">@@ -376,7 +376,7 @@
</span><span class="cx">                 text run at (1,1) width 30: &quot;Data&quot;
</span><span class="cx">       RenderTable {TABLE} at (15,2416) size 90x127 [border: (10px solid #008000)]
</span><span class="cx">         RenderBlock {CAPTION} at (0,0) size 70x60 [border: (3px solid #800080)]
</span><del>-          RenderText {#text} at (22,3) size 51x54
</del><ins>+          RenderText {#text} at (22,3) size 50x54
</ins><span class="cx">             text run at (22,3) width 26: &quot;The&quot;
</span><span class="cx">             text run at (15,21) width 40: &quot;table's&quot;
</span><span class="cx">             text run at (10,39) width 50: &quot;caption.&quot;
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmactablesmozilla_expected_failuresothertest4expectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/tables/mozilla_expected_failures/other/test4-expected.txt (167567 => 167568)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/tables/mozilla_expected_failures/other/test4-expected.txt        2014-04-20 17:40:40 UTC (rev 167567)
+++ trunk/LayoutTests/platform/mac/tables/mozilla_expected_failures/other/test4-expected.txt        2014-04-20 17:43:54 UTC (rev 167568)
</span><span class="lines">@@ -141,7 +141,7 @@
</span><span class="cx">           text run at (0,18) width 4: &quot; &quot;
</span><span class="cx">       RenderTable {TABLE} at (0,602) size 252x175 [border: (1px none #808080)]
</span><span class="cx">         RenderBlock {CAPTION} at (0,120) size 252x54
</span><del>-          RenderText {#text} at (11,0) size 239x54
</del><ins>+          RenderText {#text} at (11,0) size 240x54
</ins><span class="cx">             text run at (11,0) width 230: &quot;Table 4 has this bottom caption. The&quot;
</span><span class="cx">             text run at (6,18) width 240: &quot;table has specified column widths and&quot;
</span><span class="cx">             text run at (66,36) width 120: &quot;collapsing borders.&quot;
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (167567 => 167568)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2014-04-20 17:40:40 UTC (rev 167567)
+++ trunk/Source/WebCore/ChangeLog        2014-04-20 17:43:54 UTC (rev 167568)
</span><span class="lines">@@ -1,3 +1,47 @@
</span><ins>+2014-04-20  Antti Koivisto  &lt;antti@apple.com&gt;
+
+        Text bounding box computation for simple line layout is wrong
+        https://bugs.webkit.org/show_bug.cgi?id=131912
+
+        Reviewed by Andreas Kling.
+
+        Top-left is currently the first line top-left which is not always correct.
+
+        * WebCore.exp.in:
+        * rendering/RenderText.cpp:
+        (WebCore::RenderText::firstRunLocation):
+        (WebCore::RenderText::firstRunOrigin): Deleted.
+        (WebCore::RenderText::firstRunX): Deleted.
+        (WebCore::RenderText::firstRunY): Deleted.
+        
+            Keep just one accessor and rename it.
+            Encapsulate the line box and simple line versions.
+
+        * rendering/RenderText.h:
+        * rendering/RenderTextLineBoxes.cpp:
+        (WebCore::RenderTextLineBoxes::firstRunLocation):
+
+            Line box version.
+
+        * rendering/RenderTextLineBoxes.h:
+        * rendering/RenderTreeAsText.cpp:
+        
+            Simplify RenderText dumping.
+
+        (WebCore::RenderTreeAsText::writeRenderObject):
+        * rendering/SimpleLineLayoutFunctions.cpp:
+        (WebCore::SimpleLineLayout::computeTextBoundingBox):
+        
+            Return the correct x position.
+
+        (WebCore::SimpleLineLayout::computeTextFirstRunLocation):
+        
+            Simple line version.
+
+        * rendering/SimpleLineLayoutFunctions.h:
+        * rendering/svg/SVGRenderTreeAsText.cpp:
+        (WebCore::writeSVGInlineText):
+
</ins><span class="cx"> 2014-04-19  Zalan Bujtas  &lt;zalan@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Subpixel rendering: RenderLayer's clipping should snap to device pixel boundaries.
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCoreexpin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.exp.in (167567 => 167568)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.exp.in        2014-04-20 17:40:40 UTC (rev 167567)
+++ trunk/Source/WebCore/WebCore.exp.in        2014-04-20 17:43:54 UTC (rev 167568)
</span><span class="lines">@@ -1479,9 +1479,8 @@
</span><span class="cx"> __ZNK7WebCore10FloatPointcv7CGPointEv
</span><span class="cx"> __ZNK7WebCore10FontGlyphs17realizeFontDataAtERKNS_15FontDescriptionEj
</span><span class="cx"> __ZNK7WebCore10PluginData16supportsMimeTypeERKN3WTF6StringENS0_18AllowedPluginTypesE
</span><ins>+__ZNK7WebCore10RenderText16firstRunLocationEv
</ins><span class="cx"> __ZNK7WebCore10RenderText16linesBoundingBoxEv
</span><del>-__ZNK7WebCore10RenderText9firstRunXEv
-__ZNK7WebCore10RenderText9firstRunYEv
</del><span class="cx"> __ZNK7WebCore10RenderView12documentRectEv
</span><span class="cx"> __ZNK7WebCore10RenderView20unscaledDocumentRectEv
</span><span class="cx"> __ZNK7WebCore10ScrollView12contentsSizeEv
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderTextcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderText.cpp (167567 => 167568)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderText.cpp        2014-04-20 17:40:40 UTC (rev 167567)
+++ trunk/Source/WebCore/rendering/RenderText.cpp        2014-04-20 17:43:54 UTC (rev 167568)
</span><span class="lines">@@ -937,21 +937,14 @@
</span><span class="cx">     return currPos &gt;= (from + len);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-FloatPoint RenderText::firstRunOrigin() const
</del><ins>+IntPoint RenderText::firstRunLocation() const
</ins><span class="cx"> {
</span><del>-    return IntPoint(firstRunX(), firstRunY());
-}
</del><ins>+    if (auto* layout = simpleLineLayout())
+        return SimpleLineLayout::computeTextFirstRunLocation(*this, *layout);
</ins><span class="cx"> 
</span><del>-float RenderText::firstRunX() const
-{
-    return firstTextBox() ? firstTextBox()-&gt;x() : 0;
</del><ins>+    return m_lineBoxes.firstRunLocation();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-float RenderText::firstRunY() const
-{
-    return firstTextBox() ? firstTextBox()-&gt;y() : 0;
-}
-    
</del><span class="cx"> void RenderText::setSelectionState(SelectionState state)
</span><span class="cx"> {
</span><span class="cx">     if (state != SelectionNone)
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderTexth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderText.h (167567 => 167568)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderText.h        2014-04-20 17:40:40 UTC (rev 167567)
+++ trunk/Source/WebCore/rendering/RenderText.h        2014-04-20 17:43:54 UTC (rev 167568)
</span><span class="lines">@@ -99,9 +99,7 @@
</span><span class="cx">     virtual IntRect linesBoundingBox() const;
</span><span class="cx">     LayoutRect linesVisualOverflowBoundingBox() const;
</span><span class="cx"> 
</span><del>-    FloatPoint firstRunOrigin() const;
-    float firstRunX() const;
-    float firstRunY() const;
</del><ins>+    IntPoint firstRunLocation() const;
</ins><span class="cx"> 
</span><span class="cx">     virtual void setText(const String&amp;, bool force = false);
</span><span class="cx">     void setTextWithOffset(const String&amp;, unsigned offset, unsigned len, bool force = false);
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderTextLineBoxescpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderTextLineBoxes.cpp (167567 => 167568)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderTextLineBoxes.cpp        2014-04-20 17:40:40 UTC (rev 167567)
+++ trunk/Source/WebCore/rendering/RenderTextLineBoxes.cpp        2014-04-20 17:43:54 UTC (rev 167568)
</span><span class="lines">@@ -169,6 +169,13 @@
</span><span class="cx">     return enclosingIntRect(FloatRect(x, y, width, height));
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+IntPoint RenderTextLineBoxes::firstRunLocation() const
+{
+    if (!m_first)
+        return IntPoint();
+    return IntPoint(m_first-&gt;topLeft());
+}
+
</ins><span class="cx"> LayoutRect RenderTextLineBoxes::visualOverflowBoundingBox(const RenderText&amp; renderer) const
</span><span class="cx"> {
</span><span class="cx">     if (!m_first)
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderTextLineBoxesh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderTextLineBoxes.h (167567 => 167568)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderTextLineBoxes.h        2014-04-20 17:40:40 UTC (rev 167567)
+++ trunk/Source/WebCore/rendering/RenderTextLineBoxes.h        2014-04-20 17:43:54 UTC (rev 167568)
</span><span class="lines">@@ -70,6 +70,7 @@
</span><span class="cx">     LayoutRect selectionRectForRange(unsigned start, unsigned end);
</span><span class="cx"> 
</span><span class="cx">     IntRect boundingBox(const RenderText&amp;) const;
</span><ins>+    IntPoint firstRunLocation() const;
</ins><span class="cx">     LayoutRect visualOverflowBoundingBox(const RenderText&amp;) const;
</span><span class="cx"> 
</span><span class="cx">     Vector&lt;IntRect&gt; absoluteRects(const LayoutPoint&amp; accumulatedOffset) const;
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderTreeAsTextcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderTreeAsText.cpp (167567 => 167568)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderTreeAsText.cpp        2014-04-20 17:40:40 UTC (rev 167567)
+++ trunk/Source/WebCore/rendering/RenderTreeAsText.cpp        2014-04-20 17:43:54 UTC (rev 167568)
</span><span class="lines">@@ -200,15 +200,8 @@
</span><span class="cx">         // FIXME: Would be better to dump the bounding box x and y rather than the first run's x and y, but that would involve updating
</span><span class="cx">         // many test results.
</span><span class="cx">         const RenderText&amp; text = toRenderText(o);
</span><del>-        IntRect linesBox = text.linesBoundingBox();
-        if (text.simpleLineLayout()) {
-            int y = linesBox.y();
-            if (text.containingBlock()-&gt;isTableCell())
-                y -= toRenderTableCell(o.containingBlock())-&gt;intrinsicPaddingBefore();
-            r = IntRect(linesBox.x(), y, linesBox.width(), linesBox.height());
-        } else
-            r = IntRect(text.firstRunX(), text.firstRunY(), linesBox.width(), linesBox.height());
-        if (adjustForTableCells &amp;&amp; !text.firstTextBox())
</del><ins>+        r = IntRect(text.firstRunLocation(), text.linesBoundingBox().size());
+        if (!text.firstTextBox() &amp;&amp; !text.simpleLineLayout())
</ins><span class="cx">             adjustForTableCells = false;
</span><span class="cx">     } else if (o.isBR()) {
</span><span class="cx">         const RenderLineBreak&amp; br = toRenderLineBreak(o);
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingSimpleLineLayoutFunctionscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/SimpleLineLayoutFunctions.cpp (167567 => 167568)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/SimpleLineLayoutFunctions.cpp        2014-04-20 17:40:40 UTC (rev 167567)
+++ trunk/Source/WebCore/rendering/SimpleLineLayoutFunctions.cpp        2014-04-20 17:43:54 UTC (rev 167568)
</span><span class="lines">@@ -160,13 +160,22 @@
</span><span class="cx">         if (rect.maxY() &gt; bottom)
</span><span class="cx">             bottom = rect.maxY();
</span><span class="cx">     }
</span><del>-    float x = firstLineRect.x();
</del><ins>+    float x = left;
</ins><span class="cx">     float y = firstLineRect.y();
</span><span class="cx">     float width = right - left;
</span><span class="cx">     float height = bottom - y;
</span><span class="cx">     return enclosingIntRect(FloatRect(x, y, width, height));
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+IntPoint computeTextFirstRunLocation(const RenderText&amp; textRenderer, const Layout&amp; layout)
+{
+    auto resolver = runResolver(toRenderBlockFlow(*textRenderer.parent()), layout);
+    auto begin = resolver.begin();
+    if (begin == resolver.end())
+        return IntPoint();
+    return flooredIntPoint((*begin).rect().location());
+}
+
</ins><span class="cx"> Vector&lt;IntRect&gt; collectTextAbsoluteRects(const RenderText&amp; textRenderer, const Layout&amp; layout, const LayoutPoint&amp; accumulatedOffset)
</span><span class="cx"> {
</span><span class="cx">     Vector&lt;IntRect&gt; rects;
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingSimpleLineLayoutFunctionsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/SimpleLineLayoutFunctions.h (167567 => 167568)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/SimpleLineLayoutFunctions.h        2014-04-20 17:40:40 UTC (rev 167567)
+++ trunk/Source/WebCore/rendering/SimpleLineLayoutFunctions.h        2014-04-20 17:43:54 UTC (rev 167568)
</span><span class="lines">@@ -55,6 +55,7 @@
</span><span class="cx"> unsigned findTextCaretMinimumOffset(const RenderText&amp;, const Layout&amp;);
</span><span class="cx"> unsigned findTextCaretMaximumOffset(const RenderText&amp;, const Layout&amp;);
</span><span class="cx"> IntRect computeTextBoundingBox(const RenderText&amp;, const Layout&amp;);
</span><ins>+IntPoint computeTextFirstRunLocation(const RenderText&amp;, const Layout&amp;);
</ins><span class="cx"> 
</span><span class="cx"> Vector&lt;IntRect&gt; collectTextAbsoluteRects(const RenderText&amp;, const Layout&amp;, const LayoutPoint&amp; accumulatedOffset);
</span><span class="cx"> Vector&lt;FloatQuad&gt; collectTextAbsoluteQuads(const RenderText&amp;, const Layout&amp;, bool* wasFixed);
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingsvgSVGRenderTreeAsTextcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/svg/SVGRenderTreeAsText.cpp (167567 => 167568)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/svg/SVGRenderTreeAsText.cpp        2014-04-20 17:40:40 UTC (rev 167567)
+++ trunk/Source/WebCore/rendering/svg/SVGRenderTreeAsText.cpp        2014-04-20 17:43:54 UTC (rev 167568)
</span><span class="lines">@@ -582,7 +582,7 @@
</span><span class="cx"> void writeSVGInlineText(TextStream&amp; ts, const RenderSVGInlineText&amp; text, int indent)
</span><span class="cx"> {
</span><span class="cx">     writeStandardPrefix(ts, text, indent);
</span><del>-    ts &lt;&lt; &quot; &quot; &lt;&lt; enclosingIntRect(FloatRect(text.firstRunOrigin(), text.floatLinesBoundingBox().size())) &lt;&lt; &quot;\n&quot;;
</del><ins>+    ts &lt;&lt; &quot; &quot; &lt;&lt; enclosingIntRect(FloatRect(text.firstRunLocation(), text.floatLinesBoundingBox().size())) &lt;&lt; &quot;\n&quot;;
</ins><span class="cx">     writeResources(ts, text, indent);
</span><span class="cx">     writeSVGInlineTextBoxes(ts, text, indent);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebKitmacWebViewWebRenderNodemm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/WebView/WebRenderNode.mm (167567 => 167568)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/WebView/WebRenderNode.mm        2014-04-20 17:40:40 UTC (rev 167567)
+++ trunk/Source/WebKit/mac/WebView/WebRenderNode.mm        2014-04-20 17:43:54 UTC (rev 167568)
</span><span class="lines">@@ -114,8 +114,9 @@
</span><span class="cx">     } else if (node-&gt;isText()) {
</span><span class="cx">         // FIXME: Preserve old behavior even though it's strange.
</span><span class="cx">         RenderText* text = toRenderText(node);
</span><del>-        x = text-&gt;firstRunX();
-        y = text-&gt;firstRunY();
</del><ins>+        IntPoint firstRunLocation = text-&gt;firstRunLocation();
+        x = firstRunLocation.x();
+        y = firstRunLocation.y();
</ins><span class="cx">         IntRect box = text-&gt;linesBoundingBox();
</span><span class="cx">         width = box.width();
</span><span class="cx">         height = box.height();
</span></span></pre></div>
<a id="trunkSourceWebKit2SharedWebRenderObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/Shared/WebRenderObject.cpp (167567 => 167568)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Shared/WebRenderObject.cpp        2014-04-20 17:40:40 UTC (rev 167567)
+++ trunk/Source/WebKit2/Shared/WebRenderObject.cpp        2014-04-20 17:43:54 UTC (rev 167568)
</span><span class="lines">@@ -90,8 +90,7 @@
</span><span class="cx">         m_frameRect = toRenderBox(renderer)-&gt;pixelSnappedFrameRect();
</span><span class="cx">     else if (renderer-&gt;isText()) {
</span><span class="cx">         m_frameRect = toRenderText(renderer)-&gt;linesBoundingBox();
</span><del>-        m_frameRect.setX(toRenderText(renderer)-&gt;firstRunX());
-        m_frameRect.setY(toRenderText(renderer)-&gt;firstRunY());
</del><ins>+        m_frameRect.setLocation(toRenderText(renderer)-&gt;firstRunLocation());
</ins><span class="cx">     } else if (renderer-&gt;isRenderInline())
</span><span class="cx">         m_frameRect = toRenderBoxModelObject(renderer)-&gt;borderBoundingBox();
</span><span class="cx"> 
</span></span></pre>
</div>
</div>

</body>
</html>