| Index: Source/core/rendering/EllipsisBox.cpp | 
| diff --git a/Source/core/rendering/EllipsisBox.cpp b/Source/core/rendering/EllipsisBox.cpp | 
| index 7dcc2a9f6b0a89e3f5500e7c29f0a9e88ac4eeed..c6af976ef43e5342a8a390330d05a599ad6b3c55 100644 | 
| --- a/Source/core/rendering/EllipsisBox.cpp | 
| +++ b/Source/core/rendering/EllipsisBox.cpp | 
| @@ -56,17 +56,17 @@ void EllipsisBox::paint(PaintInfo& paintInfo, const LayoutPoint& paintOffset, La | 
| const ShadowData* shadow = context->printing() ? 0 : style->textShadow(); | 
| bool hasShadow = shadow; | 
| if (hasShadow) { | 
| -        DrawLooper drawLooper; | 
| +        RefPtr<DrawLooper> drawLooper = adoptRef(new DrawLooper); | 
| do { | 
| int shadowX = isHorizontal() ? shadow->x() : shadow->y(); | 
| int shadowY = isHorizontal() ? shadow->y() : -shadow->x(); | 
| FloatSize offset(shadowX, shadowY); | 
| -            drawLooper.addShadow(offset, shadow->blur(), | 
| +            drawLooper->addShadow(offset, shadow->blur(), | 
| m_renderer->resolveColor(shadow->color(), Color::stdShadowColor), | 
| DrawLooper::ShadowRespectsTransforms, DrawLooper::ShadowIgnoresAlpha); | 
| } while ((shadow = shadow->next())); | 
| -        drawLooper.addUnmodifiedContent(); | 
| -        context->setDrawLooper(drawLooper); | 
| +        drawLooper->addUnmodifiedContent(); | 
| +        context->setDrawLooper(drawLooper.release()); | 
| } | 
|  | 
| // FIXME: Why is this always LTR? Fix by passing correct text run flags below. | 
|  |