Title: [161443] trunk/Source/WebCore
Revision
161443
Author
carlo...@webkit.org
Date
2014-01-07 12:01:31 -0800 (Tue, 07 Jan 2014)

Log Message

REGRESSION(r161381): [GTK] Rendering is broken in GTK after r161381
https://bugs.webkit.org/show_bug.cgi?id=126570

Reviewed by Tim Horton.

Use LayoutRect::infiniteRect() instead of IntRect::infiniteRect()
when a LayoutRect is expected.

* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::fragmentsBoundingBox):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::collectFragments):
(WebCore::RenderLayer::calculateClipRects):
* rendering/RenderLayerBacking.cpp:
(WebCore::clipBox):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::clippedByAncestor):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (161442 => 161443)


--- trunk/Source/WebCore/ChangeLog	2014-01-07 19:39:50 UTC (rev 161442)
+++ trunk/Source/WebCore/ChangeLog	2014-01-07 20:01:31 UTC (rev 161443)
@@ -1,3 +1,23 @@
+2014-01-07  Carlos Garcia Campos  <cgar...@igalia.com>
+
+        REGRESSION(r161381): [GTK] Rendering is broken in GTK after r161381
+        https://bugs.webkit.org/show_bug.cgi?id=126570
+
+        Reviewed by Tim Horton.
+
+        Use LayoutRect::infiniteRect() instead of IntRect::infiniteRect()
+        when a LayoutRect is expected.
+
+        * rendering/RenderFlowThread.cpp:
+        (WebCore::RenderFlowThread::fragmentsBoundingBox):
+        * rendering/RenderLayer.cpp:
+        (WebCore::RenderLayer::collectFragments):
+        (WebCore::RenderLayer::calculateClipRects):
+        * rendering/RenderLayerBacking.cpp:
+        (WebCore::clipBox):
+        * rendering/RenderLayerCompositor.cpp:
+        (WebCore::RenderLayerCompositor::clippedByAncestor):
+
 2014-01-07  Bear Travis  <betra...@adobe.com>
 
         [CSS Shapes] Change default value from 'auto' to 'none'

Modified: trunk/Source/WebCore/rendering/RenderFlowThread.cpp (161442 => 161443)


--- trunk/Source/WebCore/rendering/RenderFlowThread.cpp	2014-01-07 19:39:50 UTC (rev 161442)
+++ trunk/Source/WebCore/rendering/RenderFlowThread.cpp	2014-01-07 20:01:31 UTC (rev 161443)
@@ -1089,7 +1089,7 @@
     for (auto iter = m_regionList.begin(), end = m_regionList.end(); iter != end; ++iter) {
         RenderRegion* region = *iter;
         LayerFragments fragments;
-        region->collectLayerFragments(fragments, layerBoundingBox, IntRect::infiniteRect());
+        region->collectLayerFragments(fragments, layerBoundingBox, LayoutRect::infiniteRect());
         for (size_t i = 0; i < fragments.size(); ++i) {
             const LayerFragment& fragment = fragments.at(i);
             LayoutRect fragmentRect(layerBoundingBox);

Modified: trunk/Source/WebCore/rendering/RenderLayer.cpp (161442 => 161443)


--- trunk/Source/WebCore/rendering/RenderLayer.cpp	2014-01-07 19:39:50 UTC (rev 161442)
+++ trunk/Source/WebCore/rendering/RenderLayer.cpp	2014-01-07 20:01:31 UTC (rev 161443)
@@ -4280,7 +4280,7 @@
     ClipRect backgroundRectInFlowThread;
     ClipRect foregroundRectInFlowThread;
     ClipRect outlineRectInFlowThread;
-    calculateRects(paginationClipRectsContext, IntRect::infiniteRect(), layerBoundsInFlowThread, backgroundRectInFlowThread, foregroundRectInFlowThread,
+    calculateRects(paginationClipRectsContext, LayoutRect::infiniteRect(), layerBoundsInFlowThread, backgroundRectInFlowThread, foregroundRectInFlowThread,
         outlineRectInFlowThread, &offsetWithinPaginatedLayer);
     
     // Take our bounding box within the flow thread and clip it.
@@ -5346,7 +5346,7 @@
 {
     if (!parent()) {
         // The root layer's clip rect is always infinite.
-        clipRects.reset(IntRect::infiniteRect());
+        clipRects.reset(LayoutRect::infiniteRect());
         return;
     }
     
@@ -5372,7 +5372,7 @@
             parentLayer->calculateClipRects(parentContext, clipRects);
         }
     } else
-        clipRects.reset(IntRect::infiniteRect());
+        clipRects.reset(LayoutRect::infiniteRect());
 
     // A fixed object is essentially the root of its containing block hierarchy, so when
     // we encounter such an object, we reset our clip rects to the fixedClipRect.
@@ -5465,7 +5465,7 @@
     RenderView& view = renderer().view();
 
     // Note: infinite clipRects should not be scrolled here, otherwise they will accidentally no longer be considered infinite.
-    if (parentRects.fixed() && &clipRectsContext.rootLayer->renderer() == &view && backgroundClipRect != IntRect::infiniteRect())
+    if (parentRects.fixed() && &clipRectsContext.rootLayer->renderer() == &view && backgroundClipRect != LayoutRect::infiniteRect())
         backgroundClipRect.move(view.frameView().scrollOffsetForFixedPosition());
 
     return backgroundClipRect;
@@ -5596,10 +5596,10 @@
     LayoutRect layerBounds;
     ClipRect backgroundRect, foregroundRect, outlineRect;
     ClipRectsContext clipRectsContext(clippingRootLayer, 0, PaintingClipRects);
-    calculateRects(clipRectsContext, IntRect::infiniteRect(), layerBounds, backgroundRect, foregroundRect, outlineRect);
+    calculateRects(clipRectsContext, LayoutRect::infiniteRect(), layerBounds, backgroundRect, foregroundRect, outlineRect);
 
     LayoutRect clipRect = backgroundRect.rect();
-    if (clipRect == IntRect::infiniteRect())
+    if (clipRect == LayoutRect::infiniteRect())
         return clipRect;
 
     LayoutPoint clippingRootOffset;
@@ -5792,7 +5792,7 @@
 
     if (flags & UseLocalClipRectIfPossible) {
         LayoutRect localClipRect = this->localClipRect();
-        if (localClipRect != IntRect::infiniteRect()) {
+        if (localClipRect != LayoutRect::infiniteRect()) {
             if ((flags & IncludeSelfTransform) && paintsWithTransform(PaintBehaviorNormal))
                 localClipRect = transform()->mapRect(localClipRect);
 
@@ -6955,12 +6955,12 @@
     }
 
     // Optimize clipping for the single fragment case.
-    if (!regionClipRect.isEmpty() && regionClipRect != IntRect::infiniteRect())
+    if (!regionClipRect.isEmpty() && regionClipRect != LayoutRect::infiniteRect())
         clipToRect(paintingInfo.rootLayer, context, paintingInfo.paintDirtyRect, regionClipRect);
 
     flowThreadLayer->paintNamedFlowThreadInsideRegion(context, region, paintingInfo.paintDirtyRect, paintOffset, paintingInfo.paintBehavior, paintFlags);
 
-    if (!regionClipRect.isEmpty() && regionClipRect != IntRect::infiniteRect())
+    if (!regionClipRect.isEmpty() && regionClipRect != LayoutRect::infiniteRect())
         restoreClip(context, paintingInfo.paintDirtyRect, regionClipRect);
 }
 

Modified: trunk/Source/WebCore/rendering/RenderLayerBacking.cpp (161442 => 161443)


--- trunk/Source/WebCore/rendering/RenderLayerBacking.cpp	2014-01-07 19:39:50 UTC (rev 161442)
+++ trunk/Source/WebCore/rendering/RenderLayerBacking.cpp	2014-01-07 20:01:31 UTC (rev 161443)
@@ -646,7 +646,7 @@
 
 static IntRect clipBox(RenderBox& renderer)
 {
-    LayoutRect result = IntRect::infiniteRect();
+    LayoutRect result = LayoutRect::infiniteRect();
     if (renderer.hasOverflowClip())
         result = renderer.overflowClipRect(LayoutPoint(), 0); // FIXME: Incorrect for CSS regions.
 

Modified: trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp (161442 => 161443)


--- trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp	2014-01-07 19:39:50 UTC (rev 161442)
+++ trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp	2014-01-07 20:01:31 UTC (rev 161443)
@@ -2195,7 +2195,7 @@
     if (!computeClipRoot || computeClipRoot == &layer)
         return false;
 
-    return layer.backgroundClipRect(RenderLayer::ClipRectsContext(computeClipRoot, 0, TemporaryClipRects)).rect() != IntRect::infiniteRect(); // FIXME: Incorrect for CSS regions.
+    return layer.backgroundClipRect(RenderLayer::ClipRectsContext(computeClipRoot, 0, TemporaryClipRects)).rect() != LayoutRect::infiniteRect(); // FIXME: Incorrect for CSS regions.
 }
 
 // Return true if the given layer is a stacking context and has compositing child
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to