summaryrefslogtreecommitdiffstats
path: root/WebCore/rendering/RenderBox.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/rendering/RenderBox.cpp')
-rw-r--r--WebCore/rendering/RenderBox.cpp15
1 files changed, 5 insertions, 10 deletions
diff --git a/WebCore/rendering/RenderBox.cpp b/WebCore/rendering/RenderBox.cpp
index f0618ea..41e2cd5 100644
--- a/WebCore/rendering/RenderBox.cpp
+++ b/WebCore/rendering/RenderBox.cpp
@@ -459,9 +459,11 @@ void RenderBox::absoluteQuads(Vector<FloatQuad>& quads)
IntRect RenderBox::applyLayerTransformToRect(const IntRect& rect) const
{
- if (hasLayer() && layer()->hasTransform()) {
+ if (layer() && layer()->hasTransform()) {
TransformationMatrix transform;
+ transform.makeIdentity();
transform.translate(rect.x(), rect.y());
+ layer()->updateTransform();
transform.multLeft(layer()->currentTransform());
return transform.mapRect(IntRect(0, 0, rect.width(), rect.height()));
}
@@ -473,13 +475,6 @@ IntRect RenderBox::transformedFrameRect() const
return applyLayerTransformToRect(frameRect());
}
-void RenderBox::updateLayerTransform()
-{
- // Transform-origin depends on box size, so we need to update the layer transform after layout.
- if (hasLayer())
- layer()->updateTransform();
-}
-
IntRect RenderBox::absoluteContentBox() const
{
IntRect rect = contentBoxRect();
@@ -779,8 +774,8 @@ void RenderBox::paintRootBoxDecorations(PaintInfo& paintInfo, int tx, int ty)
// CSS2 14.2:
// The background of the box generated by the root element covers the entire canvas including
// its margins.
- int bx = tx - marginLeft() + view()->leftLayoutOverflow();
- int by = ty - marginTop() + view()->topLayoutOverflow();
+ int bx = tx - marginLeft();
+ int by = ty - marginTop();
int bw = max(w + marginLeft() + marginRight() + borderLeft() + borderRight(), rw);
int bh = max(h + marginTop() + marginBottom() + borderTop() + borderBottom(), rh);