Title: [98254] branches/subpixellayout/Source/WebCore
Revision
98254
Author
[email protected]
Date
2011-10-24 10:54:40 -0700 (Mon, 24 Oct 2011)

Log Message

Fixing repaint issues from truncated damage rects. Fixing a remaining loop in RenderDeprecatedFlexibleBox. Properly constructing FloatWithRect with a LayoutRect, which fixes lots of line layout issues.

Modified Paths

Diff

Modified: branches/subpixellayout/Source/WebCore/page/FrameView.cpp (98253 => 98254)


--- branches/subpixellayout/Source/WebCore/page/FrameView.cpp	2011-10-24 17:34:07 UTC (rev 98253)
+++ branches/subpixellayout/Source/WebCore/page/FrameView.cpp	2011-10-24 17:54:40 UTC (rev 98254)
@@ -1870,7 +1870,7 @@
             continue;
         }
 #endif
-        ScrollView::repaintContentRectangle(m_repaintRects[i], false);
+        ScrollView::repaintContentRectangle(enclosingIntRect(m_repaintRects[i]), false);
     }
     m_repaintRects.clear();
     m_repaintCount = 0;

Modified: branches/subpixellayout/Source/WebCore/rendering/RenderBlock.h (98253 => 98254)


--- branches/subpixellayout/Source/WebCore/rendering/RenderBlock.h	2011-10-24 17:34:07 UTC (rev 98253)
+++ branches/subpixellayout/Source/WebCore/rendering/RenderBlock.h	2011-10-24 17:54:40 UTC (rev 98254)
@@ -476,7 +476,7 @@
     struct FloatWithRect {
         FloatWithRect(RenderBox* f)
             : object(f)
-            , rect(IntRect(f->x() - f->marginLeft(), f->y() - f->marginTop(), f->width() + f->marginLeft() + f->marginRight(), f->height() + f->marginTop() + f->marginBottom()))
+            , rect(LayoutRect(f->x() - f->marginLeft(), f->y() - f->marginTop(), f->width() + f->marginLeft() + f->marginRight(), f->height() + f->marginTop() + f->marginBottom()))
             , everHadLayout(f->m_everHadLayout)
         {
         }

Modified: branches/subpixellayout/Source/WebCore/rendering/RenderDeprecatedFlexibleBox.cpp (98253 => 98254)


--- branches/subpixellayout/Source/WebCore/rendering/RenderDeprecatedFlexibleBox.cpp	2011-10-24 17:34:07 UTC (rev 98253)
+++ branches/subpixellayout/Source/WebCore/rendering/RenderDeprecatedFlexibleBox.cpp	2011-10-24 17:54:40 UTC (rev 98254)
@@ -798,7 +798,11 @@
                     }
                     if (groupRemainingSpace == groupRemainingSpaceAtBeginning) {
                         // This is not advancing, avoid getting stuck by distributing the remaining pixels.
-                        LayoutUnit spaceAdd = groupRemainingSpace > 0 ? 1 : -1;
+                        int spaceAdd;
+                        if (groupRemainingSpace.abs() < 1)
+                            spaceAdd = groupRemainingSpace;
+                        else
+                            spaceAdd = groupRemainingSpace > 0 ? 1 : -1;
                         for (RenderBox* child = iterator.first(); child && groupRemainingSpace; child = iterator.next()) {
                             if (allowedChildFlex(child, expanding, i)) {
                                 child->setOverrideHeight(child->overrideHeight() + spaceAdd);

Modified: branches/subpixellayout/Source/WebCore/rendering/RenderRegion.cpp (98253 => 98254)


--- branches/subpixellayout/Source/WebCore/rendering/RenderRegion.cpp	2011-10-24 17:34:07 UTC (rev 98253)
+++ branches/subpixellayout/Source/WebCore/rendering/RenderRegion.cpp	2011-10-24 17:54:40 UTC (rev 98254)
@@ -41,7 +41,7 @@
 namespace WebCore {
 
 RenderRegion::RenderRegion(Node* node, RenderFlowThread* flowThread)
-    : RenderReplaced(node, IntSize())
+    : RenderReplaced(node, LayoutSize())
     , m_flowThread(flowThread)
     , m_parentFlowThread(0)
     , m_isValid(false)

Modified: branches/subpixellayout/Source/WebCore/rendering/svg/RenderSVGRoot.cpp (98253 => 98254)


--- branches/subpixellayout/Source/WebCore/rendering/svg/RenderSVGRoot.cpp	2011-10-24 17:34:07 UTC (rev 98253)
+++ branches/subpixellayout/Source/WebCore/rendering/svg/RenderSVGRoot.cpp	2011-10-24 17:54:40 UTC (rev 98254)
@@ -119,7 +119,7 @@
     if (!style()->width().isPercent())
         return replacedWidth;
     // FIXME: Remove unnecessary rounding when layout is off ints: webkit.org/b/63656
-    return static_cast<int>(ceilf(replacedWidth * style()->effectiveZoom()));
+    return static_cast<LayoutUnit>(ceilf(replacedWidth * style()->effectiveZoom()));
 }
 
 LayoutUnit RenderSVGRoot::computeIntrinsicHeight(LayoutUnit replacedHeight) const
@@ -127,7 +127,7 @@
     if (!style()->height().isPercent())
         return replacedHeight;
     // FIXME: Remove unnecessary rounding when layout is off ints: webkit.org/b/63656
-    return static_cast<int>(ceilf(replacedHeight * style()->effectiveZoom()));
+    return static_cast<LayoutUnit>(ceilf(replacedHeight * style()->effectiveZoom()));
 }
 
 LayoutUnit RenderSVGRoot::computeReplacedLogicalWidth(bool includeMaxWidth) const
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to