<!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 <antti@apple.com>
+
+ 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 <commit-queue@webkit.org>
</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: "The color of this"
</span><span class="cx"> text run at (1,18) width 126: "text in the reflection"
</span><span class="cx"> text run at (14,36) width 100: "should be green"
</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: "The color of this"
</span><span class="cx"> text run at (1,18) width 126: "text in the reflection"
</span><span class="cx"> text run at (14,36) width 100: "should be green"
</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: "The color of this"
</span><span class="cx"> text run at (1,18) width 126: "text in the reflection"
</span><span class="cx"> text run at (14,36) width 100: "should be green"
</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: "The color of this"
</span><span class="cx"> text run at (1,18) width 126: "text in the reflection"
</span><span class="cx"> text run at (14,36) width 100: "should be green"
</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: "PASS:"
</span><span class="cx"> text run at (0,18) width 46: "Text in"
</span><span class="cx"> text run at (0,36) width 46: "caption"
</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: "PASS: First"
</span><span class="cx"> text run at (5,18) width 116: "Caption aligned to"
</span><span class="cx"> text run at (29,36) width 68: "the bottom"
</span><span class="lines">@@ -46,7 +46,7 @@
</span><span class="cx"> text run at (0,0) width 230: "PASS: Caption with a fixed position"
</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: "PASS: Caption"
</span><span class="cx"> text run at (12,18) width 102: "with opacity 0.7"
</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: "La"
</span><span class="cx"> text run at (6,20) width 37: "Mesa"
</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: "X"
</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: "El"
</span><span class="cx"> text run at (3,20) width 43: "Cajon"
</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: "Compare the baseline of the"
</span><span class="cx"> text run at (4,20) width 76: "first line of "
</span><span class="cx"> text run at (80,20) width 130: "text in this cell with"
</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: "La"
</span><span class="cx"> text run at (6,20) width 37: "Mesa"
</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: "X"
</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: "El"
</span><span class="cx"> text run at (3,20) width 43: "Cajon"
</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: "Data"
</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: "The"
</span><span class="cx"> text run at (15,21) width 40: "table's"
</span><span class="cx"> text run at (10,39) width 50: "caption."
</span><span class="lines">@@ -206,7 +206,7 @@
</span><span class="cx"> text run at (1,1) width 30: "Data"
</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: "The"
</span><span class="cx"> text run at (15,21) width 40: "table's"
</span><span class="cx"> text run at (10,39) width 50: "caption."
</span><span class="lines">@@ -355,7 +355,7 @@
</span><span class="cx"> text run at (1,1) width 30: "Data"
</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: "The"
</span><span class="cx"> text run at (15,21) width 40: "table's"
</span><span class="cx"> text run at (10,39) width 50: "caption."
</span><span class="lines">@@ -376,7 +376,7 @@
</span><span class="cx"> text run at (1,1) width 30: "Data"
</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: "The"
</span><span class="cx"> text run at (15,21) width 40: "table's"
</span><span class="cx"> text run at (10,39) width 50: "caption."
</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: "Data"
</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: "The table's"
</span><span class="cx"> text run at (2,18) width 83: "caption, with"
</span><span class="cx"> text run at (0,36) width 87: "align=\"right\"."
</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: "Data"
</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: "The"
</span><span class="cx"> text run at (15,21) width 40: "table's"
</span><span class="cx"> text run at (10,39) width 50: "caption."
</span><span class="lines">@@ -206,7 +206,7 @@
</span><span class="cx"> text run at (1,1) width 30: "Data"
</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: "The"
</span><span class="cx"> text run at (15,21) width 40: "table's"
</span><span class="cx"> text run at (10,39) width 50: "caption."
</span><span class="lines">@@ -355,7 +355,7 @@
</span><span class="cx"> text run at (1,1) width 30: "Data"
</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: "The"
</span><span class="cx"> text run at (15,21) width 40: "table's"
</span><span class="cx"> text run at (10,39) width 50: "caption."
</span><span class="lines">@@ -376,7 +376,7 @@
</span><span class="cx"> text run at (1,1) width 30: "Data"
</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: "The"
</span><span class="cx"> text run at (15,21) width 40: "table's"
</span><span class="cx"> text run at (10,39) width 50: "caption."
</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: " "
</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: "Table 4 has this bottom caption. The"
</span><span class="cx"> text run at (6,18) width 240: "table has specified column widths and"
</span><span class="cx"> text run at (66,36) width 120: "collapsing borders."
</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 <antti@apple.com>
+
+ 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 <zalan@apple.com>
</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 >= (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()->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()->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&, bool force = false);
</span><span class="cx"> void setTextWithOffset(const String&, 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->topLeft());
+}
+
</ins><span class="cx"> LayoutRect RenderTextLineBoxes::visualOverflowBoundingBox(const RenderText& 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&) const;
</span><ins>+ IntPoint firstRunLocation() const;
</ins><span class="cx"> LayoutRect visualOverflowBoundingBox(const RenderText&) const;
</span><span class="cx">
</span><span class="cx"> Vector<IntRect> absoluteRects(const LayoutPoint& 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& text = toRenderText(o);
</span><del>- IntRect linesBox = text.linesBoundingBox();
- if (text.simpleLineLayout()) {
- int y = linesBox.y();
- if (text.containingBlock()->isTableCell())
- y -= toRenderTableCell(o.containingBlock())->intrinsicPaddingBefore();
- r = IntRect(linesBox.x(), y, linesBox.width(), linesBox.height());
- } else
- r = IntRect(text.firstRunX(), text.firstRunY(), linesBox.width(), linesBox.height());
- if (adjustForTableCells && !text.firstTextBox())
</del><ins>+ r = IntRect(text.firstRunLocation(), text.linesBoundingBox().size());
+ if (!text.firstTextBox() && !text.simpleLineLayout())
</ins><span class="cx"> adjustForTableCells = false;
</span><span class="cx"> } else if (o.isBR()) {
</span><span class="cx"> const RenderLineBreak& 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() > 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& textRenderer, const Layout& 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<IntRect> collectTextAbsoluteRects(const RenderText& textRenderer, const Layout& layout, const LayoutPoint& accumulatedOffset)
</span><span class="cx"> {
</span><span class="cx"> Vector<IntRect> 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&, const Layout&);
</span><span class="cx"> unsigned findTextCaretMaximumOffset(const RenderText&, const Layout&);
</span><span class="cx"> IntRect computeTextBoundingBox(const RenderText&, const Layout&);
</span><ins>+IntPoint computeTextFirstRunLocation(const RenderText&, const Layout&);
</ins><span class="cx">
</span><span class="cx"> Vector<IntRect> collectTextAbsoluteRects(const RenderText&, const Layout&, const LayoutPoint& accumulatedOffset);
</span><span class="cx"> Vector<FloatQuad> collectTextAbsoluteQuads(const RenderText&, const Layout&, 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& ts, const RenderSVGInlineText& text, int indent)
</span><span class="cx"> {
</span><span class="cx"> writeStandardPrefix(ts, text, indent);
</span><del>- ts << " " << enclosingIntRect(FloatRect(text.firstRunOrigin(), text.floatLinesBoundingBox().size())) << "\n";
</del><ins>+ ts << " " << enclosingIntRect(FloatRect(text.firstRunLocation(), text.floatLinesBoundingBox().size())) << "\n";
</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->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->firstRunX();
- y = text->firstRunY();
</del><ins>+ IntPoint firstRunLocation = text->firstRunLocation();
+ x = firstRunLocation.x();
+ y = firstRunLocation.y();
</ins><span class="cx"> IntRect box = text->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)->pixelSnappedFrameRect();
</span><span class="cx"> else if (renderer->isText()) {
</span><span class="cx"> m_frameRect = toRenderText(renderer)->linesBoundingBox();
</span><del>- m_frameRect.setX(toRenderText(renderer)->firstRunX());
- m_frameRect.setY(toRenderText(renderer)->firstRunY());
</del><ins>+ m_frameRect.setLocation(toRenderText(renderer)->firstRunLocation());
</ins><span class="cx"> } else if (renderer->isRenderInline())
</span><span class="cx"> m_frameRect = toRenderBoxModelObject(renderer)->borderBoundingBox();
</span><span class="cx">
</span></span></pre>
</div>
</div>
</body>
</html>