summaryrefslogtreecommitdiff
path: root/Source/WebCore/rendering/RenderBlock.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/RenderBlock.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/RenderBlock.cpp')
-rwxr-xr-xSource/WebCore/rendering/RenderBlock.cpp20
1 files changed, 12 insertions, 8 deletions
diff --git a/Source/WebCore/rendering/RenderBlock.cpp b/Source/WebCore/rendering/RenderBlock.cpp
index a4158f4e1..119cbb7fd 100755
--- a/Source/WebCore/rendering/RenderBlock.cpp
+++ b/Source/WebCore/rendering/RenderBlock.cpp
@@ -309,7 +309,7 @@ void RenderBlock::styleWillChange(StyleDifference diff, const RenderStyle* newSt
toRenderBlock(cb)->removePositionedObjects(this);
}
- if (containsFloats() && !isFloating() && !isOutOfFlowPositioned() && (newStyle->position() == AbsolutePosition || newStyle->position() == FixedPosition))
+ if (containsFloats() && !isFloating() && !isOutOfFlowPositioned() && newStyle->hasOutOfFlowPosition())
markAllDescendantsWithFloatsForLayout();
}
@@ -1143,6 +1143,8 @@ void RenderBlock::collapseAnonymousBoxChild(RenderBlock* parent, RenderObject* c
RenderObject* nextSibling = child->nextSibling();
RenderFlowThread* childFlowThread = child->enclosingRenderFlowThread();
+ CurrentRenderFlowThreadMaintainer flowThreadMaintainer(childFlowThread);
+
RenderBlock* anonBlock = toRenderBlock(parent->children()->removeChildNode(parent, child, child->hasLayer()));
anonBlock->moveAllChildrenTo(parent, nextSibling, child->hasLayer());
// Delete the now-empty block's lines and nuke it.
@@ -3174,9 +3176,10 @@ bool RenderBlock::isSelectionRoot() const
if (isTable())
return false;
- if (isBody() || isRoot() || hasOverflowClip() || isRelPositioned()
- || isFloatingOrOutOfFlowPositioned() || isTableCell() || isInlineBlockOrInlineTable() || hasTransform()
- || hasReflection() || hasMask() || isWritingModeRoot())
+ if (isBody() || isRoot() || hasOverflowClip()
+ || isInFlowPositioned() || isFloatingOrOutOfFlowPositioned()
+ || isTableCell() || isInlineBlockOrInlineTable()
+ || hasTransform() || hasReflection() || hasMask() || isWritingModeRoot())
return true;
if (view() && view()->selectionStart()) {
@@ -3396,10 +3399,10 @@ GapRects RenderBlock::blockSelectionGaps(RenderBlock* rootBlock, const LayoutPoi
if (curr->isFloatingOrOutOfFlowPositioned())
continue; // We must be a normal flow object in order to even be considered.
- if (curr->isRelPositioned() && curr->hasLayer()) {
+ if (curr->isInFlowPositioned() && curr->hasLayer()) {
// If the relposition offset is anything other than 0, then treat this just like an absolute positioned element.
// Just disregard it completely.
- LayoutSize relOffset = curr->layer()->relativePositionOffset();
+ LayoutSize relOffset = curr->layer()->offsetForInFlowPosition();
if (relOffset.width() || relOffset.height())
continue;
}
@@ -4879,8 +4882,9 @@ static inline bool isEditingBoundary(RenderObject* ancestor, RenderObject* child
static VisiblePosition positionForPointRespectingEditingBoundaries(RenderBlock* parent, RenderBox* child, const LayoutPoint& pointInParentCoordinates)
{
LayoutPoint childLocation = child->location();
- if (child->isRelPositioned())
- childLocation += child->relativePositionOffset();
+ if (child->isInFlowPositioned())
+ childLocation += child->offsetForInFlowPosition();
+
// FIXME: This is wrong if the child's writing-mode is different from the parent's.
LayoutPoint pointInChildCoordinates(toLayoutPoint(pointInParentCoordinates - childLocation));