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

Unified Diff: third_party/WebKit/Source/core/layout/LayoutObject.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/LayoutObject.cpp
diff --git a/third_party/WebKit/Source/core/layout/LayoutObject.cpp b/third_party/WebKit/Source/core/layout/LayoutObject.cpp
index fe7120a86f2737798163f54de0e077ba8810c9db..d9d133fd8e60e8c6b04b36a62d6fdd271a0006c3 100644
--- a/third_party/WebKit/Source/core/layout/LayoutObject.cpp
+++ b/third_party/WebKit/Source/core/layout/LayoutObject.cpp
@@ -1031,7 +1031,7 @@ IntRect LayoutObject::absoluteElementBoundingBoxRect() const
{
Vector<LayoutRect> rects;
const LayoutBoxModelObject* container = enclosingLayer()->layoutObject();
- addElementVisualOverflowRects(rects, LayoutPoint(localToContainerPoint(FloatPoint(), container)));
+ addElementVisualOverflowRects(rects, LayoutPoint(localToAncestorPoint(FloatPoint(), container)));
return container->localToAbsoluteQuad(FloatQuad(FloatRect(unionRect(rects)))).enclosingBoundingBox();
}
@@ -1587,30 +1587,29 @@ LayoutRect LayoutObject::clippedOverflowRectForPaintInvalidation(const LayoutBox
return LayoutRect();
}
-void LayoutObject::mapToVisibleRectInContainerSpace(const LayoutBoxModelObject* paintInvalidationContainer, LayoutRect& rect, const PaintInvalidationState* paintInvalidationState) const
+void LayoutObject::mapToVisibleRectInAncestorSpace(const LayoutBoxModelObject* ancestor, LayoutRect& rect, const PaintInvalidationState* paintInvalidationState) const
{
- if (paintInvalidationContainer == this)
+ if (ancestor == this)
return;
- if (paintInvalidationState && paintInvalidationState->canMapToContainer(paintInvalidationContainer)) {
+ if (paintInvalidationState && paintInvalidationState->canMapToContainer(ancestor)) {
rect.move(paintInvalidationState->paintOffset());
if (paintInvalidationState->isClipped())
rect.intersect(paintInvalidationState->clipRect());
return;
}
- if (LayoutObject* o = parent()) {
- if (o->hasOverflowClip()) {
- LayoutBox* boxParent = toLayoutBox(o);
- if (o == paintInvalidationContainer)
- boxParent->applyCachedScrollOffsetForPaintInvalidation(rect);
- else
- boxParent->applyCachedClipAndScrollOffsetForPaintInvalidation(rect);
+ if (LayoutObject* parent = this->parent()) {
+ if (parent->hasOverflowClip()) {
+ LayoutBox* parentBox = toLayoutBox(parent);
+ parentBox->mapScrollingContentsRectToBoxSpace(rect);
+ if (parent != ancestor)
+ parentBox->applyOverflowClip(rect);
if (rect.isEmpty())
return;
}
- o->mapToVisibleRectInContainerSpace(paintInvalidationContainer, rect, paintInvalidationState);
+ parent->mapToVisibleRectInAncestorSpace(ancestor, rect, paintInvalidationState);
}
}
@@ -2142,7 +2141,7 @@ LayoutRect LayoutObject::viewRect() const
FloatPoint LayoutObject::localToAbsolute(const FloatPoint& localPoint, MapCoordinatesFlags mode) const
{
TransformState transformState(TransformState::ApplyTransformDirection, localPoint);
- mapLocalToContainer(0, transformState, mode | ApplyContainerFlip);
+ mapLocalToAncestor(0, transformState, mode | ApplyContainerFlip);
transformState.flatten();
return transformState.lastPlanarPoint();
@@ -2165,9 +2164,9 @@ FloatQuad LayoutObject::absoluteToLocalQuad(const FloatQuad& quad, MapCoordinate
return transformState.lastPlanarQuad();
}
-void LayoutObject::mapLocalToContainer(const LayoutBoxModelObject* paintInvalidationContainer, TransformState& transformState, MapCoordinatesFlags mode, bool* wasFixed, const PaintInvalidationState* paintInvalidationState) const
+void LayoutObject::mapLocalToAncestor(const LayoutBoxModelObject* ancestor, TransformState& transformState, MapCoordinatesFlags mode, bool* wasFixed, const PaintInvalidationState* paintInvalidationState) const
{
- if (paintInvalidationContainer == this)
+ if (ancestor == this)
return;
LayoutObject* o = parent();
@@ -2187,7 +2186,7 @@ void LayoutObject::mapLocalToContainer(const LayoutBoxModelObject* paintInvalida
if (o->hasOverflowClip())
transformState.move(-toLayoutBox(o)->scrolledContentOffset());
- o->mapLocalToContainer(paintInvalidationContainer, transformState, mode, wasFixed, paintInvalidationState);
+ o->mapLocalToAncestor(ancestor, transformState, mode, wasFixed, paintInvalidationState);
}
const LayoutObject* LayoutObject::pushMappingToContainer(const LayoutBoxModelObject* ancestorToStopAt, LayoutGeometryMap& geometryMap) const
@@ -2235,32 +2234,32 @@ void LayoutObject::getTransformFromContainer(const LayoutObject* containerObject
}
}
-FloatQuad LayoutObject::localToContainerQuad(const FloatQuad& localQuad, const LayoutBoxModelObject* paintInvalidationContainer, MapCoordinatesFlags mode, bool* wasFixed) const
+FloatQuad LayoutObject::localToAncestorQuad(const FloatQuad& localQuad, const LayoutBoxModelObject* ancestor, MapCoordinatesFlags mode, bool* wasFixed) const
{
- // Track the point at the center of the quad's bounding box. As mapLocalToContainer() calls offsetFromContainer(),
+ // Track the point at the center of the quad's bounding box. As mapLocalToAncestor() calls offsetFromContainer(),
// it will use that point as the reference point to decide which column's transform to apply in multiple-column blocks.
TransformState transformState(TransformState::ApplyTransformDirection, localQuad.boundingBox().center(), localQuad);
- mapLocalToContainer(paintInvalidationContainer, transformState, mode | ApplyContainerFlip | UseTransforms, wasFixed);
+ mapLocalToAncestor(ancestor, transformState, mode | ApplyContainerFlip | UseTransforms, wasFixed);
transformState.flatten();
return transformState.lastPlanarQuad();
}
-FloatPoint LayoutObject::localToContainerPoint(const FloatPoint& localPoint, const LayoutBoxModelObject* paintInvalidationContainer, MapCoordinatesFlags mode, bool* wasFixed, const PaintInvalidationState* paintInvalidationState) const
+FloatPoint LayoutObject::localToAncestorPoint(const FloatPoint& localPoint, const LayoutBoxModelObject* ancestor, MapCoordinatesFlags mode, bool* wasFixed, const PaintInvalidationState* paintInvalidationState) const
{
TransformState transformState(TransformState::ApplyTransformDirection, localPoint);
- mapLocalToContainer(paintInvalidationContainer, transformState, mode | ApplyContainerFlip | UseTransforms, wasFixed, paintInvalidationState);
+ mapLocalToAncestor(ancestor, transformState, mode | ApplyContainerFlip | UseTransforms, wasFixed, paintInvalidationState);
transformState.flatten();
return transformState.lastPlanarPoint();
}
-void LayoutObject::localToContainerRects(Vector<LayoutRect>& rects, const LayoutBoxModelObject* paintInvalidationContainer, const LayoutPoint& preOffset, const LayoutPoint& postOffset) const
+void LayoutObject::localToAncestorRects(Vector<LayoutRect>& rects, const LayoutBoxModelObject* ancestor, const LayoutPoint& preOffset, const LayoutPoint& postOffset) const
{
for (size_t i = 0; i < rects.size(); ++i) {
LayoutRect& rect = rects[i];
rect.moveBy(preOffset);
- FloatQuad containerQuad = localToContainerQuad(FloatQuad(FloatRect(rect)), paintInvalidationContainer);
+ FloatQuad containerQuad = localToAncestorQuad(FloatQuad(FloatRect(rect)), ancestor);
LayoutRect containerRect = LayoutRect(containerQuad.boundingBox());
if (containerRect.isEmpty()) {
rects.remove(i--);
@@ -2278,7 +2277,7 @@ FloatPoint LayoutObject::localToInvalidationBackingPoint(const LayoutPoint& loca
if (backingLayer)
*backingLayer = paintInvalidationContainer.layer();
- FloatPoint containerPoint = localToContainerPoint(FloatPoint(localPoint), &paintInvalidationContainer, TraverseDocumentBoundaries);
+ FloatPoint containerPoint = localToAncestorPoint(FloatPoint(localPoint), &paintInvalidationContainer, TraverseDocumentBoundaries);
// A layoutObject can have no invalidation backing if it is from a detached frame,
// or when forced compositing is disabled.
@@ -2304,9 +2303,9 @@ LayoutSize LayoutObject::offsetFromContainer(const LayoutObject* o, const Layout
return offset;
}
-LayoutSize LayoutObject::offsetFromAncestorContainer(const LayoutObject* container) const
+LayoutSize LayoutObject::offsetFromAncestorContainer(const LayoutObject* ancestorContainer) const
{
- if (container == this)
+ if (ancestorContainer == this)
return LayoutSize();
LayoutSize offset;
@@ -2322,7 +2321,7 @@ LayoutSize LayoutObject::offsetFromAncestorContainer(const LayoutObject* contain
offset += currentOffset;
referencePoint.move(currentOffset);
currContainer = nextContainer;
- } while (currContainer != container);
+ } while (currContainer != ancestorContainer);
return offset;
}
« no previous file with comments | « third_party/WebKit/Source/core/layout/LayoutObject.h ('k') | third_party/WebKit/Source/core/layout/LayoutObjectTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698