| Index: sky/engine/core/rendering/RenderBox.cpp
|
| diff --git a/sky/engine/core/rendering/RenderBox.cpp b/sky/engine/core/rendering/RenderBox.cpp
|
| index c47ab38c41a4758002a0506656a1a094f1d3c0d7..87dd4600a375e067830f622c7beacdb9d1348bd6 100644
|
| --- a/sky/engine/core/rendering/RenderBox.cpp
|
| +++ b/sky/engine/core/rendering/RenderBox.cpp
|
| @@ -281,6 +281,17 @@ FloatQuad RenderBox::absoluteContentQuad() const
|
| return localToAbsoluteQuad(FloatRect(rect));
|
| }
|
|
|
| +FloatPoint RenderBox::perspectiveOrigin() const
|
| +{
|
| + if (!hasTransform())
|
| + return FloatPoint();
|
| +
|
| + const LayoutRect borderBox = borderBoxRect();
|
| + return FloatPoint(
|
| + floatValueForLength(style()->perspectiveOriginX(), borderBox.width().toFloat()),
|
| + floatValueForLength(style()->perspectiveOriginY(), borderBox.height().toFloat()));
|
| +}
|
| +
|
| void RenderBox::addFocusRingRects(Vector<IntRect>& rects, const LayoutPoint& additionalOffset, const RenderBox*) const
|
| {
|
| if (!size().isEmpty())
|
| @@ -835,7 +846,7 @@ void RenderBox::paintLayerContents(GraphicsContext* context, const LayerPainting
|
| }
|
| }
|
|
|
| - if (layer()->isTransparent()) {
|
| + if (isTransparent()) {
|
| context->save();
|
| LayoutRect clipRect = intersection(paintingInfo.paintDirtyRect,
|
| transparencyClipBox(layer(), localPaintingInfo.rootLayer, localPaintingInfo.subPixelAccumulation));
|
| @@ -873,7 +884,7 @@ void RenderBox::paintLayerContents(GraphicsContext* context, const LayerPainting
|
|
|
| layer()->restoreClip(context, localPaintingInfo.paintDirtyRect, contentRect);
|
|
|
| - if (layer()->isTransparent()) {
|
| + if (isTransparent()) {
|
| context->endLayer();
|
| context->restore();
|
| }
|
|
|