summaryrefslogtreecommitdiff
path: root/Source/WebCore/platform/graphics/chromium/CanvasLayerTextureUpdater.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/platform/graphics/chromium/CanvasLayerTextureUpdater.cpp')
-rw-r--r--Source/WebCore/platform/graphics/chromium/CanvasLayerTextureUpdater.cpp7
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)