Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1282)

Unified Diff: third_party/WebKit/Source/core/layout/LayoutInline.cpp

Issue 1826853007: LayoutBox::mapContentsRectToVisibleRectInBorderBoxSpace() (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@pi
Patch Set: Enable comparison, DO NOT CQ Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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) {

Powered by Google App Engine
This is Rietveld 408576698