<!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>[200284] trunk/Source/WebCore</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/200284">200284</a></dd>
<dt>Author</dt> <dd>simon.fraser@apple.com</dd>
<dt>Date</dt> <dd>2016-04-29 21:13:22 -0700 (Fri, 29 Apr 2016)</dd>
</dl>

<h3>Log Message</h3>
<pre>Make clipToRect() and restoreClip() have similar signatures
https://bugs.webkit.org/show_bug.cgi?id=157229

Reviewed by Zalan Bujtas.

clipToRect() and restoreClip() are always called in pairs, but had different
parameter order, and parameter types. So make them more similar.

In future we could use them in a stack-based class.

No behavior change.

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::clipToRect):
(WebCore::RenderLayer::restoreClip):
(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::applyFilters):
(WebCore::RenderLayer::paintTransformedLayerIntoFragments):
(WebCore::RenderLayer::paintBackgroundForFragments):
(WebCore::RenderLayer::paintForegroundForFragments):
(WebCore::RenderLayer::paintForegroundForFragmentsWithPhase):
(WebCore::RenderLayer::paintOutlineForFragments):
(WebCore::RenderLayer::paintMaskForFragments):
(WebCore::RenderLayer::paintChildClippingMaskForFragments):
(WebCore::RenderLayer::paintOverflowControlsForFragments):
(WebCore::RenderLayer::calculateClipRects):
* rendering/RenderLayer.h:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderLayercpp">trunk/Source/WebCore/rendering/RenderLayer.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderLayerh">trunk/Source/WebCore/rendering/RenderLayer.h</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (200283 => 200284)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2016-04-30 04:13:16 UTC (rev 200283)
+++ trunk/Source/WebCore/ChangeLog        2016-04-30 04:13:22 UTC (rev 200284)
</span><span class="lines">@@ -1,5 +1,35 @@
</span><span class="cx"> 2016-04-29  Simon Fraser  &lt;simon.fraser@apple.com&gt;
</span><span class="cx"> 
</span><ins>+        Make clipToRect() and restoreClip() have similar signatures
+        https://bugs.webkit.org/show_bug.cgi?id=157229
+
+        Reviewed by Zalan Bujtas.
+
+        clipToRect() and restoreClip() are always called in pairs, but had different
+        parameter order, and parameter types. So make them more similar.
+        
+        In future we could use them in a stack-based class.
+
+        No behavior change.
+
+        * rendering/RenderLayer.cpp:
+        (WebCore::RenderLayer::clipToRect):
+        (WebCore::RenderLayer::restoreClip):
+        (WebCore::RenderLayer::paintLayer):
+        (WebCore::RenderLayer::applyFilters):
+        (WebCore::RenderLayer::paintTransformedLayerIntoFragments):
+        (WebCore::RenderLayer::paintBackgroundForFragments):
+        (WebCore::RenderLayer::paintForegroundForFragments):
+        (WebCore::RenderLayer::paintForegroundForFragmentsWithPhase):
+        (WebCore::RenderLayer::paintOutlineForFragments):
+        (WebCore::RenderLayer::paintMaskForFragments):
+        (WebCore::RenderLayer::paintChildClippingMaskForFragments):
+        (WebCore::RenderLayer::paintOverflowControlsForFragments):
+        (WebCore::RenderLayer::calculateClipRects):
+        * rendering/RenderLayer.h:
+
+2016-04-29  Simon Fraser  &lt;simon.fraser@apple.com&gt;
+
</ins><span class="cx">         Blur filter escapes an enclosing overflow:hidden
</span><span class="cx">         https://bugs.webkit.org/show_bug.cgi?id=155029
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderLayercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderLayer.cpp (200283 => 200284)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderLayer.cpp        2016-04-30 04:13:16 UTC (rev 200283)
+++ trunk/Source/WebCore/rendering/RenderLayer.cpp        2016-04-30 04:13:22 UTC (rev 200284)
</span><span class="lines">@@ -3827,7 +3827,7 @@
</span><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void RenderLayer::clipToRect(const LayerPaintingInfo&amp; paintingInfo, GraphicsContext&amp; context, const ClipRect&amp; clipRect, BorderRadiusClippingRule rule)
</del><ins>+void RenderLayer::clipToRect(GraphicsContext&amp; context, const LayerPaintingInfo&amp; paintingInfo, const ClipRect&amp; clipRect, BorderRadiusClippingRule rule)
</ins><span class="cx"> {
</span><span class="cx">     float deviceScaleFactor = renderer().document().deviceScaleFactor();
</span><span class="cx">     bool needsClipping = !clipRect.isInfinite() &amp;&amp; clipRect.rect() != paintingInfo.paintDirtyRect;
</span><span class="lines">@@ -3861,9 +3861,9 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void RenderLayer::restoreClip(GraphicsContext&amp; context, const LayoutRect&amp; paintDirtyRect, const ClipRect&amp; clipRect)
</del><ins>+void RenderLayer::restoreClip(GraphicsContext&amp; context, const LayerPaintingInfo&amp; paintingInfo, const ClipRect&amp; clipRect)
</ins><span class="cx"> {
</span><del>-    if ((!clipRect.isInfinite() &amp;&amp; clipRect.rect() != paintDirtyRect) || clipRect.affectedByRadius())
</del><ins>+    if ((!clipRect.isInfinite() &amp;&amp; clipRect.rect() != paintingInfo.paintDirtyRect) || clipRect.affectedByRadius())
</ins><span class="cx">         context.restore();
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -3982,14 +3982,14 @@
</span><span class="cx">             clipRect.intersect(paintingInfo.paintDirtyRect);
</span><span class="cx">         
</span><span class="cx">             // Push the parent coordinate space's clip.
</span><del>-            parent()-&gt;clipToRect(paintingInfo, context, clipRect);
</del><ins>+            parent()-&gt;clipToRect(context, paintingInfo, clipRect);
</ins><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         paintLayerByApplyingTransform(context, paintingInfo, paintFlags);
</span><span class="cx"> 
</span><span class="cx">         // Restore the clip.
</span><span class="cx">         if (parent())
</span><del>-            parent()-&gt;restoreClip(context, paintingInfo.paintDirtyRect, clipRect);
</del><ins>+            parent()-&gt;restoreClip(context, paintingInfo, clipRect);
</ins><span class="cx"> 
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="lines">@@ -4202,9 +4202,9 @@
</span><span class="cx"> 
</span><span class="cx">     // FIXME: Handle more than one fragment.
</span><span class="cx">     ClipRect backgroundRect = layerFragments.isEmpty() ? ClipRect() : layerFragments[0].backgroundRect;
</span><del>-    clipToRect(paintingInfo, originalContext, backgroundRect);
</del><ins>+    clipToRect(originalContext, paintingInfo, backgroundRect);
</ins><span class="cx">     filterPainter-&gt;applyFilterEffect(originalContext);
</span><del>-    restoreClip(originalContext, paintingInfo.paintDirtyRect, backgroundRect);
</del><ins>+    restoreClip(originalContext, paintingInfo, backgroundRect);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // Helper for the sorting of layers by z-index.
</span><span class="lines">@@ -4663,9 +4663,9 @@
</span><span class="cx">             clipRect.intersect(parentClipRect);
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        parent()-&gt;clipToRect(paintingInfo, context, clipRect);
</del><ins>+        parent()-&gt;clipToRect(context, paintingInfo, clipRect);
</ins><span class="cx">         paintLayerByApplyingTransform(context, paintingInfo, paintFlags, fragment.paginationOffset);
</span><del>-        parent()-&gt;restoreClip(context, paintingInfo.paintDirtyRect, clipRect);
</del><ins>+        parent()-&gt;restoreClip(context, paintingInfo, clipRect);
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -4684,7 +4684,7 @@
</span><span class="cx">         if (localPaintingInfo.clipToDirtyRect) {
</span><span class="cx">             // Paint our background first, before painting any child layers.
</span><span class="cx">             // Establish the clip used to paint our background.
</span><del>-            clipToRect(localPaintingInfo, context, fragment.backgroundRect, DoNotIncludeSelfForBorderRadius); // Background painting will handle clipping to self.
</del><ins>+            clipToRect(context, localPaintingInfo, fragment.backgroundRect, DoNotIncludeSelfForBorderRadius); // Background painting will handle clipping to self.
</ins><span class="cx">         }
</span><span class="cx">         
</span><span class="cx">         // Paint the background.
</span><span class="lines">@@ -4693,7 +4693,7 @@
</span><span class="cx">         renderer().paint(paintInfo, toLayoutPoint(fragment.layerBounds.location() - renderBoxLocation() + localPaintingInfo.subpixelAccumulation));
</span><span class="cx"> 
</span><span class="cx">         if (localPaintingInfo.clipToDirtyRect)
</span><del>-            restoreClip(context, localPaintingInfo.paintDirtyRect, fragment.backgroundRect);
</del><ins>+            restoreClip(context, localPaintingInfo, fragment.backgroundRect);
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -4724,7 +4724,7 @@
</span><span class="cx">     ClipRect clippedRect;
</span><span class="cx">     if (shouldClip) {
</span><span class="cx">         clippedRect = layerFragments[0].foregroundRect;
</span><del>-        clipToRect(localPaintingInfo, context, clippedRect);
</del><ins>+        clipToRect(context, localPaintingInfo, clippedRect);
</ins><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     // We have to loop through every fragment multiple times, since we have to repaint in each specific phase in order for
</span><span class="lines">@@ -4739,7 +4739,7 @@
</span><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     if (shouldClip)
</span><del>-        restoreClip(context, localPaintingInfo.paintDirtyRect, clippedRect);
</del><ins>+        restoreClip(context, localPaintingInfo, clippedRect);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void RenderLayer::paintForegroundForFragmentsWithPhase(PaintPhase phase, const LayerFragments&amp; layerFragments, GraphicsContext&amp; context,
</span><span class="lines">@@ -4752,7 +4752,7 @@
</span><span class="cx">             continue;
</span><span class="cx">         
</span><span class="cx">         if (shouldClip)
</span><del>-            clipToRect(localPaintingInfo, context, fragment.foregroundRect);
</del><ins>+            clipToRect(context, localPaintingInfo, fragment.foregroundRect);
</ins><span class="cx">     
</span><span class="cx">         PaintInfo paintInfo(context, fragment.foregroundRect.rect(), phase, paintBehavior, subtreePaintRootForRenderer, nullptr, nullptr, &amp;localPaintingInfo.rootLayer-&gt;renderer());
</span><span class="cx">         if (phase == PaintPhaseForeground)
</span><span class="lines">@@ -4760,7 +4760,7 @@
</span><span class="cx">         renderer().paint(paintInfo, toLayoutPoint(fragment.layerBounds.location() - renderBoxLocation() + localPaintingInfo.subpixelAccumulation));
</span><span class="cx">         
</span><span class="cx">         if (shouldClip)
</span><del>-            restoreClip(context, localPaintingInfo.paintDirtyRect, fragment.foregroundRect);
</del><ins>+            restoreClip(context, localPaintingInfo, fragment.foregroundRect);
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -4773,9 +4773,9 @@
</span><span class="cx">     
</span><span class="cx">         // Paint our own outline
</span><span class="cx">         PaintInfo paintInfo(context, fragment.backgroundRect.rect(), PaintPhaseSelfOutline, paintBehavior, subtreePaintRootForRenderer, nullptr, nullptr, &amp;localPaintingInfo.rootLayer-&gt;renderer());
</span><del>-        clipToRect(localPaintingInfo, context, fragment.backgroundRect, DoNotIncludeSelfForBorderRadius);
</del><ins>+        clipToRect(context, localPaintingInfo, fragment.backgroundRect, DoNotIncludeSelfForBorderRadius);
</ins><span class="cx">         renderer().paint(paintInfo, toLayoutPoint(fragment.layerBounds.location() - renderBoxLocation() + localPaintingInfo.subpixelAccumulation));
</span><del>-        restoreClip(context, localPaintingInfo.paintDirtyRect, fragment.backgroundRect);
</del><ins>+        restoreClip(context, localPaintingInfo, fragment.backgroundRect);
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -4787,7 +4787,7 @@
</span><span class="cx">             continue;
</span><span class="cx"> 
</span><span class="cx">         if (localPaintingInfo.clipToDirtyRect)
</span><del>-            clipToRect(localPaintingInfo, context, fragment.backgroundRect, DoNotIncludeSelfForBorderRadius); // Mask painting will handle clipping to self.
</del><ins>+            clipToRect(context, localPaintingInfo, fragment.backgroundRect, DoNotIncludeSelfForBorderRadius); // Mask painting will handle clipping to self.
</ins><span class="cx">         
</span><span class="cx">         // Paint the mask.
</span><span class="cx">         // FIXME: Eventually we will collect the region from the fragment itself instead of just from the paint info.
</span><span class="lines">@@ -4795,7 +4795,7 @@
</span><span class="cx">         renderer().paint(paintInfo, toLayoutPoint(fragment.layerBounds.location() - renderBoxLocation() + localPaintingInfo.subpixelAccumulation));
</span><span class="cx">         
</span><span class="cx">         if (localPaintingInfo.clipToDirtyRect)
</span><del>-            restoreClip(context, localPaintingInfo.paintDirtyRect, fragment.backgroundRect);
</del><ins>+            restoreClip(context, localPaintingInfo, fragment.backgroundRect);
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -4807,14 +4807,14 @@
</span><span class="cx">             continue;
</span><span class="cx"> 
</span><span class="cx">         if (localPaintingInfo.clipToDirtyRect)
</span><del>-            clipToRect(localPaintingInfo, context, fragment.foregroundRect, IncludeSelfForBorderRadius); // Child clipping mask painting will handle clipping to self.
</del><ins>+            clipToRect(context, localPaintingInfo, fragment.foregroundRect, IncludeSelfForBorderRadius); // Child clipping mask painting will handle clipping to self.
</ins><span class="cx"> 
</span><span class="cx">         // Paint the clipped mask.
</span><span class="cx">         PaintInfo paintInfo(context, fragment.backgroundRect.rect(), PaintPhaseClippingMask, PaintBehaviorNormal, subtreePaintRootForRenderer, nullptr, nullptr, &amp;localPaintingInfo.rootLayer-&gt;renderer());
</span><span class="cx">         renderer().paint(paintInfo, toLayoutPoint(fragment.layerBounds.location() - renderBoxLocation() + localPaintingInfo.subpixelAccumulation));
</span><span class="cx"> 
</span><span class="cx">         if (localPaintingInfo.clipToDirtyRect)
</span><del>-            restoreClip(context, localPaintingInfo.paintDirtyRect, fragment.foregroundRect);
</del><ins>+            restoreClip(context, localPaintingInfo, fragment.foregroundRect);
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -4823,10 +4823,10 @@
</span><span class="cx">     for (const auto&amp; fragment : layerFragments) {
</span><span class="cx">         if (fragment.backgroundRect.isEmpty())
</span><span class="cx">             continue;
</span><del>-        clipToRect(localPaintingInfo, context, fragment.backgroundRect);
</del><ins>+        clipToRect(context, localPaintingInfo, fragment.backgroundRect);
</ins><span class="cx">         paintOverflowControls(context, roundedIntPoint(toLayoutPoint(fragment.layerBounds.location() - renderBoxLocation() + localPaintingInfo.subpixelAccumulation)),
</span><span class="cx">             snappedIntRect(fragment.backgroundRect.rect()), true);
</span><del>-        restoreClip(context, localPaintingInfo.paintDirtyRect, fragment.backgroundRect);
</del><ins>+        restoreClip(context, localPaintingInfo, fragment.backgroundRect);
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -7004,13 +7004,13 @@
</span><span class="cx">         bool shouldClip = !clipRect.isInfinite();
</span><span class="cx">         // Optimize clipping for the single fragment case.
</span><span class="cx">         if (shouldClip)
</span><del>-            clipToRect(paintingInfo, context, clipRect);
</del><ins>+            clipToRect(context, paintingInfo, clipRect);
</ins><span class="cx"> 
</span><span class="cx">         flowThreadLayer-&gt;paintNamedFlowThreadInsideRegion(context, flowFragment, paintingInfo.paintDirtyRect, fragment.layerBounds.location() + paintingInfo.subpixelAccumulation,
</span><span class="cx">             paintingInfo.paintBehavior, paintFlags);
</span><span class="cx"> 
</span><span class="cx">         if (shouldClip)
</span><del>-            restoreClip(context, paintingInfo.paintDirtyRect, clipRect);
</del><ins>+            restoreClip(context, paintingInfo, clipRect);
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderLayerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderLayer.h (200283 => 200284)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderLayer.h        2016-04-30 04:13:16 UTC (rev 200283)
+++ trunk/Source/WebCore/rendering/RenderLayer.h        2016-04-30 04:13:22 UTC (rev 200284)
</span><span class="lines">@@ -726,8 +726,8 @@
</span><span class="cx">     void computeRepaintRectsIncludingDescendants();
</span><span class="cx">     void clearRepaintRects();
</span><span class="cx"> 
</span><del>-    void clipToRect(const LayerPaintingInfo&amp;, GraphicsContext&amp;, const ClipRect&amp;, BorderRadiusClippingRule = IncludeSelfForBorderRadius);
-    void restoreClip(GraphicsContext&amp;, const LayoutRect&amp; paintDirtyRect, const ClipRect&amp;);
</del><ins>+    void clipToRect(GraphicsContext&amp;, const LayerPaintingInfo&amp;, const ClipRect&amp;, BorderRadiusClippingRule = IncludeSelfForBorderRadius);
+    void restoreClip(GraphicsContext&amp;, const LayerPaintingInfo&amp;, const ClipRect&amp;);
</ins><span class="cx"> 
</span><span class="cx">     bool shouldRepaintAfterLayout() const;
</span><span class="cx"> 
</span></span></pre>
</div>
</div>

</body>
</html>