summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/rendering/RenderView.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/rendering/RenderView.cpp')
-rw-r--r--Source/WebCore/rendering/RenderView.cpp16
1 files changed, 14 insertions, 2 deletions
diff --git a/Source/WebCore/rendering/RenderView.cpp b/Source/WebCore/rendering/RenderView.cpp
index 6820e34..687ba85 100644
--- a/Source/WebCore/rendering/RenderView.cpp
+++ b/Source/WebCore/rendering/RenderView.cpp
@@ -147,20 +147,32 @@ void RenderView::layout()
setNeedsLayout(false);
}
-void RenderView::mapLocalToContainer(RenderBoxModelObject* repaintContainer, bool fixed, bool /*useTransforms*/, TransformState& transformState) const
+void RenderView::mapLocalToContainer(RenderBoxModelObject* repaintContainer, bool fixed, bool useTransforms, TransformState& transformState) const
{
// If a container was specified, and was not 0 or the RenderView,
// then we should have found it by now.
ASSERT_UNUSED(repaintContainer, !repaintContainer || repaintContainer == this);
+ if (useTransforms && shouldUseTransformFromContainer(0)) {
+ TransformationMatrix t;
+ getTransformFromContainer(0, IntSize(), t);
+ transformState.applyTransform(t);
+ }
+
if (fixed && m_frameView)
transformState.move(m_frameView->scrollOffset());
}
-void RenderView::mapAbsoluteToLocalPoint(bool fixed, bool /*useTransforms*/, TransformState& transformState) const
+void RenderView::mapAbsoluteToLocalPoint(bool fixed, bool useTransforms, TransformState& transformState) const
{
if (fixed && m_frameView)
transformState.move(-m_frameView->scrollOffset());
+
+ if (useTransforms && shouldUseTransformFromContainer(0)) {
+ TransformationMatrix t;
+ getTransformFromContainer(0, IntSize(), t);
+ transformState.applyTransform(t);
+ }
}
void RenderView::paint(PaintInfo& paintInfo, int tx, int ty)