<!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>[167463] 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/167463">167463</a></dd>
<dt>Author</dt> <dd>hyatt@apple.com</dd>
<dt>Date</dt> <dd>2014-04-17 16:06:02 -0700 (Thu, 17 Apr 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>[New Multicolumn] Column rules don't respect the specified stacking order.
https://bugs.webkit.org/show_bug.cgi?id=131804

Reviewed by Beth Dakin.


Source/WebCore: 
Added fast/multicol/newmulticol/compare_with_old_impl/column-rules-stacking.html

* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::paintBoxDecorations):
* rendering/RenderBlockFlow.h:
Override paintBoxDecorations for block flows so that we can iterate over our column sets
and paint their rules just after painting our background and border. We can't wait until
the child column sets paint their backgrounds, since that is specified as being above negative
z-index children. We have to pretend that the column sets don't exist as
far as column rule painting is concerned.

* rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::paintObject): Deleted.
* rendering/RenderMultiColumnSet.h:
Turn paintObject in RenderMultiColumnSet into an override that doesn't paint anything.

LayoutTests: 
* fast/multicol/newmulticol/compare-with-old-impl/column-rules-stacking-expected.html: Added.
* fast/multicol/newmulticol/compare-with-old-impl/column-rules-stacking.html: Added.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderBlockFlowcpp">trunk/Source/WebCore/rendering/RenderBlockFlow.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderBlockFlowh">trunk/Source/WebCore/rendering/RenderBlockFlow.h</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderMultiColumnSetcpp">trunk/Source/WebCore/rendering/RenderMultiColumnSet.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderMultiColumnSeth">trunk/Source/WebCore/rendering/RenderMultiColumnSet.h</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsfastmulticolnewmulticolcomparewitholdimplcolumnrulesstackingexpectedhtml">trunk/LayoutTests/fast/multicol/newmulticol/compare-with-old-impl/column-rules-stacking-expected.html</a></li>
<li><a href="#trunkLayoutTestsfastmulticolnewmulticolcomparewitholdimplcolumnrulesstackinghtml">trunk/LayoutTests/fast/multicol/newmulticol/compare-with-old-impl/column-rules-stacking.html</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (167462 => 167463)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2014-04-17 23:04:01 UTC (rev 167462)
+++ trunk/LayoutTests/ChangeLog        2014-04-17 23:06:02 UTC (rev 167463)
</span><span class="lines">@@ -1,3 +1,13 @@
</span><ins>+2014-04-17  David Hyatt  &lt;hyatt@apple.com&gt;
+
+        [New Multicolumn] Column rules don't respect the specified stacking order.
+        https://bugs.webkit.org/show_bug.cgi?id=131804
+
+        Reviewed by Beth Dakin.
+
+        * fast/multicol/newmulticol/compare-with-old-impl/column-rules-stacking-expected.html: Added.
+        * fast/multicol/newmulticol/compare-with-old-impl/column-rules-stacking.html: Added.
+
</ins><span class="cx"> 2014-04-17  Rik Cabanier  &lt;cabanier@adobe.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [CSS Blending] Remove the -webkit- prefix for mix-blend-mode and isolation CSS properties
</span></span></pre></div>
<a id="trunkLayoutTestsfastmulticolnewmulticolcomparewitholdimplcolumnrulesstackingexpectedhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/fast/multicol/newmulticol/compare-with-old-impl/column-rules-stacking-expected.html (0 => 167463)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/multicol/newmulticol/compare-with-old-impl/column-rules-stacking-expected.html                                (rev 0)
+++ trunk/LayoutTests/fast/multicol/newmulticol/compare-with-old-impl/column-rules-stacking-expected.html        2014-04-17 23:06:02 UTC (rev 167463)
</span><span class="lines">@@ -0,0 +1,10 @@
</span><ins>+In the test below, the column rules should not be visible, since a negative z-index child is painting on top of them.  You should see no red below.
+
+&lt;div style=&quot;-webkit-column-count: 3; -webkit-column-rule: 4px solid red; padding: 0 30px; border:5px solid black;position:relative; z-index:0; background-color:red&quot;&gt;
+&lt;div style=&quot;position:absolute; left:0; top:0;right:0;bottom:0; z-index:-1; background-color:#eeeeee&quot;&gt;&lt;/div&gt;
+Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nulla varius enim ac mi. Curabitur sollicitudin felis quis lectus. Quisque adipiscing rhoncus sem. Proin nulla purus, vulputate vel, varius ut, euismod et, nisi. Sed vitae felis vel orci sagittis aliquam. Cras convallis adipiscing sem. Nam nonummy enim. Nullam bibendum lobortis neque. Vestibulum velit orci, tempus euismod, pretium quis, interdum vitae, nulla. Phasellus eget ante et tortor condimentum vestibulum.
+Suspendisse hendrerit quam nec felis. Sed varius turpis vitae pede. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Proin bibendum justo ac enim. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Sed leo nulla, rutrum eu, dictum ut, posuere vel, arcu. Nam libero. Morbi orci. Maecenas pellentesque. Curabitur erat erat, ullamcorper at, gravida vitae, iaculis vitae, elit. Nullam quam. Quisque orci lectus, ullamcorper eu, imperdiet sed, accumsan et, ligula. Duis diam nisl, sagittis a, blandit volutpat, interdum sed, velit. Vestibulum quam.
+Nulla a purus. Phasellus semper semper lectus. Nulla porttitor, dolor dictum scelerisque luctus, velit ipsum lobortis mauris, ac pretium enim nunc vel risus. Proin gravida mi ut sem cursus mattis. Fusce laoreet, nisi quis luctus volutpat, arcu pede tincidunt enim, nec malesuada urna nisl eu enim. Vivamus varius augue ac purus. Vestibulum vestibulum. Phasellus et est vitae ante accumsan rhoncus. Morbi convallis, arcu at hendrerit gravida, sem diam dignissim risus, sed aliquet erat mi ut mi. Nunc cursus lacinia elit.
+Nunc nisi. Quisque at erat. Vestibulum dictum quam vitae nibh. Nunc vitae ante non odio interdum blandit. Curabitur leo quam, fermentum sed, feugiat in, ullamcorper id, nibh. Suspendisse ac turpis. In iaculis sollicitudin dui. Aenean vitae lectus vitae nulla pellentesque sollicitudin. Nunc gravida pharetra lectus. Etiam lacus ligula, placerat ut, dictum vitae, tempus vel, risus. Cras rhoncus. Praesent varius ultricies orci. Donec mattis, neque ut ornare fringilla, ante urna placerat eros, vel commodo nisi tortor ut mauris. Morbi magna dui, sagittis sit amet, tincidunt et, elementum eget, quam. Fusce molestie nisl vitae nisi.
+Vestibulum a sapien. Phasellus ante lacus, vehicula non, cursus a, tempor ut, magna. Suspendisse potenti. Fusce aliquet, odio viverra vulputate dictum, enim odio luctus purus, ut scelerisque quam nulla non est. Donec eros lacus, egestas vitae, lacinia quis, tempor quis, pede. Morbi orci erat, iaculis id, ornare ac, elementum at, sem. Nunc ornare sodales nisi. Morbi interdum commodo nisl. Fusce eget eros non nisi ornare facilisis. Sed placerat, est non posuere posuere, purus sem dignissim libero, a viverra tellus dolor vel lorem. Cras augue. Etiam ultricies consequat odio. Mauris ac libero. Etiam posuere, libero vitae euismod gravida, urna elit imperdiet magna, vel cursus elit felis non mauris. Donec orci erat, porta id, dignissim ut, posuere dictum, leo. Suspendisse scelerisque egestas nulla.
+&lt;/div&gt;
</ins></span></pre></div>
<a id="trunkLayoutTestsfastmulticolnewmulticolcomparewitholdimplcolumnrulesstackinghtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/fast/multicol/newmulticol/compare-with-old-impl/column-rules-stacking.html (0 => 167463)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/multicol/newmulticol/compare-with-old-impl/column-rules-stacking.html                                (rev 0)
+++ trunk/LayoutTests/fast/multicol/newmulticol/compare-with-old-impl/column-rules-stacking.html        2014-04-17 23:06:02 UTC (rev 167463)
</span><span class="lines">@@ -0,0 +1,16 @@
</span><ins>+&lt;head&gt;
+&lt;script&gt;
+if (window.internals)
+    internals.settings.setRegionBasedColumnsEnabled(true);
+&lt;/script&gt;
+&lt;/head&gt;
+In the test below, the column rules should not be visible, since a negative z-index child is painting on top of them.  You should see no red below.
+
+&lt;div style=&quot;-webkit-column-count: 3; -webkit-column-rule: 4px solid red; padding: 0 30px; border:5px solid black;position:relative; z-index:0; background-color:red&quot;&gt;
+&lt;div style=&quot;position:absolute; left:0; top:0;right:0;bottom:0; z-index:-1; background-color:#eeeeee&quot;&gt;&lt;/div&gt;
+Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nulla varius enim ac mi. Curabitur sollicitudin felis quis lectus. Quisque adipiscing rhoncus sem. Proin nulla purus, vulputate vel, varius ut, euismod et, nisi. Sed vitae felis vel orci sagittis aliquam. Cras convallis adipiscing sem. Nam nonummy enim. Nullam bibendum lobortis neque. Vestibulum velit orci, tempus euismod, pretium quis, interdum vitae, nulla. Phasellus eget ante et tortor condimentum vestibulum.
+Suspendisse hendrerit quam nec felis. Sed varius turpis vitae pede. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Proin bibendum justo ac enim. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Sed leo nulla, rutrum eu, dictum ut, posuere vel, arcu. Nam libero. Morbi orci. Maecenas pellentesque. Curabitur erat erat, ullamcorper at, gravida vitae, iaculis vitae, elit. Nullam quam. Quisque orci lectus, ullamcorper eu, imperdiet sed, accumsan et, ligula. Duis diam nisl, sagittis a, blandit volutpat, interdum sed, velit. Vestibulum quam.
+Nulla a purus. Phasellus semper semper lectus. Nulla porttitor, dolor dictum scelerisque luctus, velit ipsum lobortis mauris, ac pretium enim nunc vel risus. Proin gravida mi ut sem cursus mattis. Fusce laoreet, nisi quis luctus volutpat, arcu pede tincidunt enim, nec malesuada urna nisl eu enim. Vivamus varius augue ac purus. Vestibulum vestibulum. Phasellus et est vitae ante accumsan rhoncus. Morbi convallis, arcu at hendrerit gravida, sem diam dignissim risus, sed aliquet erat mi ut mi. Nunc cursus lacinia elit.
+Nunc nisi. Quisque at erat. Vestibulum dictum quam vitae nibh. Nunc vitae ante non odio interdum blandit. Curabitur leo quam, fermentum sed, feugiat in, ullamcorper id, nibh. Suspendisse ac turpis. In iaculis sollicitudin dui. Aenean vitae lectus vitae nulla pellentesque sollicitudin. Nunc gravida pharetra lectus. Etiam lacus ligula, placerat ut, dictum vitae, tempus vel, risus. Cras rhoncus. Praesent varius ultricies orci. Donec mattis, neque ut ornare fringilla, ante urna placerat eros, vel commodo nisi tortor ut mauris. Morbi magna dui, sagittis sit amet, tincidunt et, elementum eget, quam. Fusce molestie nisl vitae nisi.
+Vestibulum a sapien. Phasellus ante lacus, vehicula non, cursus a, tempor ut, magna. Suspendisse potenti. Fusce aliquet, odio viverra vulputate dictum, enim odio luctus purus, ut scelerisque quam nulla non est. Donec eros lacus, egestas vitae, lacinia quis, tempor quis, pede. Morbi orci erat, iaculis id, ornare ac, elementum at, sem. Nunc ornare sodales nisi. Morbi interdum commodo nisl. Fusce eget eros non nisi ornare facilisis. Sed placerat, est non posuere posuere, purus sem dignissim libero, a viverra tellus dolor vel lorem. Cras augue. Etiam ultricies consequat odio. Mauris ac libero. Etiam posuere, libero vitae euismod gravida, urna elit imperdiet magna, vel cursus elit felis non mauris. Donec orci erat, porta id, dignissim ut, posuere dictum, leo. Suspendisse scelerisque egestas nulla.
+&lt;/div&gt;
</ins></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (167462 => 167463)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2014-04-17 23:04:01 UTC (rev 167462)
+++ trunk/Source/WebCore/ChangeLog        2014-04-17 23:06:02 UTC (rev 167463)
</span><span class="lines">@@ -1,3 +1,26 @@
</span><ins>+2014-04-17  David Hyatt  &lt;hyatt@apple.com&gt;
+
+        [New Multicolumn] Column rules don't respect the specified stacking order.
+        https://bugs.webkit.org/show_bug.cgi?id=131804
+
+        Reviewed by Beth Dakin.
+
+        Added fast/multicol/newmulticol/compare_with_old_impl/column-rules-stacking.html
+
+        * rendering/RenderBlockFlow.cpp:
+        (WebCore::RenderBlockFlow::paintBoxDecorations):
+        * rendering/RenderBlockFlow.h:
+        Override paintBoxDecorations for block flows so that we can iterate over our column sets
+        and paint their rules just after painting our background and border. We can't wait until
+        the child column sets paint their backgrounds, since that is specified as being above negative
+        z-index children. We have to pretend that the column sets don't exist as
+        far as column rule painting is concerned.
+
+        * rendering/RenderMultiColumnSet.cpp:
+        (WebCore::RenderMultiColumnSet::paintObject): Deleted.
+        * rendering/RenderMultiColumnSet.h:
+        Turn paintObject in RenderMultiColumnSet into an override that doesn't paint anything.
+
</ins><span class="cx"> 2014-04-17  Beth Dakin  &lt;bdakin@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Hit-testing is incorrect for plugins inside iframes when there is a 
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderBlockFlowcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderBlockFlow.cpp (167462 => 167463)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderBlockFlow.cpp        2014-04-17 23:04:01 UTC (rev 167462)
+++ trunk/Source/WebCore/rendering/RenderBlockFlow.cpp        2014-04-17 23:06:02 UTC (rev 167463)
</span><span class="lines">@@ -1997,6 +1997,20 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+void RenderBlockFlow::paintBoxDecorations(PaintInfo&amp; paintInfo, const LayoutPoint&amp; point)
+{
+    RenderBlock::paintBoxDecorations(paintInfo, point);
+    
+    if (!multiColumnFlowThread() || !paintInfo.shouldPaintWithinRoot(*this))
+        return;
+    
+    // Iterate over our children and paint the column rules as needed.
+    for (auto&amp; columnSet : childrenOfType&lt;RenderMultiColumnSet&gt;(*this)) {
+        LayoutPoint childPoint = columnSet.location() + flipForWritingModeForChild(&amp;columnSet, point);
+        columnSet.paintColumnRules(paintInfo, childPoint);
+    }
+}
+
</ins><span class="cx"> void RenderBlockFlow::paintFloats(PaintInfo&amp; paintInfo, const LayoutPoint&amp; paintOffset, bool preservePhase)
</span><span class="cx"> {
</span><span class="cx">     if (!m_floatingObjects)
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderBlockFlowh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderBlockFlow.h (167462 => 167463)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderBlockFlow.h        2014-04-17 23:04:01 UTC (rev 167462)
+++ trunk/Source/WebCore/rendering/RenderBlockFlow.h        2014-04-17 23:06:02 UTC (rev 167463)
</span><span class="lines">@@ -82,6 +82,8 @@
</span><span class="cx">     virtual void dirtyLinesFromChangedChild(RenderObject* child) override final { lineBoxes().dirtyLinesFromChangedChild(this, child); }
</span><span class="cx">     virtual void updateLogicalHeight() override;
</span><span class="cx"> 
</span><ins>+    virtual void paintBoxDecorations(PaintInfo&amp;, const LayoutPoint&amp;) override;
+
</ins><span class="cx"> public:
</span><span class="cx">     class MarginValues {
</span><span class="cx">     public:
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderMultiColumnSetcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderMultiColumnSet.cpp (167462 => 167463)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderMultiColumnSet.cpp        2014-04-17 23:04:01 UTC (rev 167462)
+++ trunk/Source/WebCore/rendering/RenderMultiColumnSet.cpp        2014-04-17 23:06:02 UTC (rev 167463)
</span><span class="lines">@@ -539,24 +539,6 @@
</span><span class="cx">     return overflowRect;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void RenderMultiColumnSet::paintObject(PaintInfo&amp; paintInfo, const LayoutPoint&amp; paintOffset)
-{
-    if (style().visibility() != VISIBLE)
-        return;
-
-    RenderBlock::paintObject(paintInfo, paintOffset);
-
-    // FIXME: Right now we're only painting in the foreground phase.
-    // Columns should technically respect phases and allow for background/float/foreground overlap etc., just like
-    // RenderBlocks do. Note this is a pretty minor issue, since the old column implementation clipped columns
-    // anyway, thus making it impossible for them to overlap one another. It's also really unlikely that the columns
-    // would overlap another block.
-    if (!m_flowThread || !isValid() || (paintInfo.phase != PaintPhaseForeground &amp;&amp; paintInfo.phase != PaintPhaseSelection))
-        return;
-
-    paintColumnRules(paintInfo, paintOffset);
-}
-
</del><span class="cx"> void RenderMultiColumnSet::paintColumnRules(PaintInfo&amp; paintInfo, const LayoutPoint&amp; paintOffset)
</span><span class="cx"> {
</span><span class="cx">     if (paintInfo.context-&gt;paintingDisabled())
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderMultiColumnSeth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderMultiColumnSet.h (167462 => 167463)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderMultiColumnSet.h        2014-04-17 23:04:01 UTC (rev 167462)
+++ trunk/Source/WebCore/rendering/RenderMultiColumnSet.h        2014-04-17 23:06:02 UTC (rev 167463)
</span><span class="lines">@@ -116,6 +116,8 @@
</span><span class="cx">     bool requiresBalancing() const;
</span><span class="cx"> 
</span><span class="cx">     LayoutPoint columnTranslationForOffset(const LayoutUnit&amp;) const;
</span><ins>+    
+    void paintColumnRules(PaintInfo&amp;, const LayoutPoint&amp; paintOffset);
</ins><span class="cx"> 
</span><span class="cx"> protected:
</span><span class="cx">     void addOverflowFromChildren() override;
</span><span class="lines">@@ -125,7 +127,7 @@
</span><span class="cx"> 
</span><span class="cx">     virtual void computeLogicalHeight(LayoutUnit logicalHeight, LayoutUnit logicalTop, LogicalExtentComputedValues&amp;) const override;
</span><span class="cx"> 
</span><del>-    virtual void paintObject(PaintInfo&amp;, const LayoutPoint&amp; paintOffset) override;
</del><ins>+    virtual void paintObject(PaintInfo&amp;, const LayoutPoint&amp;) override { }
</ins><span class="cx"> 
</span><span class="cx">     virtual LayoutUnit pageLogicalWidth() const override { return m_computedColumnWidth; }
</span><span class="cx">     virtual LayoutUnit pageLogicalHeight() const override { return m_computedColumnHeight; }
</span><span class="lines">@@ -143,8 +145,6 @@
</span><span class="cx">     virtual VisiblePosition positionForPoint(const LayoutPoint&amp;) override;
</span><span class="cx"> 
</span><span class="cx">     virtual const char* renderName() const;
</span><del>-    
-    void paintColumnRules(PaintInfo&amp;, const LayoutPoint&amp; paintOffset);
</del><span class="cx"> 
</span><span class="cx">     LayoutUnit calculateMaxColumnHeight() const;
</span><span class="cx">     LayoutUnit columnGap() const;
</span></span></pre>
</div>
</div>

</body>
</html>