[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