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

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

Issue 1537133002: Renaming: distinguish ancestor, container and paintInvalidationContainer (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@SelectionInvalidation
Patch Set: Created 5 years 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 80c9ec1b3a88813fcc067f1d897c46e38cdcf916..bf0adb5e7137f4de58ad667d4e68dfb275af5b9c 100644
--- a/third_party/WebKit/Source/core/layout/LayoutInline.cpp
+++ b/third_party/WebKit/Source/core/layout/LayoutInline.cpp
@@ -1048,7 +1048,7 @@ LayoutRect LayoutInline::clippedOverflowRect(const LayoutBoxModelObject* paintIn
if (overflowRect.isEmpty())
return overflowRect;
- mapToVisibleRectInContainerSpace(paintInvalidationContainer, overflowRect, paintInvalidationState);
+ mapToVisibleRectInAncestorSpace(paintInvalidationContainer, overflowRect, paintInvalidationState);
return overflowRect;
}
@@ -1070,9 +1070,9 @@ LayoutRect LayoutInline::visualOverflowRect() const
return overflowRect;
}
-void LayoutInline::mapToVisibleRectInContainerSpace(const LayoutBoxModelObject* paintInvalidationContainer, LayoutRect& rect, const PaintInvalidationState* paintInvalidationState) const
+void LayoutInline::mapToVisibleRectInAncestorSpace(const LayoutBoxModelObject* ancestor, LayoutRect& rect, const PaintInvalidationState* paintInvalidationState) const
{
- if (paintInvalidationState && paintInvalidationState->canMapToContainer(paintInvalidationContainer)) {
+ if (paintInvalidationState && paintInvalidationState->canMapToContainer(ancestor)) {
if (style()->hasInFlowPosition() && layer())
rect.move(layer()->offsetForInFlowPosition());
rect.move(paintInvalidationState->paintOffset());
@@ -1081,12 +1081,12 @@ void LayoutInline::mapToVisibleRectInContainerSpace(const LayoutBoxModelObject*
return;
}
- if (paintInvalidationContainer == this)
+ if (ancestor == this)
return;
- bool containerSkipped;
- LayoutObject* o = container(paintInvalidationContainer, &containerSkipped);
- if (!o)
+ bool ancestorSkipped;
+ LayoutObject* container = this->container(ancestor, &ancestorSkipped);
+ if (!container)
return;
LayoutPoint topLeft = rect.location();
@@ -1102,24 +1102,23 @@ void LayoutInline::mapToVisibleRectInContainerSpace(const LayoutBoxModelObject*
// 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 (o->hasOverflowClip()) {
- LayoutBox* containerBox = toLayoutBox(o);
- if (o == paintInvalidationContainer)
- containerBox->applyCachedScrollOffsetForPaintInvalidation(rect);
- else
- containerBox->applyCachedClipAndScrollOffsetForPaintInvalidation(rect);
+ if (container->hasOverflowClip()) {
+ LayoutBox* containerBox = toLayoutBox(container);
+ containerBox->mapScrollingContentsRectToBoxSpace(rect);
+ if (container != ancestor)
+ containerBox->applyOverflowClip(rect);
if (rect.isEmpty())
return;
}
- if (containerSkipped) {
+ if (ancestorSkipped) {
// If the paintInvalidationContainer is below o, then we need to map the rect into paintInvalidationContainer's coordinates.
- LayoutSize containerOffset = paintInvalidationContainer->offsetFromAncestorContainer(o);
+ LayoutSize containerOffset = ancestor->offsetFromAncestorContainer(container);
rect.move(-containerOffset);
return;
}
- o->mapToVisibleRectInContainerSpace(paintInvalidationContainer, rect, paintInvalidationState);
+ container->mapToVisibleRectInAncestorSpace(ancestor, rect, paintInvalidationState);
}
LayoutSize LayoutInline::offsetFromContainer(const LayoutObject* container, const LayoutPoint& point, bool* offsetDependsOnPoint) const
@@ -1147,12 +1146,12 @@ PaintLayerType LayoutInline::layerTypeRequired() const
|| style()->hasCompositorProxy() || style()->containsPaint() ? NormalPaintLayer : NoPaintLayer;
}
-void LayoutInline::mapLocalToContainer(const LayoutBoxModelObject* paintInvalidationContainer, TransformState& transformState, MapCoordinatesFlags mode, bool* wasFixed, const PaintInvalidationState* paintInvalidationState) const
+void LayoutInline::mapLocalToAncestor(const LayoutBoxModelObject* ancestor, TransformState& transformState, MapCoordinatesFlags mode, bool* wasFixed, const PaintInvalidationState* paintInvalidationState) const
{
- if (paintInvalidationContainer == this)
+ if (ancestor == this)
return;
- if (paintInvalidationState && paintInvalidationState->canMapToContainer(paintInvalidationContainer)) {
+ if (paintInvalidationState && paintInvalidationState->canMapToContainer(ancestor)) {
LayoutSize offset = paintInvalidationState->paintOffset();
if (style()->hasInFlowPosition() && layer())
offset += layer()->offsetForInFlowPosition();
@@ -1161,7 +1160,7 @@ void LayoutInline::mapLocalToContainer(const LayoutBoxModelObject* paintInvalida
}
bool containerSkipped;
- LayoutObject* o = container(paintInvalidationContainer, &containerSkipped);
+ LayoutObject* o = container(ancestor, &containerSkipped);
if (!o)
return;
@@ -1187,12 +1186,12 @@ void LayoutInline::mapLocalToContainer(const LayoutBoxModelObject* paintInvalida
if (containerSkipped) {
// There can't be a transform between paintInvalidationContainer and o, because transforms create containers, so it should be safe
// to just subtract the delta between the paintInvalidationContainer and o.
- LayoutSize containerOffset = paintInvalidationContainer->offsetFromAncestorContainer(o);
+ LayoutSize containerOffset = ancestor->offsetFromAncestorContainer(o);
transformState.move(-containerOffset.width(), -containerOffset.height(), preserve3D ? TransformState::AccumulateTransform : TransformState::FlattenTransform);
return;
}
- o->mapLocalToContainer(paintInvalidationContainer, transformState, mode, wasFixed, paintInvalidationState);
+ o->mapLocalToAncestor(ancestor, transformState, mode, wasFixed, paintInvalidationState);
}
void LayoutInline::updateDragState(bool dragOn)
« no previous file with comments | « third_party/WebKit/Source/core/layout/LayoutInline.h ('k') | third_party/WebKit/Source/core/layout/LayoutListMarker.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698