diff options
Diffstat (limited to 'Source/WebCore/platform/graphics/chromium/CanvasLayerTextureUpdater.cpp')
-rw-r--r-- | Source/WebCore/platform/graphics/chromium/CanvasLayerTextureUpdater.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/Source/WebCore/platform/graphics/chromium/CanvasLayerTextureUpdater.cpp b/Source/WebCore/platform/graphics/chromium/CanvasLayerTextureUpdater.cpp index 5fa67854c..ea1930365 100644 --- a/Source/WebCore/platform/graphics/chromium/CanvasLayerTextureUpdater.cpp +++ b/Source/WebCore/platform/graphics/chromium/CanvasLayerTextureUpdater.cpp @@ -32,6 +32,7 @@ #include "GraphicsContext.h" #include "LayerPainterChromium.h" +#include "PlatformContextSkia.h" #include "TraceEvent.h" namespace WebCore { @@ -45,7 +46,7 @@ CanvasLayerTextureUpdater::~CanvasLayerTextureUpdater() { } -void CanvasLayerTextureUpdater::paintContents(GraphicsContext& context, const IntRect& contentRect, float contentsScale) +void CanvasLayerTextureUpdater::paintContents(GraphicsContext& context, PlatformContextSkia& platformContext, const IntRect& contentRect, float contentsScale) { context.translate(-contentRect.x(), -contentRect.y()); { @@ -62,6 +63,10 @@ void CanvasLayerTextureUpdater::paintContents(GraphicsContext& context, const In scaledContentRect = enclosingIntRect(rect); } + // Transform tracked opaque paints back to our layer's content space. + ASSERT(context.getCTM().isInvertible()); + platformContext.setOpaqueRegionTransform(context.getCTM().inverse()); + m_painter->paint(context, scaledContentRect); if (contentsScale != 1.0) |