Index: third_party/WebKit/Source/core/paint/PaintLayer.cpp |
diff --git a/third_party/WebKit/Source/core/paint/PaintLayer.cpp b/third_party/WebKit/Source/core/paint/PaintLayer.cpp |
index 895daeef48f0d1fa51a5d3e6030c529f6ee116a5..15602b8ed1110683ec5b4201dc5b937ccfb063cc 100644 |
--- a/third_party/WebKit/Source/core/paint/PaintLayer.cpp |
+++ b/third_party/WebKit/Source/core/paint/PaintLayer.cpp |
@@ -1423,7 +1423,8 @@ void PaintLayer::updateReflectionInfo(const ComputedStyle* oldStyle) |
{ |
ASSERT(!oldStyle || !layoutObject()->style()->reflectionDataEquivalent(oldStyle)); |
if (layoutObject()->hasReflection()) { |
- ensureRareData().reflectionInfo = adoptPtr(new PaintLayerReflectionInfo(*layoutBox())); |
+ if (!ensureRareData().reflectionInfo) |
+ m_rareData->reflectionInfo = adoptPtr(new PaintLayerReflectionInfo(*layoutBox())); |
m_rareData->reflectionInfo->updateAfterStyleChange(oldStyle); |
} else if (m_rareData && m_rareData->reflectionInfo) { |
m_rareData->reflectionInfo->destroy(); |