Index: third_party/WebKit/Source/platform/graphics/UnacceleratedImageBufferSurface.cpp |
diff --git a/third_party/WebKit/Source/platform/graphics/UnacceleratedImageBufferSurface.cpp b/third_party/WebKit/Source/platform/graphics/UnacceleratedImageBufferSurface.cpp |
index 2b9a2c6b1a3dc92ba0f6decbc75549b716983ad1..cbdbd570fbf01f9ad8c1f63714fef6fad560e204 100644 |
--- a/third_party/WebKit/Source/platform/graphics/UnacceleratedImageBufferSurface.cpp |
+++ b/third_party/WebKit/Source/platform/graphics/UnacceleratedImageBufferSurface.cpp |
@@ -52,6 +52,11 @@ UnacceleratedImageBufferSurface::UnacceleratedImageBufferSurface( |
m_surface = |
SkSurface::MakeRaster(info, Opaque == opacityMode ? 0 : &disableLCDProps); |
+ // Always save an initial frame, to support resetting the top level matrix |
+ // and clip. |
+ if (m_surface) |
+ m_surface->getCanvas()->save(); |
+ |
if (initializationMode == InitializeImagePixels) { |
if (m_surface) |
clear(); |