Title: [167764] trunk
Revision
167764
Author
[email protected]
Date
2014-04-24 10:02:37 -0700 (Thu, 24 Apr 2014)

Log Message

[New Multicolumn] Client rects don't work with column spans.
https://bugs.webkit.org/show_bug.cgi?id=132131

Reviewed by Dean Jackson.

Source/WebCore: 
        
Don't factor in the offset of the multicolumn set from the top
of the multicolumn block. This was added already, and it doesn't
need to be a part of columnTranslationForOffset.

Added fast/multicol/client-rects-spanners.html

* rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::columnTranslationForOffset):

LayoutTests: 

* fast/multicol/client-rects-spanners.html: Added.
* platform/mac/fast/multicol/client-rects-spanners-expected.png: Added.
* platform/mac/fast/multicol/client-rects-spanners-expected.txt: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (167763 => 167764)


--- trunk/LayoutTests/ChangeLog	2014-04-24 16:36:56 UTC (rev 167763)
+++ trunk/LayoutTests/ChangeLog	2014-04-24 17:02:37 UTC (rev 167764)
@@ -1,3 +1,14 @@
+2014-04-24  David Hyatt  <[email protected]>
+
+        [New Multicolumn] Client rects don't work with column spans.
+        https://bugs.webkit.org/show_bug.cgi?id=132131
+
+        Reviewed by Dean Jackson.
+
+        * fast/multicol/client-rects-spanners.html: Added.
+        * platform/mac/fast/multicol/client-rects-spanners-expected.png: Added.
+        * platform/mac/fast/multicol/client-rects-spanners-expected.txt: Added.
+
 2014-04-24  Alexey Proskuryakov  <[email protected]>
 
         Test that we correctly process ArrayBufferView slices in WebCrypto

Added: trunk/LayoutTests/fast/multicol/client-rects-spanners.html (0 => 167764)


--- trunk/LayoutTests/fast/multicol/client-rects-spanners.html	                        (rev 0)
+++ trunk/LayoutTests/fast/multicol/client-rects-spanners.html	2014-04-24 17:02:37 UTC (rev 167764)
@@ -0,0 +1,255 @@
+<head>
+<script>
+internals.settings.setRegionBasedColumnsEnabled(true)
+</script>
+<style>
+    div.columns {
+        display:inline-block;
+        -webkit-logical-height: 60px;
+        -webkit-logical-width: 100px;
+        -webkit-margin-before: 10px;
+        -webkit-margin-after: 10px;
+         padding: 5px;
+        border: solid black;
+        font-family: ahem;
+        font-size: 25px;
+        color: lightblue;
+        -webkit-columns: 2;
+        -webkit-column-gap: 5px;
+        -webkit-column-fill: auto;
+        columns: 2;
+        column-gap: 5px;
+        column-fill: auto;
+    }
+
+    div.marker {
+        position: absolute;
+        border: solid rgba(0, 0, 255, 0.5);
+        -webkit-box-sizing: border-box;
+    }
+
+    input[type="range"] {
+        -webkit-appearance: none;
+        width: 25px;
+        height: 25px;
+        background-color: lightblue;
+    }
+
+    input[type="range"]::-webkit-slider-thumb {
+        -webkit-appearance: none;
+    }
+
+    .vertical { -webkit-writing-mode: vertical-lr; }
+    .vertical.flipped { -webkit-writing-mode: vertical-rl; }
+
+    div.span { -webkit-column-span: all; -webkit-logical-height:10px; background-color:silver; }
+
+</style>
+</head>
+<p>
+    The blue borders should coincide with light blue squares, like this:
+    <span style="display: inline-block; background-color: lightblue; border: solid rgba(0, 0, 255, 0.5); width: 19px; height: 19px;"></span>.
+    There should be none of this:
+    <span style="display: inline-block; background-color: lightblue; width: 25px; height: 25px;"></span>
+    or this:
+    <span style="display: inline-block; border: solid rgba(0, 0, 255, 0.5); width: 19px; height: 19px;"></span>.
+</p>
+<div class="columns" id="t1"><div class="span"></div>
+    <br>x y z
+</div>
+
+<div class="columns"><div class="span"></div>
+    <br><span id="t2">x y z</span>
+</div>
+
+<div class="columns"><div class="span"></div>
+    <br><div id="t3">x y z</div>
+</div>
+
+<div class="columns"><div class="span"></div>
+    <br><div id="t4"><br>y z</div>
+</div>
+
+<div class="columns"><div class="span"></div>
+    <br><div><br><input id="t5" type="range"></div>
+</div>
+
+<div class="columns"><div class="span"></div>
+    <br><div><br><img id="t6" style="width: 25px; height: 25px; background-color: lightblue;"></div>
+</div>
+<div class="columns"><div class="span"></div>
+    <div id="t7" style=" margin-top: 40px; width: 25px; height: 25px; background-color: lightblue;"></div>
+</div>
+
+<div class="columns vertical" id="t8"><div class="span"></div>
+    <br>x y z
+</div>
+
+<div class="columns vertical"><div class="span"></div>
+    <br><span id="t9">x y z</span>
+</div>
+
+<div class="columns vertical"><div class="span"></div>
+    <br><div id="t10">x y z</div>
+</div>
+
+<div class="columns vertical"><div class="span"></div>
+    <br><div id="t11"><br>y z</div>
+</div>
+
+<div class="columns vertical"><div class="span"></div>
+    <br><div><br><input id="t12" type="range"></div>
+</div>
+
+<div class="columns vertical"><div class="span"></div>
+    <br><div><br><img id="t13" style="width: 25px; height: 25px; background-color: lightblue;"></div>
+</div>
+<div class="columns vertical"><div class="span"></div>
+    <div id="t14" style=" -webkit-margin-before: 40px; width: 25px; height: 25px; background-color: lightblue;"></div>
+</div>
+
+
+<div class="columns vertical flipped" id="t15"><div class="span"></div>
+    <br>x y z
+</div>
+
+<div class="columns vertical flipped"><div class="span"></div>
+    <br><span id="t16">x y z</span>
+</div>
+
+<div class="columns vertical flipped"><div class="span"></div>
+    <br><div id="t17">x y z</div>
+</div>
+
+<div class="columns vertical flipped"><div class="span"></div>
+    <br><div id="t18"><br>y z</div>
+</div>
+
+<div class="columns vertical flipped"><div class="span"></div>
+    <br><div><br><input id="t19" type="range"></div>
+</div>
+
+<div class="columns vertical flipped"><div class="span"></div>
+    <br><div><br><img id="t20" style="width: 25px; height: 25px; background-color: lightblue;"></div>
+</div>
+<div class="columns vertical flipped"><div class="span"></div>
+    <div id="t21" style="-webkit-margin-before: 40px; width: 25px; height: 25px; background-color: lightblue;"></div>
+</div>
+
+<script>
+    function placeMarker(clientRect)
+    {
+        var marker = document.body.appendChild(document.createElement("div"));
+        marker.className = "marker";
+        marker.style.left = clientRect.left + "px";
+        marker.style.top = clientRect.top + "px";
+        marker.style.width = clientRect.width + "px";
+        marker.style.height = clientRect.height + "px";
+    }
+
+    function placeMarkersForRange(range, startOffset)
+    {
+        if (startOffset === undefined)
+            startOffset = 0;
+
+        var clientRects = range.getClientRects();
+        for (var i = startOffset; i < clientRects.length; ++i)
+            placeMarker(clientRects[i]);
+    }
+
+    var range = document.createRange();
+
+    var textNode = document.getElementById("t1").firstChild.nextSibling.nextSibling.nextSibling;
+    range.setStart(textNode, 0);
+    range.setEnd(textNode, 5);
+    placeMarkersForRange(range);
+
+    textNode = document.getElementById("t2").firstChild;
+    range.setStart(textNode, 0);
+    range.setEnd(textNode, 5);
+    placeMarkersForRange(range);
+
+    textNode = document.getElementById("t3").firstChild;
+    range.setStart(textNode, 0);
+    range.setEnd(textNode, 5);
+    placeMarkersForRange(range);
+
+    var block = document.getElementById("t4");
+    range.selectNode(block);
+    placeMarkersForRange(range, 1);
+
+    var slider = document.getElementById("t5");
+    range.selectNode(slider);
+    placeMarkersForRange(range);
+
+    var image = document.getElementById("t6");
+    range.selectNode(image);
+    placeMarkersForRange(range);
+
+    var div = document.getElementById("t7");
+    range.selectNode(div);
+    placeMarkersForRange(div);
+    
+    var textNode = document.getElementById("t8").firstChild.nextSibling.nextSibling.nextSibling;
+    range.setStart(textNode, 0);
+    range.setEnd(textNode, 5);
+    placeMarkersForRange(range);
+
+    textNode = document.getElementById("t9").firstChild;
+    range.setStart(textNode, 0);
+    range.setEnd(textNode, 5);
+    placeMarkersForRange(range);
+
+    textNode = document.getElementById("t10").firstChild;
+    range.setStart(textNode, 0);
+    range.setEnd(textNode, 5);
+    placeMarkersForRange(range);
+
+    var block = document.getElementById("t11");
+    range.selectNode(block);
+    placeMarkersForRange(range, 1);
+
+    var slider = document.getElementById("t12");
+    range.selectNode(slider);
+    placeMarkersForRange(range);
+
+    var image = document.getElementById("t13");
+    range.selectNode(image);
+    placeMarkersForRange(range);
+
+    var div = document.getElementById("t14");
+    range.selectNode(div);
+    placeMarkersForRange(div);
+    
+    var textNode = document.getElementById("t15").firstChild.nextSibling.nextSibling.nextSibling;
+    range.setStart(textNode, 0);
+    range.setEnd(textNode, 5);
+    placeMarkersForRange(range);
+
+    textNode = document.getElementById("t16").firstChild;
+    range.setStart(textNode, 0);
+    range.setEnd(textNode, 5);
+    placeMarkersForRange(range);
+
+    textNode = document.getElementById("t17").firstChild;
+    range.setStart(textNode, 0);
+    range.setEnd(textNode, 5);
+    placeMarkersForRange(range);
+
+    var block = document.getElementById("t18");
+    range.selectNode(block);
+    placeMarkersForRange(range, 1);
+
+    var slider = document.getElementById("t19");
+    range.selectNode(slider);
+    placeMarkersForRange(range);
+
+    var image = document.getElementById("t20");
+    range.selectNode(image);
+    placeMarkersForRange(range);
+
+    var div = document.getElementById("t21");
+    range.selectNode(div);
+    placeMarkersForRange(div);
+
+</script>

Added: trunk/LayoutTests/platform/mac/fast/multicol/client-rects-spanners-expected.png


(Binary files differ)
Property changes on: trunk/LayoutTests/platform/mac/fast/multicol/client-rects-spanners-expected.png ___________________________________________________________________

Added: svn:mime-type

Added: trunk/LayoutTests/platform/mac/fast/multicol/client-rects-spanners-expected.txt (0 => 167764)


--- trunk/LayoutTests/platform/mac/fast/multicol/client-rects-spanners-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/platform/mac/fast/multicol/client-rects-spanners-expected.txt	2014-04-24 17:02:37 UTC (rev 167764)
@@ -0,0 +1,418 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x584
+      RenderBlock {P} at (0,0) size 784x29
+        RenderText {#text} at (0,11) size 421x18
+          text run at (0,11) width 421: "The blue borders should coincide with light blue squares, like this: "
+        RenderBlock {SPAN} at (421,0) size 25x25 [bgcolor=#ADD8E6] [border: (3px solid #0000FF7F)]
+        RenderText {#text} at (446,11) size 196x18
+          text run at (446,11) width 8: ". "
+          text run at (454,11) width 188: "There should be none of this: "
+        RenderBlock {SPAN} at (642,0) size 25x25 [bgcolor=#ADD8E6]
+        RenderText {#text} at (667,11) size 51x18
+          text run at (667,11) width 4: " "
+          text run at (671,11) width 47: "or this: "
+        RenderBlock {SPAN} at (718,0) size 25x25 [border: (3px solid #0000FF7F)]
+        RenderText {#text} at (743,11) size 4x18
+          text run at (743,11) width 4: "."
+      RenderBlock (anonymous) at (0,45) size 784x456
+        RenderText {#text} at (116,82) size 4x18
+          text run at (116,82) width 4: " "
+        RenderText {#text} at (236,82) size 4x18
+          text run at (236,82) width 4: " "
+        RenderText {#text} at (356,82) size 4x18
+          text run at (356,82) width 4: " "
+        RenderText {#text} at (476,82) size 4x18
+          text run at (476,82) width 4: " "
+        RenderText {#text} at (596,82) size 4x18
+          text run at (596,82) width 4: " "
+        RenderText {#text} at (716,82) size 4x18
+          text run at (716,82) width 4: " "
+        RenderText {#text} at (116,202) size 4x18
+          text run at (116,202) width 4: " "
+        RenderText {#text} at (216,202) size 4x18
+          text run at (216,202) width 4: " "
+        RenderText {#text} at (316,202) size 4x18
+          text run at (316,202) width 4: " "
+        RenderText {#text} at (416,202) size 4x18
+          text run at (416,202) width 4: " "
+        RenderText {#text} at (516,202) size 4x18
+          text run at (516,202) width 4: " "
+        RenderText {#text} at (616,202) size 4x18
+          text run at (616,202) width 4: " "
+        RenderText {#text} at (716,202) size 4x18
+          text run at (716,202) width 4: " "
+        RenderText {#text} at (96,322) size 4x18
+          text run at (96,322) width 4: " "
+        RenderText {#text} at (196,322) size 4x18
+          text run at (196,322) width 4: " "
+        RenderText {#text} at (296,322) size 4x18
+          text run at (296,322) width 4: " "
+        RenderText {#text} at (396,322) size 4x18
+          text run at (396,322) width 4: " "
+        RenderText {#text} at (496,322) size 4x18
+          text run at (496,322) width 4: " "
+        RenderText {#text} at (596,322) size 4x18
+          text run at (596,322) width 4: " "
+        RenderText {#text} at (696,322) size 4x18
+          text run at (696,322) width 4: " "
+        RenderText {#text} at (0,0) size 0x0
+layer at (8,63) size 116x76
+  RenderBlock {DIV} at (0,10) size 116x76 [color=#ADD8E6] [border: (3px solid #000000)]
+    RenderBlock {DIV} at (8,8) size 100x10 [bgcolor=#C0C0C0]
+    RenderMultiColumnSet at (8,18) size 100x50
+layer at (128,63) size 116x76
+  RenderBlock {DIV} at (120,10) size 116x76 [color=#ADD8E6] [border: (3px solid #000000)]
+    RenderBlock {DIV} at (8,8) size 100x10 [bgcolor=#C0C0C0]
+    RenderMultiColumnSet at (8,18) size 100x50
+layer at (248,63) size 116x76
+  RenderBlock {DIV} at (240,10) size 116x76 [color=#ADD8E6] [border: (3px solid #000000)]
+    RenderBlock {DIV} at (8,8) size 100x10 [bgcolor=#C0C0C0]
+    RenderMultiColumnSet at (8,18) size 100x50
+layer at (368,63) size 116x76
+  RenderBlock {DIV} at (360,10) size 116x76 [color=#ADD8E6] [border: (3px solid #000000)]
+    RenderBlock {DIV} at (8,8) size 100x10 [bgcolor=#C0C0C0]
+    RenderMultiColumnSet at (8,18) size 100x50
+layer at (488,63) size 116x76
+  RenderBlock {DIV} at (480,10) size 116x76 [color=#ADD8E6] [border: (3px solid #000000)]
+    RenderBlock {DIV} at (8,8) size 100x10 [bgcolor=#C0C0C0]
+    RenderMultiColumnSet at (8,18) size 100x50
+layer at (608,63) size 116x76
+  RenderBlock {DIV} at (600,10) size 116x76 [color=#ADD8E6] [border: (3px solid #000000)]
+    RenderBlock {DIV} at (8,8) size 100x10 [bgcolor=#C0C0C0]
+    RenderMultiColumnSet at (8,18) size 100x50
+layer at (8,183) size 116x76
+  RenderBlock {DIV} at (0,130) size 116x76 [color=#ADD8E6] [border: (3px solid #000000)]
+    RenderBlock {DIV} at (8,8) size 100x10 [bgcolor=#C0C0C0]
+    RenderMultiColumnSet at (8,18) size 100x50
+layer at (138,153) size 76x116
+  RenderBlock {DIV} at (130,100) size 76x116 [color=#ADD8E6] [border: (3px solid #000000)]
+    RenderBlock {DIV} at (8,8) size 10x100 [bgcolor=#C0C0C0]
+    RenderMultiColumnSet at (18,8) size 50x100
+layer at (238,153) size 76x116
+  RenderBlock {DIV} at (230,100) size 76x116 [color=#ADD8E6] [border: (3px solid #000000)]
+    RenderBlock {DIV} at (8,8) size 10x100 [bgcolor=#C0C0C0]
+    RenderMultiColumnSet at (18,8) size 50x100
+layer at (338,153) size 76x116
+  RenderBlock {DIV} at (330,100) size 76x116 [color=#ADD8E6] [border: (3px solid #000000)]
+    RenderBlock {DIV} at (8,8) size 10x100 [bgcolor=#C0C0C0]
+    RenderMultiColumnSet at (18,8) size 50x100
+layer at (438,153) size 76x116
+  RenderBlock {DIV} at (430,100) size 76x116 [color=#ADD8E6] [border: (3px solid #000000)]
+    RenderBlock {DIV} at (8,8) size 10x100 [bgcolor=#C0C0C0]
+    RenderMultiColumnSet at (18,8) size 50x100
+layer at (538,153) size 76x116
+  RenderBlock {DIV} at (530,100) size 76x116 [color=#ADD8E6] [border: (3px solid #000000)]
+    RenderBlock {DIV} at (8,8) size 10x100 [bgcolor=#C0C0C0]
+    RenderMultiColumnSet at (18,8) size 50x100
+layer at (638,153) size 76x116
+  RenderBlock {DIV} at (630,100) size 76x116 [color=#ADD8E6] [border: (3px solid #000000)]
+    RenderBlock {DIV} at (8,8) size 10x100 [bgcolor=#C0C0C0]
+    RenderMultiColumnSet at (18,8) size 50x100
+layer at (18,273) size 76x116
+  RenderBlock {DIV} at (10,220) size 76x116 [color=#ADD8E6] [border: (3px solid #000000)]
+    RenderBlock {DIV} at (8,8) size 10x100 [bgcolor=#C0C0C0]
+    RenderMultiColumnSet at (18,8) size 50x100
+layer at (118,273) size 76x116
+  RenderBlock {DIV} at (110,220) size 76x116 [color=#ADD8E6] [border: (3px solid #000000)]
+    RenderBlock {DIV} at (8,8) size 10x100 [bgcolor=#C0C0C0]
+    RenderMultiColumnSet at (18,8) size 50x100
+layer at (218,273) size 76x116
+  RenderBlock {DIV} at (210,220) size 76x116 [color=#ADD8E6] [border: (3px solid #000000)]
+    RenderBlock {DIV} at (8,8) size 10x100 [bgcolor=#C0C0C0]
+    RenderMultiColumnSet at (18,8) size 50x100
+layer at (318,273) size 76x116
+  RenderBlock {DIV} at (310,220) size 76x116 [color=#ADD8E6] [border: (3px solid #000000)]
+    RenderBlock {DIV} at (8,8) size 10x100 [bgcolor=#C0C0C0]
+    RenderMultiColumnSet at (18,8) size 50x100
+layer at (418,273) size 76x116
+  RenderBlock {DIV} at (410,220) size 76x116 [color=#ADD8E6] [border: (3px solid #000000)]
+    RenderBlock {DIV} at (8,8) size 10x100 [bgcolor=#C0C0C0]
+    RenderMultiColumnSet at (18,8) size 50x100
+layer at (518,273) size 76x116
+  RenderBlock {DIV} at (510,220) size 76x116 [color=#ADD8E6] [border: (3px solid #000000)]
+    RenderBlock {DIV} at (8,8) size 10x100 [bgcolor=#C0C0C0]
+    RenderMultiColumnSet at (18,8) size 50x100
+layer at (618,273) size 76x116
+  RenderBlock {DIV} at (610,220) size 76x116 [color=#ADD8E6] [border: (3px solid #000000)]
+    RenderBlock {DIV} at (8,8) size 10x100 [bgcolor=#C0C0C0]
+    RenderMultiColumnSet at (18,8) size 50x100
+layer at (18,393) size 76x116
+  RenderBlock {DIV} at (10,340) size 76x116 [color=#ADD8E6] [border: (3px solid #000000)]
+    RenderBlock {DIV} at (8,8) size 10x100 [bgcolor=#C0C0C0]
+    RenderMultiColumnSet at (18,8) size 50x100
+layer at (16,71) size 48x100
+  RenderMultiColumnFlowThread at (8,8) size 48x100
+    RenderMultiColumnSpannerPlaceholder at (0,0) size 0x0
+    RenderBlock (anonymous) at (0,0) size 48x100
+      RenderBR {BR} at (0,0) size 0x25
+      RenderText {#text} at (0,25) size 25x75
+        text run at (0,25) width 25: "x"
+        text run at (0,50) width 25: "y"
+        text run at (0,75) width 25: "z"
+layer at (136,71) size 48x100
+  RenderMultiColumnFlowThread at (8,8) size 48x100
+    RenderMultiColumnSpannerPlaceholder at (0,0) size 0x0
+    RenderBlock (anonymous) at (0,0) size 48x100
+      RenderBR {BR} at (0,0) size 0x25
+      RenderInline {SPAN} at (0,0) size 25x75
+        RenderText {#text} at (0,25) size 25x75
+          text run at (0,25) width 25: "x"
+          text run at (0,50) width 25: "y"
+          text run at (0,75) width 25: "z"
+      RenderText {#text} at (0,0) size 0x0
+layer at (256,71) size 48x100
+  RenderMultiColumnFlowThread at (8,8) size 48x100
+    RenderMultiColumnSpannerPlaceholder at (0,0) size 0x0
+    RenderBlock (anonymous) at (0,0) size 48x25
+      RenderBR {BR} at (0,0) size 0x25
+    RenderBlock {DIV} at (0,25) size 48x75
+      RenderText {#text} at (0,0) size 25x75
+        text run at (0,0) width 25: "x"
+        text run at (0,25) width 25: "y"
+        text run at (0,50) width 25: "z"
+layer at (376,71) size 48x100
+  RenderMultiColumnFlowThread at (8,8) size 48x100
+    RenderMultiColumnSpannerPlaceholder at (0,0) size 0x0
+    RenderBlock (anonymous) at (0,0) size 48x25
+      RenderBR {BR} at (0,0) size 0x25
+    RenderBlock {DIV} at (0,25) size 48x75
+      RenderBR {BR} at (0,0) size 0x25
+      RenderText {#text} at (0,25) size 25x50
+        text run at (0,25) width 25: "y"
+        text run at (0,50) width 25: "z"
+layer at (496,71) size 48x100
+  RenderMultiColumnFlowThread at (8,8) size 48x100
+    RenderMultiColumnSpannerPlaceholder at (0,0) size 0x0
+    RenderBlock (anonymous) at (0,0) size 48x25
+      RenderBR {BR} at (0,0) size 0x25
+    RenderBlock {DIV} at (0,25) size 48x54
+      RenderBR {BR} at (0,0) size 0x25
+      RenderSlider {INPUT} at (2,27) size 25x25 [color=#909090] [bgcolor=#ADD8E6]
+        RenderFlexibleBox {DIV} at (0,0) size 25x25
+          RenderBlock {DIV} at (0,12) size 25x1
+            RenderBlock {DIV} at (0,0) size 25x0
+layer at (616,71) size 48x100
+  RenderMultiColumnFlowThread at (8,8) size 48x100
+    RenderMultiColumnSpannerPlaceholder at (0,0) size 0x0
+    RenderBlock (anonymous) at (0,0) size 48x25
+      RenderBR {BR} at (0,0) size 0x25
+    RenderBlock {DIV} at (0,25) size 48x50
+      RenderBR {BR} at (0,0) size 0x25
+      RenderImage {IMG} at (0,25) size 25x25 [bgcolor=#ADD8E6]
+layer at (16,191) size 48x100
+  RenderMultiColumnFlowThread at (8,8) size 48x100
+    RenderMultiColumnSpannerPlaceholder at (0,0) size 0x0
+    RenderBlock {DIV} at (0,40) size 25x25 [bgcolor=#ADD8E6]
+layer at (146,161) size 100x48
+  RenderMultiColumnFlowThread at (8,8) size 100x48
+    RenderMultiColumnSpannerPlaceholder at (0,0) size 0x0
+    RenderBlock (anonymous) at (0,0) size 100x48
+      RenderBR {BR} at (0,0) size 25x0
+      RenderText {#text} at (25,0) size 75x25
+        text run at (25,0) width 25: "x"
+        text run at (50,0) width 25: "y"
+        text run at (75,0) width 25: "z"
+layer at (246,161) size 100x48
+  RenderMultiColumnFlowThread at (8,8) size 100x48
+    RenderMultiColumnSpannerPlaceholder at (0,0) size 0x0
+    RenderBlock (anonymous) at (0,0) size 100x48
+      RenderBR {BR} at (0,0) size 25x0
+      RenderInline {SPAN} at (0,0) size 75x25
+        RenderText {#text} at (25,0) size 75x25
+          text run at (25,0) width 25: "x"
+          text run at (50,0) width 25: "y"
+          text run at (75,0) width 25: "z"
+      RenderText {#text} at (0,0) size 0x0
+layer at (346,161) size 100x48
+  RenderMultiColumnFlowThread at (8,8) size 100x48
+    RenderMultiColumnSpannerPlaceholder at (0,0) size 0x0
+    RenderBlock (anonymous) at (0,0) size 25x48
+      RenderBR {BR} at (0,0) size 25x0
+    RenderBlock {DIV} at (25,0) size 75x48
+      RenderText {#text} at (0,0) size 75x25
+        text run at (0,0) width 25: "x"
+        text run at (25,0) width 25: "y"
+        text run at (50,0) width 25: "z"
+layer at (446,161) size 100x48
+  RenderMultiColumnFlowThread at (8,8) size 100x48
+    RenderMultiColumnSpannerPlaceholder at (0,0) size 0x0
+    RenderBlock (anonymous) at (0,0) size 25x48
+      RenderBR {BR} at (0,0) size 25x0
+    RenderBlock {DIV} at (25,0) size 75x48
+      RenderBR {BR} at (0,0) size 25x0
+      RenderText {#text} at (25,0) size 50x25
+        text run at (25,0) width 25: "y"
+        text run at (50,0) width 25: "z"
+layer at (546,161) size 100x48
+  RenderMultiColumnFlowThread at (8,8) size 100x48
+    RenderMultiColumnSpannerPlaceholder at (0,0) size 0x0
+    RenderBlock (anonymous) at (0,0) size 25x48
+      RenderBR {BR} at (0,0) size 25x0
+    RenderBlock {DIV} at (25,0) size 54x48
+      RenderBR {BR} at (0,0) size 25x0
+      RenderSlider {INPUT} at (27,2) size 25x25 [color=#909090] [bgcolor=#ADD8E6]
+        RenderFlexibleBox {DIV} at (0,0) size 25x25
+          RenderBlock {DIV} at (0,12) size 25x1
+            RenderBlock {DIV} at (0,0) size 25x0
+layer at (646,161) size 100x48
+  RenderMultiColumnFlowThread at (8,8) size 100x48
+    RenderMultiColumnSpannerPlaceholder at (0,0) size 0x0
+    RenderBlock (anonymous) at (0,0) size 25x48
+      RenderBR {BR} at (0,0) size 25x0
+    RenderBlock {DIV} at (25,0) size 50x48
+      RenderBR {BR} at (0,0) size 25x0
+      RenderImage {IMG} at (25,0) size 25x25 [bgcolor=#ADD8E6]
+layer at (26,281) size 100x48
+  RenderMultiColumnFlowThread at (8,8) size 100x48
+    RenderMultiColumnSpannerPlaceholder at (0,0) size 0x0
+    RenderBlock {DIV} at (40,0) size 25x25 [bgcolor=#ADD8E6]
+layer at (86,281) size 100x48
+  RenderMultiColumnFlowThread at (8,8) size 100x48
+    RenderMultiColumnSpannerPlaceholder at (0,0) size 0x0
+    RenderBlock (anonymous) at (0,0) size 100x48
+      RenderBR {BR} at (0,0) size 25x0
+      RenderText {#text} at (25,0) size 75x25
+        text run at (25,0) width 25: "x"
+        text run at (50,0) width 25: "y"
+        text run at (75,0) width 25: "z"
+layer at (186,281) size 100x48
+  RenderMultiColumnFlowThread at (8,8) size 100x48
+    RenderMultiColumnSpannerPlaceholder at (0,0) size 0x0
+    RenderBlock (anonymous) at (0,0) size 100x48
+      RenderBR {BR} at (0,0) size 25x0
+      RenderInline {SPAN} at (0,0) size 75x25
+        RenderText {#text} at (25,0) size 75x25
+          text run at (25,0) width 25: "x"
+          text run at (50,0) width 25: "y"
+          text run at (75,0) width 25: "z"
+      RenderText {#text} at (0,0) size 0x0
+layer at (286,281) size 100x48
+  RenderMultiColumnFlowThread at (8,8) size 100x48
+    RenderMultiColumnSpannerPlaceholder at (0,0) size 0x0
+    RenderBlock (anonymous) at (0,0) size 25x48
+      RenderBR {BR} at (0,0) size 25x0
+    RenderBlock {DIV} at (25,0) size 75x48
+      RenderText {#text} at (0,0) size 75x25
+        text run at (0,0) width 25: "x"
+        text run at (25,0) width 25: "y"
+        text run at (50,0) width 25: "z"
+layer at (386,281) size 100x48
+  RenderMultiColumnFlowThread at (8,8) size 100x48
+    RenderMultiColumnSpannerPlaceholder at (0,0) size 0x0
+    RenderBlock (anonymous) at (0,0) size 25x48
+      RenderBR {BR} at (0,0) size 25x0
+    RenderBlock {DIV} at (25,0) size 75x48
+      RenderBR {BR} at (0,0) size 25x0
+      RenderText {#text} at (25,0) size 50x25
+        text run at (25,0) width 25: "y"
+        text run at (50,0) width 25: "z"
+layer at (486,281) size 100x48
+  RenderMultiColumnFlowThread at (8,8) size 100x48
+    RenderMultiColumnSpannerPlaceholder at (0,0) size 0x0
+    RenderBlock (anonymous) at (0,0) size 25x48
+      RenderBR {BR} at (0,0) size 25x0
+    RenderBlock {DIV} at (25,0) size 54x48
+      RenderBR {BR} at (0,0) size 25x0
+      RenderSlider {INPUT} at (27,2) size 25x25 [color=#909090] [bgcolor=#ADD8E6]
+        RenderFlexibleBox {DIV} at (0,0) size 25x25
+          RenderBlock {DIV} at (0,12) size 25x1
+            RenderBlock {DIV} at (0,0) size 25x0
+layer at (586,281) size 100x48
+  RenderMultiColumnFlowThread at (8,8) size 100x48
+    RenderMultiColumnSpannerPlaceholder at (0,0) size 0x0
+    RenderBlock (anonymous) at (0,0) size 25x48
+      RenderBR {BR} at (0,0) size 25x0
+    RenderBlock {DIV} at (25,0) size 50x48
+      RenderBR {BR} at (0,0) size 25x0
+      RenderImage {IMG} at (25,0) size 25x25 [bgcolor=#ADD8E6]
+layer at (-14,401) size 100x48 backgroundClip at (0,0) size 800x600 clip at (0,0) size 800x600 outlineClip at (0,0) size 800x600
+  RenderMultiColumnFlowThread at (8,8) size 100x48
+    RenderMultiColumnSpannerPlaceholder at (0,0) size 0x0
+    RenderBlock {DIV} at (40,0) size 25x25 [bgcolor=#ADD8E6]
+layer at (16,106) size 25x25
+  RenderBlock (positioned) {DIV} at (16,106) size 25x25 [border: (3px solid #0000FF7F)]
+layer at (68,81) size 26x25
+  RenderBlock (positioned) {DIV} at (68,81) size 26x25 [border: (3px solid #0000FF7F)]
+layer at (68,106) size 26x25
+  RenderBlock (positioned) {DIV} at (68,106) size 26x25 [border: (3px solid #0000FF7F)]
+layer at (136,106) size 25x25
+  RenderBlock (positioned) {DIV} at (136,106) size 25x25 [border: (3px solid #0000FF7F)]
+layer at (188,81) size 26x25
+  RenderBlock (positioned) {DIV} at (188,81) size 26x25 [border: (3px solid #0000FF7F)]
+layer at (188,106) size 26x25
+  RenderBlock (positioned) {DIV} at (188,106) size 26x25 [border: (3px solid #0000FF7F)]
+layer at (256,106) size 25x25
+  RenderBlock (positioned) {DIV} at (256,106) size 25x25 [border: (3px solid #0000FF7F)]
+layer at (308,81) size 26x25
+  RenderBlock (positioned) {DIV} at (308,81) size 26x25 [border: (3px solid #0000FF7F)]
+layer at (308,106) size 26x25
+  RenderBlock (positioned) {DIV} at (308,106) size 26x25 [border: (3px solid #0000FF7F)]
+layer at (428,81) size 26x25
+  RenderBlock (positioned) {DIV} at (428,81) size 26x25 [border: (3px solid #0000FF7F)]
+layer at (428,106) size 26x25
+  RenderBlock (positioned) {DIV} at (428,106) size 26x25 [border: (3px solid #0000FF7F)]
+layer at (550,83) size 26x25
+  RenderBlock (positioned) {DIV} at (550,83) size 26x25 [border: (3px solid #0000FF7F)]
+layer at (668,81) size 26x25
+  RenderBlock (positioned) {DIV} at (668,81) size 26x25 [border: (3px solid #0000FF7F)]
+layer at (68,191) size 26x25
+  RenderBlock (positioned) {DIV} at (68,191) size 26x25 [border: (3px solid #0000FF7F)]
+layer at (181,161) size 25x25
+  RenderBlock (positioned) {DIV} at (181,161) size 25x25 [border: (3px solid #0000FF7F)]
+layer at (156,213) size 25x26
+  RenderBlock (positioned) {DIV} at (156,213) size 25x26 [border: (3px solid #0000FF7F)]
+layer at (181,213) size 25x26
+  RenderBlock (positioned) {DIV} at (181,213) size 25x26 [border: (3px solid #0000FF7F)]
+layer at (281,161) size 25x25
+  RenderBlock (positioned) {DIV} at (281,161) size 25x25 [border: (3px solid #0000FF7F)]
+layer at (256,213) size 25x26
+  RenderBlock (positioned) {DIV} at (256,213) size 25x26 [border: (3px solid #0000FF7F)]
+layer at (281,213) size 25x26
+  RenderBlock (positioned) {DIV} at (281,213) size 25x26 [border: (3px solid #0000FF7F)]
+layer at (381,161) size 25x25
+  RenderBlock (positioned) {DIV} at (381,161) size 25x25 [border: (3px solid #0000FF7F)]
+layer at (356,213) size 25x26
+  RenderBlock (positioned) {DIV} at (356,213) size 25x26 [border: (3px solid #0000FF7F)]
+layer at (381,213) size 25x26
+  RenderBlock (positioned) {DIV} at (381,213) size 25x26 [border: (3px solid #0000FF7F)]
+layer at (456,213) size 25x26
+  RenderBlock (positioned) {DIV} at (456,213) size 25x26 [border: (3px solid #0000FF7F)]
+layer at (481,213) size 25x26
+  RenderBlock (positioned) {DIV} at (481,213) size 25x26 [border: (3px solid #0000FF7F)]
+layer at (558,215) size 25x26
+  RenderBlock (positioned) {DIV} at (558,215) size 25x26 [border: (3px solid #0000FF7F)]
+layer at (656,213) size 25x26
+  RenderBlock (positioned) {DIV} at (656,213) size 25x26 [border: (3px solid #0000FF7F)]
+layer at (26,333) size 25x26
+  RenderBlock (positioned) {DIV} at (26,333) size 25x26 [border: (3px solid #0000FF7F)]
+layer at (126,281) size 25x25
+  RenderBlock (positioned) {DIV} at (126,281) size 25x25 [border: (3px solid #0000FF7F)]
+layer at (151,333) size 25x26
+  RenderBlock (positioned) {DIV} at (151,333) size 25x26 [border: (3px solid #0000FF7F)]
+layer at (126,333) size 25x26
+  RenderBlock (positioned) {DIV} at (126,333) size 25x26 [border: (3px solid #0000FF7F)]
+layer at (225,281) size 25x25
+  RenderBlock (positioned) {DIV} at (225,281) size 25x25 [border: (3px solid #0000FF7F)]
+layer at (250,333) size 25x26
+  RenderBlock (positioned) {DIV} at (250,333) size 25x26 [border: (3px solid #0000FF7F)]
+layer at (225,333) size 25x26
+  RenderBlock (positioned) {DIV} at (225,333) size 25x26 [border: (3px solid #0000FF7F)]
+layer at (326,281) size 25x25
+  RenderBlock (positioned) {DIV} at (326,281) size 25x25 [border: (3px solid #0000FF7F)]
+layer at (351,333) size 25x26
+  RenderBlock (positioned) {DIV} at (351,333) size 25x26 [border: (3px solid #0000FF7F)]
+layer at (326,333) size 25x26
+  RenderBlock (positioned) {DIV} at (326,333) size 25x26 [border: (3px solid #0000FF7F)]
+layer at (451,333) size 25x26
+  RenderBlock (positioned) {DIV} at (451,333) size 25x26 [border: (3px solid #0000FF7F)]
+layer at (426,333) size 25x26
+  RenderBlock (positioned) {DIV} at (426,333) size 25x26 [border: (3px solid #0000FF7F)]
+layer at (549,335) size 25x26
+  RenderBlock (positioned) {DIV} at (549,335) size 25x26 [border: (3px solid #0000FF7F)]
+layer at (651,333) size 25x26
+  RenderBlock (positioned) {DIV} at (651,333) size 25x26 [border: (3px solid #0000FF7F)]
+layer at (61,453) size 25x26
+  RenderBlock (positioned) {DIV} at (61,453) size 25x26 [border: (3px solid #0000FF7F)]

Modified: trunk/Source/WebCore/ChangeLog (167763 => 167764)


--- trunk/Source/WebCore/ChangeLog	2014-04-24 16:36:56 UTC (rev 167763)
+++ trunk/Source/WebCore/ChangeLog	2014-04-24 17:02:37 UTC (rev 167764)
@@ -1,3 +1,19 @@
+2014-04-24  David Hyatt  <[email protected]>
+
+        [New Multicolumn] Client rects don't work with column spans.
+        https://bugs.webkit.org/show_bug.cgi?id=132131
+
+        Reviewed by Dean Jackson.
+        
+        Don't factor in the offset of the multicolumn set from the top
+        of the multicolumn block. This was added already, and it doesn't
+        need to be a part of columnTranslationForOffset.
+
+        Added fast/multicol/client-rects-spanners.html
+
+        * rendering/RenderMultiColumnSet.cpp:
+        (WebCore::RenderMultiColumnSet::columnTranslationForOffset):
+
 2014-04-24  Praveen R Jadhav  <[email protected]>
 
         [EFL] WebKit build fails when MEDIA_SOURCE is enabled

Modified: trunk/Source/WebCore/rendering/RenderMultiColumnSet.cpp (167763 => 167764)


--- trunk/Source/WebCore/rendering/RenderMultiColumnSet.cpp	2014-04-24 16:36:56 UTC (rev 167763)
+++ trunk/Source/WebCore/rendering/RenderMultiColumnSet.cpp	2014-04-24 17:02:37 UTC (rev 167764)
@@ -832,7 +832,7 @@
             inlineOffset += contentLogicalWidth() - colLogicalWidth;
     }
     translationOffset.setX(inlineOffset);
-    LayoutUnit blockOffset = initialBlockOffset + logicalTop() - flowThread()->logicalTop() + (isHorizontalWritingMode() ? -flowThreadPortion.y() : -flowThreadPortion.x());
+    LayoutUnit blockOffset = initialBlockOffset + (isHorizontalWritingMode() ? -flowThreadPortion.y() : -flowThreadPortion.x());
     if (!progressionIsInline) {
         if (!progressionReversed)
             blockOffset = startColumn * colGap;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to