summaryrefslogtreecommitdiff
path: root/Source/WebCore/rendering/RenderLayer.cpp
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@nokia.com>2012-08-24 08:29:43 +0200
committerSimon Hausmann <simon.hausmann@nokia.com>2012-08-24 08:29:43 +0200
commit2e2ba8ff45915f40ed3e014101269c175f2a89a0 (patch)
tree3b94a9a9fa83efa384b8dac611cf8c6495532a62 /Source/WebCore/rendering/RenderLayer.cpp
parentf53e6f8e798362ed712d4a51633b0d0b03dbc213 (diff)
downloadqtwebkit-2e2ba8ff45915f40ed3e014101269c175f2a89a0.tar.gz
Imported WebKit commit bf0b0213bbf3886c96610020602012ca7d11b084 (http://svn.webkit.org/repository/webkit/trunk@126545)
New snapshot with clang and python build fixes
Diffstat (limited to 'Source/WebCore/rendering/RenderLayer.cpp')
-rw-r--r--Source/WebCore/rendering/RenderLayer.cpp23
1 files changed, 11 insertions, 12 deletions
diff --git a/Source/WebCore/rendering/RenderLayer.cpp b/Source/WebCore/rendering/RenderLayer.cpp
index 661d0eb08..edb3cf58d 100644
--- a/Source/WebCore/rendering/RenderLayer.cpp
+++ b/Source/WebCore/rendering/RenderLayer.cpp
@@ -847,8 +847,8 @@ void RenderLayer::updateLayerPosition()
LayoutSize offset = positionedParent->scrolledContentOffset();
localPoint -= offset;
- if (renderer()->isOutOfFlowPositioned() && positionedParent->renderer()->isRelPositioned() && positionedParent->renderer()->isRenderInline()) {
- LayoutSize offset = toRenderInline(positionedParent->renderer())->relativePositionedInlineOffset(toRenderBox(renderer()));
+ if (renderer()->isOutOfFlowPositioned() && positionedParent->renderer()->isInFlowPositioned() && positionedParent->renderer()->isRenderInline()) {
+ LayoutSize offset = toRenderInline(positionedParent->renderer())->offsetForInFlowPositionedInline(toRenderBox(renderer()));
localPoint += offset;
}
} else if (parent()) {
@@ -867,12 +867,12 @@ void RenderLayer::updateLayerPosition()
IntSize scrollOffset = parent()->scrolledContentOffset();
localPoint -= scrollOffset;
}
-
- if (renderer()->isRelPositioned()) {
- m_relativeOffset = renderer()->relativePositionOffset();
- localPoint.move(m_relativeOffset);
+
+ if (renderer()->isInFlowPositioned()) {
+ m_offsetForInFlowPosition = renderer()->offsetForInFlowPosition();
+ localPoint.move(m_offsetForInFlowPosition);
} else {
- m_relativeOffset = LayoutSize();
+ m_offsetForInFlowPosition = LayoutSize();
}
// FIXME: We'd really like to just get rid of the concept of a layer rectangle and rely on the renderers.
@@ -933,7 +933,7 @@ RenderLayer* RenderLayer::stackingContext() const
static inline bool isPositionedContainer(RenderLayer* layer)
{
RenderBoxModelObject* layerRenderer = layer->renderer();
- return layer->isRootLayer() || layerRenderer->isOutOfFlowPositioned() || layerRenderer->isRelPositioned() || layer->hasTransform();
+ return layer->isRootLayer() || layerRenderer->isOutOfFlowPositioned() || layerRenderer->isInFlowPositioned() || layer->hasTransform();
}
static inline bool isFixedPositionedContainer(RenderLayer* layer)
@@ -3950,8 +3950,7 @@ void RenderLayer::calculateClipRects(const RenderLayer* rootLayer, RenderRegion*
clipRects.setPosClipRect(clipRects.fixedClipRect());
clipRects.setOverflowClipRect(clipRects.fixedClipRect());
clipRects.setFixed(true);
- }
- else if (renderer()->style()->position() == RelativePosition)
+ } else if (renderer()->style()->hasInFlowPosition())
clipRects.setPosClipRect(clipRects.overflowClipRect());
else if (renderer()->style()->position() == AbsolutePosition)
clipRects.setOverflowClipRect(clipRects.posClipRect());
@@ -3976,7 +3975,7 @@ void RenderLayer::calculateClipRects(const RenderLayer* rootLayer, RenderRegion*
if (renderer()->style()->hasBorderRadius())
newOverflowClip.setHasRadius(true);
clipRects.setOverflowClipRect(intersection(newOverflowClip, clipRects.overflowClipRect()));
- if (renderer()->isOutOfFlowPositioned() || renderer()->isRelPositioned())
+ if (renderer()->isOutOfFlowPositioned() || renderer()->isInFlowPositioned())
clipRects.setPosClipRect(intersection(newOverflowClip, clipRects.posClipRect()));
}
if (renderer()->hasClip()) {
@@ -4779,7 +4778,7 @@ bool RenderLayer::shouldBeNormalFlowOnly() const
|| renderer()->isRenderIFrame()
|| (renderer()->style()->specifiesColumns() && !isRootLayer()))
&& !renderer()->isOutOfFlowPositioned()
- && !renderer()->isRelPositioned()
+ && !renderer()->isInFlowPositioned()
&& !renderer()->hasTransform()
#if ENABLE(CSS_FILTERS)
&& !renderer()->hasFilter()