Index: third_party/WebKit/Source/core/layout/PaintInvalidationState.cpp |
diff --git a/third_party/WebKit/Source/core/layout/PaintInvalidationState.cpp b/third_party/WebKit/Source/core/layout/PaintInvalidationState.cpp |
index c3076c44fdd9bf6bca105712098a6ecad085288e..14c00546a8a292551c6347ed9a5fb84f5be9875a 100644 |
--- a/third_party/WebKit/Source/core/layout/PaintInvalidationState.cpp |
+++ b/third_party/WebKit/Source/core/layout/PaintInvalidationState.cpp |
@@ -389,6 +389,13 @@ LayoutRect PaintInvalidationState::computePaintInvalidationRectInBackingForSVG() |
static void slowMapToVisualRectInAncestorSpace(const LayoutObject& object, const LayoutBoxModelObject& ancestor, LayoutRect& rect) |
{ |
+ // TODO(wkorman): The flip below is required because visual rects are |
+ // currently in "physical coordinates with flipped block-flow direction" |
+ // (see LayoutBoxModelObject.h) but we need them to be in physical |
+ // coordinates. |
+ if (object.isBox()) |
+ toLayoutBox(&object)->flipForWritingMode(rect); |
+ |
if (object.isLayoutView()) |
toLayoutView(object).mapToVisualRectInAncestorSpace(&ancestor, rect, InputIsInFrameCoordinates, DefaultVisualRectFlags); |
else |