| Index: Source/platform/graphics/GraphicsContext.cpp
|
| diff --git a/Source/platform/graphics/GraphicsContext.cpp b/Source/platform/graphics/GraphicsContext.cpp
|
| index 1fdbb54a9eca53d367f662b2f557efa68680b116..3ac323fea6d4efe7cf93383d3f91807f9c3f13ea 100644
|
| --- a/Source/platform/graphics/GraphicsContext.cpp
|
| +++ b/Source/platform/graphics/GraphicsContext.cpp
|
| @@ -191,9 +191,10 @@ void GraphicsContext::saveLayer(const SkRect* bounds, const SkPaint* paint)
|
|
|
| ASSERT(m_canvas);
|
|
|
| - realizeCanvasSave();
|
| -
|
| + m_paintState->incrementSaveCount();
|
| + m_canvasStateStack.append(CanvasSaveState(m_pendingCanvasSave, m_canvas->getSaveCount()));
|
| m_canvas->saveLayer(bounds, paint);
|
| + m_pendingCanvasSave = false;
|
| if (regionTrackingEnabled())
|
| m_trackedRegion.pushCanvasLayer(paint);
|
| }
|
| @@ -205,7 +206,7 @@ void GraphicsContext::restoreLayer()
|
|
|
| ASSERT(m_canvas);
|
|
|
| - m_canvas->restore();
|
| + restore();
|
| if (regionTrackingEnabled())
|
| m_trackedRegion.popCanvasLayer(this);
|
| }
|
|
|