Improve multicol intrinsic width calculation

https://bugs.webkit.org/show_bug.cgi?id=116677

Patch by Morten Stenshorne <mstensho@opera.com> on 2013-08-27
Reviewed by David Hyatt.

Source/WebCore:

Test: fast/css-intrinsic-dimensions/multicol.html

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::computeIntrinsicLogicalWidths):
(WebCore::RenderBlock::adjustIntrinsicLogicalWidthsForColumns):
* rendering/RenderBlock.h:

LayoutTests:

* css3/unicode-bidi-isolate-basic.html: The expectation seems to
be that the columns should be as many as necessary and narrow as
possible, and that the multicol container's width should be that
of one column. The previous CSS didn't really ask for this,
although that's how it happened to be rendered without this fix.
* fast/css-intrinsic-dimensions/multicol-expected.txt: Added.
* fast/css-intrinsic-dimensions/multicol.html: Added.
* fast/multicol/positioned-with-constrained-height-expected.html: Copied from LayoutTests/fast/multicol/positioned-with-constrained-height.html.
* fast/multicol/positioned-with-constrained-height.html: Turn into a reftest.
* platform/efl/fast/multicol/positioned-with-constrained-height-expected.png: Removed.
* platform/efl/fast/multicol/positioned-with-constrained-height-expected.txt: Removed.
* platform/gtk/fast/multicol/positioned-with-constrained-height-expected.png: Removed.
* platform/gtk/fast/multicol/positioned-with-constrained-height-expected.txt: Removed.
* platform/mac/fast/multicol/positioned-with-constrained-height-expected.png: Removed.
* platform/mac/fast/multicol/positioned-with-constrained-height-expected.txt: Removed.
* platform/qt/fast/multicol/positioned-with-constrained-height-expected.png: Removed.
* platform/qt/fast/multicol/positioned-with-constrained-height-expected.txt: Removed.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154714 268f45cc-cd09-0410-ab3c-d52691b4dbfc
parent ae8c3acf
2013-08-27 Morten Stenshorne <mstensho@opera.com>
Improve multicol intrinsic width calculation
https://bugs.webkit.org/show_bug.cgi?id=116677
Reviewed by David Hyatt.
* css3/unicode-bidi-isolate-basic.html: The expectation seems to
be that the columns should be as many as necessary and narrow as
possible, and that the multicol container's width should be that
of one column. The previous CSS didn't really ask for this,
although that's how it happened to be rendered without this fix.
* fast/css-intrinsic-dimensions/multicol-expected.txt: Added.
* fast/css-intrinsic-dimensions/multicol.html: Added.
* fast/multicol/positioned-with-constrained-height-expected.html: Copied from LayoutTests/fast/multicol/positioned-with-constrained-height.html.
* fast/multicol/positioned-with-constrained-height.html: Turn into a reftest.
* platform/efl/fast/multicol/positioned-with-constrained-height-expected.png: Removed.
* platform/efl/fast/multicol/positioned-with-constrained-height-expected.txt: Removed.
* platform/gtk/fast/multicol/positioned-with-constrained-height-expected.png: Removed.
* platform/gtk/fast/multicol/positioned-with-constrained-height-expected.txt: Removed.
* platform/mac/fast/multicol/positioned-with-constrained-height-expected.png: Removed.
* platform/mac/fast/multicol/positioned-with-constrained-height-expected.txt: Removed.
* platform/qt/fast/multicol/positioned-with-constrained-height-expected.png: Removed.
* platform/qt/fast/multicol/positioned-with-constrained-height-expected.txt: Removed.
2013-08-27 Rob Buis <rwlbuis@webkit.org>
feImage fails if referenced node contains radialGradient declaration
......@@ -8,9 +8,13 @@
top: 0px;
left: 0px;
-moz-column-width: 13em;
-webkit-column-width: 13em;
-moz-column-gap: 5em;
-webkit-columns:1 1px; /* Make as many (overflowing) columns as necessary, but keep them as narrow as possible */
-webkit-column-gap: 5em;
-webkit-column-fill: auto;
columns:1 1px;
column-gap: 5em;
column-fill: auto;
height: 400px;
}
</style>
......
Test intrinsic width calculation for multicol. See http://dev.w3.org/csswg/css-sizing/#multicol-intrinsic
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
PASS elm01.offsetWidth is 330
PASS elm02.offsetWidth is 330
PASS elm03.offsetWidth is 330
PASS elm04.offsetWidth is 630
PASS elm05.offsetWidth is 50
PASS elm06.offsetWidth is 330
PASS elm07.offsetWidth is 50
PASS elm08.offsetWidth is 630
PASS elm09.offsetWidth is 100
PASS elm10.offsetWidth is 480
PASS elm11.offsetWidth is 100
PASS elm12.offsetWidth is 630
PASS elm13.offsetWidth is 50
PASS elm14.offsetWidth is 100
PASS elm15.offsetWidth is 50
PASS elm16.offsetWidth is 200
PASS elm17.offsetWidth is 100
PASS elm18.offsetWidth is 150
PASS elm19.offsetWidth is 100
PASS elm20.offsetWidth is 200
PASS successfullyParsed is true
TEST COMPLETE
<!DOCTYPE html>
<html>
<head>
<title>'columns' property with 'auto' and something else</title>
<script src="../js/resources/js-test-pre.js"></script>
<script>
description("Test intrinsic width calculation for multicol. See http://dev.w3.org/csswg/css-sizing/#multicol-intrinsic");
if (window.testRunner)
testRunner.dumpAsText();
</script>
<style>
.gap15 { -webkit-column-gap:15px; column-gap:15px; }
.mc3 { -webkit-columns:3; columns:3; }
.mc3w50 { -webkit-columns:3 50px; columns:3 50px; }
.mc3w150 { -webkit-columns:3 150px; columns:3 150px; }
.mcw50 { -webkit-columns:50px; columns:50px; }
.mcw150 { -webkit-columns:150px; columns:150px; }
.intrinsic { width:intrinsic; }
</style>
</head>
<body>
<div style="visibility:hidden;"> <!-- hide garbage produced from &#x200b; characters -->
<!-- min intrinsic width, non-auto column-count -->
<div style="width:1px;">
<div id="elm01" class="intrinsic mc3 gap15">
<div style="width:100px; height:10px;"></div>
</div>
</div>
<!-- max intrinsic width, non-auto column-count -->
<div style="width:1000px;">
<div id="elm02" class="intrinsic mc3 gap15">
<div style="width:100px; height:10px;"></div>
</div>
</div>
<!-- min intrinsic width, non-auto column-count, breakable lines -->
<div style="width:1px;">
<div id="elm03" class="intrinsic mc3 gap15">
<div style="display:inline-block; width:100px; height:10px;"></div>&#x200b;<div style="display:inline-block; width:100px; height:10px;"></div>
</div>
</div>
<!-- max intrinsic width, non-auto column-count, breakable lines -->
<div style="width:1000px;">
<div id="elm04" class="intrinsic mc3 gap15">
<div style="display:inline-block; width:100px; height:10px;"></div>&#x200b;<div style="display:inline-block; width:100px; height:10px;"></div>
</div>
</div>
<!-- min intrinsic width, non-auto column-count and small column-width -->
<div style="width:1px;">
<div id="elm05" class="intrinsic mc3w50 gap15">
<div style="width:100px; height:10px;"></div>
</div>
</div>
<!-- max intrinsic width, non-auto column-count and small column-width -->
<div style="width:1000px;">
<div id="elm06" class="intrinsic mc3w50 gap15">
<div style="width:100px; height:10px;"></div>
</div>
</div>
<!-- min intrinsic width, non-auto column-count and small column-width, breakable lines -->
<div style="width:1px;">
<div id="elm07" class="intrinsic mc3w50 gap15">
<div style="display:inline-block; width:100px; height:10px;"></div>&#x200b;<div style="display:inline-block; width:100px; height:10px;"></div>
</div>
</div>
<!-- max intrinsic width, non-auto column-count and small column-width, breakable lines -->
<div style="width:1000px;">
<div id="elm08" class="intrinsic mc3w50 gap15">
<div style="display:inline-block; width:100px; height:10px;"></div>&#x200b;<div style="display:inline-block; width:100px; height:10px;"></div>
</div>
</div>
<!-- min intrinsic width, non-auto column-count and large column-width -->
<div style="width:1px;">
<div id="elm09" class="intrinsic mc3w150 gap15">
<div style="width:100px; height:10px;"></div>
</div>
</div>
<!-- max intrinsic width, non-auto column-count and large column-width -->
<div style="width:1000px;">
<div id="elm10" class="intrinsic mc3w150 gap15">
<div style="width:100px; height:10px;"></div>
</div>
</div>
<!-- min intrinsic width, non-auto column-count and large column-width, breakable lines -->
<div style="width:1px;">
<div id="elm11" class="intrinsic mc3w150 gap15">
<div style="display:inline-block; width:100px; height:10px;"></div>&#x200b;<div style="display:inline-block; width:100px; height:10px;"></div>
</div>
</div>
<!-- max intrinsic width, non-auto column-count and large column-width, breakable lines -->
<div style="width:1000px;">
<div id="elm12" class="intrinsic mc3w150 gap15">
<div style="display:inline-block; width:100px; height:10px;"></div>&#x200b;<div style="display:inline-block; width:100px; height:10px;"></div>
</div>
</div>
<!-- min intrinsic width, auto column-count and small column-width -->
<div style="width:1px;">
<div id="elm13" class="intrinsic mcw50 gap15">
<div style="width:100px; height:10px;"></div>
</div>
</div>
<!-- max intrinsic width, auto column-count and small column-width -->
<div style="width:1000px;">
<div id="elm14" class="intrinsic mcw50 gap15">
<div style="width:100px; height:10px;"></div>
</div>
</div>
<!-- min intrinsic width, auto column-count and small column-width, breakable lines -->
<div style="width:1px;">
<div id="elm15" class="intrinsic mcw50 gap15">
<div style="display:inline-block; width:100px; height:10px;"></div>&#x200b;<div style="display:inline-block; width:100px; height:10px;"></div>
</div>
</div>
<!-- max intrinsic width, auto column-count and small column-width, breakable lines -->
<div style="width:1000px;">
<div id="elm16" class="intrinsic mcw50 gap15">
<div style="display:inline-block; width:100px; height:10px;"></div>&#x200b;<div style="display:inline-block; width:100px; height:10px;"></div>
</div>
</div>
<!-- min intrinsic width, auto column-count and large column-width -->
<div style="width:1px;">
<div id="elm17" class="intrinsic mcw150 gap15">
<div style="width:100px; height:10px;"></div>
</div>
</div>
<!-- max intrinsic width, auto column-count and large column-width -->
<div style="width:1000px;">
<div id="elm18" class="intrinsic mcw150 gap15">
<div style="width:100px; height:10px;"></div>
</div>
</div>
<!-- min intrinsic width, auto column-count and large column-width, breakable lines -->
<div style="width:1px;">
<div id="elm19" class="intrinsic mcw150 gap15">
<div style="display:inline-block; width:100px; height:10px;"></div>&#x200b;<div style="display:inline-block; width:100px; height:10px;"></div>
</div>
</div>
<!-- max intrinsic width, auto column-count and large column-width, breakable lines -->
<div style="width:1000px;">
<div id="elm20" class="intrinsic mcw150 gap15">
<div style="display:inline-block; width:100px; height:10px;"></div>&#x200b;<div style="display:inline-block; width:100px; height:10px;"></div>
</div>
</div>
</div>
<script>
// non-auto column-count
shouldBe("elm01.offsetWidth", "330");
shouldBe("elm02.offsetWidth", "330");
shouldBe("elm03.offsetWidth", "330");
shouldBe("elm04.offsetWidth", "630");
// non-auto column-count and small column-width
shouldBe("elm05.offsetWidth", "50");
shouldBe("elm06.offsetWidth", "330");
shouldBe("elm07.offsetWidth", "50");
shouldBe("elm08.offsetWidth", "630");
// non-auto column-count and large column-width
shouldBe("elm09.offsetWidth", "100");
shouldBe("elm10.offsetWidth", "480");
shouldBe("elm11.offsetWidth", "100");
shouldBe("elm12.offsetWidth", "630");
// auto column-count and small column-width
shouldBe("elm13.offsetWidth", "50");
shouldBe("elm14.offsetWidth", "100");
shouldBe("elm15.offsetWidth", "50");
shouldBe("elm16.offsetWidth", "200");
// auto column-count and large column-width
shouldBe("elm17.offsetWidth", "100");
shouldBe("elm18.offsetWidth", "150");
shouldBe("elm19.offsetWidth", "100");
shouldBe("elm20.offsetWidth", "200");
</script>
<script src="../js/resources/js-test-post.js"></script>
</body>
</html>
<div style="-moz-column-width:200px; -webkit-column-width:200px; -webkit-column-fill:auto; column-width:200px; column-fill:auto; height:300px; position:absolute;">
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
</div>
<div style="-moz-column-width:200px; -webkit-column-width:200px;height:300px; position:absolute; background-color:lime">
<div style="-moz-column-width:200px; -webkit-column-width:200px; -webkit-column-fill:auto; column-width:200px; column-fill:auto; width:200px; height:300px;">
This is some text<br>
This is some text<br>
This is some text<br>
......@@ -134,4 +134,4 @@ This is some text<br>
This is some text<br>
This is some text<br>
This is some text<br>
</div>
\ No newline at end of file
</div>
layer at (0,0) size 1090x585
RenderView at (0,0) size 800x585
layer at (0,0) size 800x585
RenderBlock {HTML} at (0,0) size 800x585
RenderBody {BODY} at (8,8) size 784x569
layer at (8,8) size 106x300
RenderBlock (positioned) {DIV} at (8,8) size 106x300 [bgcolor=#00FF00]
RenderText {#text} at (0,0) size 106x17
text run at (0,0) width 106: "This is some text"
RenderBR {BR} at (106,14) size 0x0
RenderText {#text} at (0,18) size 106x17
text run at (0,18) width 106: "This is some text"
RenderBR {BR} at (106,32) size 0x0
RenderText {#text} at (0,36) size 106x17
text run at (0,36) width 106: "This is some text"
RenderBR {BR} at (106,50) size 0x0
RenderText {#text} at (0,54) size 106x17
text run at (0,54) width 106: "This is some text"
RenderBR {BR} at (106,68) size 0x0
RenderText {#text} at (0,72) size 106x17
text run at (0,72) width 106: "This is some text"
RenderBR {BR} at (106,86) size 0x0
RenderText {#text} at (0,90) size 106x17
text run at (0,90) width 106: "This is some text"
RenderBR {BR} at (106,104) size 0x0
RenderText {#text} at (0,108) size 106x17
text run at (0,108) width 106: "This is some text"
RenderBR {BR} at (106,122) size 0x0
RenderText {#text} at (0,126) size 106x17
text run at (0,126) width 106: "This is some text"
RenderBR {BR} at (106,140) size 0x0
RenderText {#text} at (0,144) size 106x17
text run at (0,144) width 106: "This is some text"
RenderBR {BR} at (106,158) size 0x0
RenderText {#text} at (0,162) size 106x17
text run at (0,162) width 106: "This is some text"
RenderBR {BR} at (106,176) size 0x0
RenderText {#text} at (0,180) size 106x17
text run at (0,180) width 106: "This is some text"
RenderBR {BR} at (106,194) size 0x0
RenderText {#text} at (0,198) size 106x17
text run at (0,198) width 106: "This is some text"
RenderBR {BR} at (106,212) size 0x0
RenderText {#text} at (0,216) size 106x17
text run at (0,216) width 106: "This is some text"
RenderBR {BR} at (106,230) size 0x0
RenderText {#text} at (0,234) size 106x17
text run at (0,234) width 106: "This is some text"
RenderBR {BR} at (106,248) size 0x0
RenderText {#text} at (0,252) size 106x17
text run at (0,252) width 106: "This is some text"
RenderBR {BR} at (106,266) size 0x0
RenderText {#text} at (0,270) size 106x17
text run at (0,270) width 106: "This is some text"
RenderBR {BR} at (106,284) size 0x0
RenderText {#text} at (0,300) size 106x17
text run at (0,300) width 106: "This is some text"
RenderBR {BR} at (106,314) size 0x0
RenderText {#text} at (0,318) size 106x17
text run at (0,318) width 106: "This is some text"
RenderBR {BR} at (106,332) size 0x0
RenderText {#text} at (0,336) size 106x17
text run at (0,336) width 106: "This is some text"
RenderBR {BR} at (106,350) size 0x0
RenderText {#text} at (0,354) size 106x17
text run at (0,354) width 106: "This is some text"
RenderBR {BR} at (106,368) size 0x0
RenderText {#text} at (0,372) size 106x17
text run at (0,372) width 106: "This is some text"
RenderBR {BR} at (106,386) size 0x0
RenderText {#text} at (0,390) size 106x17
text run at (0,390) width 106: "This is some text"
RenderBR {BR} at (106,404) size 0x0
RenderText {#text} at (0,408) size 106x17
text run at (0,408) width 106: "This is some text"
RenderBR {BR} at (106,422) size 0x0
RenderText {#text} at (0,426) size 106x17
text run at (0,426) width 106: "This is some text"
RenderBR {BR} at (106,440) size 0x0
RenderText {#text} at (0,444) size 106x17
text run at (0,444) width 106: "This is some text"
RenderBR {BR} at (106,458) size 0x0
RenderText {#text} at (0,462) size 106x17
text run at (0,462) width 106: "This is some text"
RenderBR {BR} at (106,476) size 0x0
RenderText {#text} at (0,480) size 106x17
text run at (0,480) width 106: "This is some text"
RenderBR {BR} at (106,494) size 0x0
RenderText {#text} at (0,498) size 106x17
text run at (0,498) width 106: "This is some text"
RenderBR {BR} at (106,512) size 0x0
RenderText {#text} at (0,516) size 106x17
text run at (0,516) width 106: "This is some text"
RenderBR {BR} at (106,530) size 0x0
RenderText {#text} at (0,534) size 106x17
text run at (0,534) width 106: "This is some text"
RenderBR {BR} at (106,548) size 0x0
RenderText {#text} at (0,552) size 106x17
text run at (0,552) width 106: "This is some text"
RenderBR {BR} at (106,566) size 0x0
RenderText {#text} at (0,570) size 106x17
text run at (0,570) width 106: "This is some text"
RenderBR {BR} at (106,584) size 0x0
RenderText {#text} at (0,600) size 106x17
text run at (0,600) width 106: "This is some text"
RenderBR {BR} at (106,614) size 0x0
RenderText {#text} at (0,618) size 106x17
text run at (0,618) width 106: "This is some text"
RenderBR {BR} at (106,632) size 0x0
RenderText {#text} at (0,636) size 106x17
text run at (0,636) width 106: "This is some text"
RenderBR {BR} at (106,650) size 0x0
RenderText {#text} at (0,654) size 106x17
text run at (0,654) width 106: "This is some text"
RenderBR {BR} at (106,668) size 0x0
RenderText {#text} at (0,672) size 106x17
text run at (0,672) width 106: "This is some text"
RenderBR {BR} at (106,686) size 0x0
RenderText {#text} at (0,690) size 106x17
text run at (0,690) width 106: "This is some text"
RenderBR {BR} at (106,704) size 0x0
RenderText {#text} at (0,708) size 106x17
text run at (0,708) width 106: "This is some text"
RenderBR {BR} at (106,722) size 0x0
RenderText {#text} at (0,726) size 106x17
text run at (0,726) width 106: "This is some text"
RenderBR {BR} at (106,740) size 0x0
RenderText {#text} at (0,744) size 106x17
text run at (0,744) width 106: "This is some text"
RenderBR {BR} at (106,758) size 0x0
RenderText {#text} at (0,762) size 106x17
text run at (0,762) width 106: "This is some text"
RenderBR {BR} at (106,776) size 0x0
RenderText {#text} at (0,780) size 106x17
text run at (0,780) width 106: "This is some text"
RenderBR {BR} at (106,794) size 0x0
RenderText {#text} at (0,798) size 106x17
text run at (0,798) width 106: "This is some text"
RenderBR {BR} at (106,812) size 0x0
RenderText {#text} at (0,816) size 106x17
text run at (0,816) width 106: "This is some text"
RenderBR {BR} at (106,830) size 0x0
RenderText {#text} at (0,834) size 106x17
text run at (0,834) width 106: "This is some text"
RenderBR {BR} at (106,848) size 0x0
RenderText {#text} at (0,852) size 106x17
text run at (0,852) width 106: "This is some text"
RenderBR {BR} at (106,866) size 0x0
RenderText {#text} at (0,870) size 106x17
text run at (0,870) width 106: "This is some text"
RenderBR {BR} at (106,884) size 0x0
RenderText {#text} at (0,900) size 106x17
text run at (0,900) width 106: "This is some text"
RenderBR {BR} at (106,914) size 0x0
RenderText {#text} at (0,918) size 106x17
text run at (0,918) width 106: "This is some text"
RenderBR {BR} at (106,932) size 0x0
RenderText {#text} at (0,936) size 106x17
text run at (0,936) width 106: "This is some text"
RenderBR {BR} at (106,950) size 0x0
RenderText {#text} at (0,954) size 106x17
text run at (0,954) width 106: "This is some text"
RenderBR {BR} at (106,968) size 0x0
RenderText {#text} at (0,972) size 106x17
text run at (0,972) width 106: "This is some text"
RenderBR {BR} at (106,986) size 0x0
RenderText {#text} at (0,990) size 106x17
text run at (0,990) width 106: "This is some text"
RenderBR {BR} at (106,1004) size 0x0
RenderText {#text} at (0,1008) size 106x17
text run at (0,1008) width 106: "This is some text"
RenderBR {BR} at (106,1022) size 0x0
RenderText {#text} at (0,1026) size 106x17
text run at (0,1026) width 106: "This is some text"
RenderBR {BR} at (106,1040) size 0x0
RenderText {#text} at (0,1044) size 106x17
text run at (0,1044) width 106: "This is some text"
RenderBR {BR} at (106,1058) size 0x0
RenderText {#text} at (0,1062) size 106x17
text run at (0,1062) width 106: "This is some text"
RenderBR {BR} at (106,1076) size 0x0
RenderText {#text} at (0,1080) size 106x17
text run at (0,1080) width 106: "This is some text"
RenderBR {BR} at (106,1094) size 0x0
RenderText {#text} at (0,1098) size 106x17
text run at (0,1098) width 106: "This is some text"
RenderBR {BR} at (106,1112) size 0x0
RenderText {#text} at (0,1116) size 106x17
text run at (0,1116) width 106: "This is some text"
RenderBR {BR} at (106,1130) size 0x0
RenderText {#text} at (0,1134) size 106x17
text run at (0,1134) width 106: "This is some text"
RenderBR {BR} at (106,1148) size 0x0
RenderText {#text} at (0,1152) size 106x17
text run at (0,1152) width 106: "This is some text"
RenderBR {BR} at (106,1166) size 0x0
RenderText {#text} at (0,1170) size 106x17
text run at (0,1170) width 106: "This is some text"
RenderBR {BR} at (106,1184) size 0x0
RenderText {#text} at (0,1200) size 106x17
text run at (0,1200) width 106: "This is some text"
RenderBR {BR} at (106,1214) size 0x0
RenderText {#text} at (0,1218) size 106x17
text run at (0,1218) width 106: "This is some text"
RenderBR {BR} at (106,1232) size 0x0
RenderText {#text} at (0,1236) si