summaryrefslogtreecommitdiffstats
path: root/WebCore/rendering/LayoutState.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/rendering/LayoutState.cpp')
-rw-r--r--WebCore/rendering/LayoutState.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/WebCore/rendering/LayoutState.cpp b/WebCore/rendering/LayoutState.cpp
index 6c196ac..883f74d 100644
--- a/WebCore/rendering/LayoutState.cpp
+++ b/WebCore/rendering/LayoutState.cpp
@@ -27,6 +27,7 @@
#include "LayoutState.h"
#include "RenderArena.h"
+#include "RenderInline.h"
#include "RenderLayer.h"
#include "RenderView.h"
@@ -52,8 +53,10 @@ LayoutState::LayoutState(LayoutState* prev, RenderBox* renderer, const IntSize&
if (renderer->hasLayer())
m_offset += renderer->layer()->relativePositionOffset();
} else if (renderer->isPositioned() && !fixed) {
- if (RenderObject* container = renderer->container())
- m_offset += renderer->offsetForPositionedInContainer(container);
+ if (RenderObject* container = renderer->container()) {
+ if (container->isRelPositioned() && container->isRenderInline())
+ m_offset += toRenderInline(container)->relativePositionedInlineOffset(renderer);
+ }
}
m_clipped = !fixed && prev->m_clipped;