Index: sky/engine/core/rendering/RenderLayer.cpp |
diff --git a/sky/engine/core/rendering/RenderLayer.cpp b/sky/engine/core/rendering/RenderLayer.cpp |
index c94a575d3557108c8f38eda8365befbb6dd19c43..db2feecc9dd17312cc7f4b057e5a2f51ab1cab78 100644 |
--- a/sky/engine/core/rendering/RenderLayer.cpp |
+++ b/sky/engine/core/rendering/RenderLayer.cpp |
@@ -102,46 +102,6 @@ void RenderLayer::updateLayerPositionsAfterLayout() |
m_clipper.clearClipRectsIncludingDescendants(); |
} |
-void RenderLayer::updateTransformationMatrix() |
-{ |
- if (m_transform) { |
- RenderBox* box = renderer(); |
- m_transform->makeIdentity(); |
- box->style()->applyTransform(*m_transform, box->pixelSnappedBorderBoxRect().size(), RenderStyle::IncludeTransformOrigin); |
- // FIXME(sky): We shouldn't need to do this once Skia has 4x4 matrix support. |
- // Until then, 3d transforms don't work right. |
- m_transform->makeAffine(); |
- } |
-} |
- |
-void RenderLayer::updateTransform(const RenderStyle* oldStyle, RenderStyle* newStyle) |
-{ |
- if (oldStyle && newStyle->transformDataEquivalent(*oldStyle)) |
- return; |
- |
- // hasTransform() on the renderer is also true when there is transform-style: preserve-3d or perspective set, |
- // so check style too. |
- bool hasTransform = renderer()->hasTransform() && newStyle->hasTransform(); |
- bool had3DTransform = has3DTransform(); |
- |
- bool hadTransform = m_transform; |
- if (hasTransform != hadTransform) { |
- if (hasTransform) |
- m_transform = adoptPtr(new TransformationMatrix); |
- else |
- m_transform.clear(); |
- |
- // Layers with transforms act as clip rects roots, so clear the cached clip rects here. |
- m_clipper.clearClipRectsIncludingDescendants(); |
- } else if (hasTransform) { |
- m_clipper.clearClipRectsIncludingDescendants(AbsoluteClipRects); |
- } |
- |
- updateTransformationMatrix(); |
- |
- if (had3DTransform != has3DTransform()) |
- dirty3DTransformedDescendantStatus(); |
-} |
void RenderLayer::dirty3DTransformedDescendantStatus() |
{ |
@@ -153,7 +113,7 @@ void RenderLayer::dirty3DTransformedDescendantStatus() |
// This propagates up through preserve-3d hierarchies to the enclosing flattening layer. |
// Note that preserves3D() creates stacking context, so we can just run up the stacking containers. |
- while (stackingNode && stackingNode->layer()->preserves3D()) { |
+ while (stackingNode && stackingNode->layer()->renderer()->style()->preserves3D()) { |
stackingNode->layer()->m_3DTransformedDescendantStatusDirty = true; |
stackingNode = stackingNode->ancestorStackingContextNode(); |
} |
@@ -178,10 +138,10 @@ bool RenderLayer::update3DTransformedDescendantStatus() |
// If we live in a 3d hierarchy, then the layer at the root of that hierarchy needs |
// the m_has3DTransformedDescendant set. |
- if (preserves3D()) |
- return has3DTransform() || m_has3DTransformedDescendant; |
+ if (renderer()->style()->preserves3D()) |
+ return renderer()->has3DTransform() || m_has3DTransformedDescendant; |
- return has3DTransform(); |
+ return renderer()->has3DTransform(); |
} |
IntSize RenderLayer::size() const |
@@ -571,8 +531,8 @@ LayoutRect RenderLayer::boundingBoxForCompositing(const RenderLayer* ancestorLay |
LayoutRect localClipRect = clipper().localClipRect(); |
if (localClipRect != PaintInfo::infiniteRect()) { |
- if (transform()) |
- localClipRect = transform()->mapRect(localClipRect); |
+ if (renderer()->transform()) |
+ localClipRect = renderer()->transform()->mapRect(localClipRect); |
LayoutPoint delta; |
convertToLayerCoords(ancestorLayer, delta); |
@@ -592,8 +552,8 @@ LayoutRect RenderLayer::boundingBoxForCompositing(const RenderLayer* ancestorLay |
// https://bugs.webkit.org/show_bug.cgi?id=81239 |
m_renderer->style()->filterOutsets().expandRect(result); |
- if (transform()) |
- result = transform()->mapRect(result); |
+ if (renderer()->transform()) |
+ result = renderer()->transform()->mapRect(result); |
LayoutPoint delta; |
convertToLayerCoords(ancestorLayer, delta); |
@@ -614,8 +574,6 @@ void RenderLayer::styleChanged(StyleDifference diff, const RenderStyle* oldStyle |
// Overlay scrollbars can make this layer self-painting so we need |
// to recompute the bit once scrollbars have been updated. |
m_isSelfPaintingLayer = shouldBeSelfPaintingLayer(); |
- |
- updateTransform(oldStyle, renderer()->style()); |
} |
} // namespace blink |