| Index: third_party/WebKit/Source/core/layout/LayoutInline.cpp
|
| diff --git a/third_party/WebKit/Source/core/layout/LayoutInline.cpp b/third_party/WebKit/Source/core/layout/LayoutInline.cpp
|
| index 4329025d48a1a347a8f0505a1ded7ff44f893d2e..959c93e9fd065ca12ded2120ce583d4c2d94cd74 100644
|
| --- a/third_party/WebKit/Source/core/layout/LayoutInline.cpp
|
| +++ b/third_party/WebKit/Source/core/layout/LayoutInline.cpp
|
| @@ -1098,14 +1098,15 @@ bool LayoutInline::mapToVisibleRectInAncestorSpace(const LayoutBoxModelObject* a
|
| topLeft += layer()->offsetForInFlowPosition();
|
| }
|
|
|
| - // FIXME: We ignore the lightweight clipping rect that controls use, since if |o| is in mid-layout,
|
| - // its controlClipRect will be wrong. For overflow clip we use the values cached by the layer.
|
| rect.setLocation(topLeft);
|
| - if (container->hasOverflowClip()) {
|
| +
|
| + if (container->isBox()) {
|
| LayoutBox* containerBox = toLayoutBox(container);
|
| - containerBox->mapScrollingContentsRectToBoxSpace(rect);
|
| - if (container != ancestor && !containerBox->applyOverflowClip(rect, visibleRectFlags))
|
| + if (!containerBox->mapContentsRectToVisibleRectInBorderBoxSpace(rect, visibleRectFlags))
|
| return false;
|
| +
|
| + if (containerBox == ancestor || containerBox->isWritingModeRoot())
|
| + containerBox->flipForWritingMode(rect);
|
| }
|
|
|
| if (ancestorSkipped) {
|
|
|