diff options
Diffstat (limited to 'WebCore/rendering/RenderBox.cpp')
-rw-r--r-- | WebCore/rendering/RenderBox.cpp | 15 |
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); |