Chromium Code Reviews| Index: Source/core/layout/LayoutFlowThread.cpp |
| diff --git a/Source/core/layout/LayoutFlowThread.cpp b/Source/core/layout/LayoutFlowThread.cpp |
| index 48f267bb8bc4ffa8c5c086f85bf2287c905dc1d6..7f08161e9b18ea818d91b9c5b6a1aacda78999e5 100644 |
| --- a/Source/core/layout/LayoutFlowThread.cpp |
| +++ b/Source/core/layout/LayoutFlowThread.cpp |
| @@ -96,7 +96,12 @@ void LayoutFlowThread::validateRegions() |
| void LayoutFlowThread::mapRectToPaintInvalidationBacking(const LayoutLayerModelObject* paintInvalidationContainer, LayoutRect& rect, const PaintInvalidationState* paintInvalidationState) const |
| { |
| ASSERT(paintInvalidationContainer != this); // A flow thread should never be an invalidation container. |
| + // |rect| is a layout rectangle, where the block direction coordinate is flipped for writing |
| + // mode. fragmentsBoundingBox(), on the other hand, works on physical rectangles, so we need to |
| + // flip the rectangle before and after calling it. |
| + flipForWritingMode(rect); |
| rect = fragmentsBoundingBox(rect); |
| + flipForWritingMode(rect); |
|
dsinclair
2015/02/18 21:00:29
I'm not sure I understand why this works. When we
mstensho (USE GERRIT)
2015/02/18 22:25:41
Yes, except that you have a fragmentsBoundingBox()
|
| RenderBlockFlow::mapRectToPaintInvalidationBacking(paintInvalidationContainer, rect, paintInvalidationState); |
| } |