Chromium Code Reviews| Index: Source/core/rendering/RenderLayer.cpp |
| diff --git a/Source/core/rendering/RenderLayer.cpp b/Source/core/rendering/RenderLayer.cpp |
| index 20f618d211c61b254a05595db9ba40aaa1bb68a3..73d92be2aaaeac404f7d803b5af959360a795885 100644 |
| --- a/Source/core/rendering/RenderLayer.cpp |
| +++ b/Source/core/rendering/RenderLayer.cpp |
| @@ -136,7 +136,6 @@ RenderLayer::RenderLayer(RenderLayerModelObject* renderer, LayerType type) |
| , m_staticInlinePosition(0) |
| , m_staticBlockPosition(0) |
| , m_enclosingPaginationLayer(0) |
| - , m_3dRenderingContextRoot(0) |
| , m_groupedMapping(0) |
| , m_repainter(renderer) |
| , m_clipper(renderer) |
| @@ -562,20 +561,20 @@ void RenderLayer::updateTransform() |
| dirty3DTransformedDescendantStatus(); |
| } |
| -// Note: this function assumes that all ancestors have an updated 3d rendering context root. |
| -void RenderLayer::update3dRenderingContext() |
| +RenderLayer* RenderLayer::renderingContextRoot() |
| { |
| - m_3dRenderingContextRoot = 0; |
| - |
| if (!shouldFlattenTransform()) |
| - m_3dRenderingContextRoot = this; |
| + return this; |
| + // FIXME: Why doesn't this need to be a loop? |
|
ojan
2014/03/25 01:36:00
Yeah, this seems like it can't possibly be correct
|
| if (RenderObject* containingBlock = renderer()->containingBlock()) { |
| if (RenderLayer* ancestorLayer = containingBlock->enclosingLayer()) { |
| if (!ancestorLayer->shouldFlattenTransform()) |
| - m_3dRenderingContextRoot = ancestorLayer->renderingContextRoot(); |
| + return ancestorLayer; |
| } |
| } |
| + |
| + return 0; |
| } |
| TransformationMatrix RenderLayer::currentTransform(RenderStyle::ApplyTransformOrigin applyOrigin) const |