[Webkit-unassigned] [Bug 94964] Repaint issue in vertical-rl content

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Aug 27 15:27:59 PDT 2012


https://bugs.webkit.org/show_bug.cgi?id=94964


Simon Fraser (smfr) <simon.fraser at apple.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bdakin at apple.com




--- Comment #2 from Simon Fraser (smfr) <simon.fraser at apple.com>  2012-08-27 15:28:01 PST ---
Maybe fix, but we probably need something like this in lots of other places too:


diff --git a/Source/WebCore/rendering/RenderBox.cpp b/Source/WebCore/rendering/RenderBox.cpp
index 1a1714f..480e19f 100644
--- a/Source/WebCore/rendering/RenderBox.cpp
+++ b/Source/WebCore/rendering/RenderBox.cpp
@@ -1580,9 +1580,17 @@ void RenderBox::computeRectForRepaint(RenderBoxModelObject* repaintContainer, La
     else if ((position == RelativePosition || position == StickyPosition) && layer()) {
         // Apply the relative position offset when invalidating a rectangle.  The layer
         // is translated, but the render box isn't, so we need to do this to get the
-        // right dirty rect.  Since this is called from RenderObject::setStyle, the relative position
+        // right dirty rect. Since this is called from RenderObject::setStyle, the relative position
         // flag on the RenderObject has been cleared, so use the one on the style().
-        topLeft += layer()->offsetForInFlowPosition();
+        LayoutSize offset = layer()->offsetForInFlowPosition();
+        if (style()->isFlippedBlocksWritingMode()) {
+            if (style()->isHorizontalWritingMode())
+                offset.setHeight(-offset.height());
+            else
+                offset.setWidth(-offset.width());
+        }
+        
+        topLeft += offset;
     }

     if (o->isBlockFlow() && position != AbsolutePosition && position != FixedPosition) {

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


More information about the webkit-unassigned mailing list