Index: Source/core/html/canvas/CanvasRenderingContext2D.cpp |
diff --git a/Source/core/html/canvas/CanvasRenderingContext2D.cpp b/Source/core/html/canvas/CanvasRenderingContext2D.cpp |
index a1911e5990147f992e81a3511e0192d35fa2bb4a..4f8f1691ce6c16f473347fbe96058292454d7c84 100644 |
--- a/Source/core/html/canvas/CanvasRenderingContext2D.cpp |
+++ b/Source/core/html/canvas/CanvasRenderingContext2D.cpp |
@@ -1564,6 +1564,7 @@ void CanvasRenderingContext2D::drawImageInternal(CanvasImageSource* imageSource, |
didDraw(dirtyRect); |
} |
} |
+ validateStateStack(); |
dshwang
2014/10/14 19:00:28
I move it to here, because drawVideo is used as fo
|
if (sourceImageStatus == ExternalSourceImageStatus && isAccelerated() && canvas()->buffer()) |
canvas()->buffer()->flush(); |
@@ -1582,7 +1583,6 @@ void CanvasRenderingContext2D::drawVideo(HTMLVideoElement* video, FloatRect srcR |
c->translate(-srcRect.x(), -srcRect.y()); |
video->paintCurrentFrameInContext(c, IntRect(IntPoint(), IntSize(video->videoWidth(), video->videoHeight()))); |
stateSaver.restore(); |
- validateStateStack(); |
Justin Novosad
2014/10/14 17:50:25
why are you removing this?
|
} |
void CanvasRenderingContext2D::drawImageFromRect(HTMLImageElement* image, |
@@ -1647,10 +1647,8 @@ template<class T> void CanvasRenderingContext2D::fullCanvasCompositedFill(const |
GraphicsContext* c = drawingContext(); |
ASSERT(c); |
c->beginLayer(1, state().m_globalComposite); |
- CompositeOperator previousOperator = c->compositeOperation(); |
c->setCompositeOperation(CompositeSourceOver); |
fillPrimitive(area, c); |
- c->setCompositeOperation(previousOperator); |
c->endLayer(); |
} |
@@ -1671,10 +1669,8 @@ template<class T> void CanvasRenderingContext2D::fullCanvasCompositedStroke(cons |
GraphicsContext* c = drawingContext(); |
ASSERT(c); |
c->beginLayer(1, state().m_globalComposite); |
- CompositeOperator previousOperator = c->compositeOperation(); |
c->setCompositeOperation(CompositeSourceOver); |
strokePrimitive(area, c); |
- c->setCompositeOperation(previousOperator); |
c->endLayer(); |
} |
@@ -2236,10 +2232,8 @@ void CanvasRenderingContext2D::drawTextInternal(const String& text, float x, flo |
if (isFullCanvasCompositeMode(state().m_globalComposite)) { |
c->beginLayer(1, state().m_globalComposite); |
- CompositeOperator previousOperator = c->compositeOperation(); |
c->setCompositeOperation(CompositeSourceOver); |
c->drawBidiText(font, textRunPaintInfo, location, Font::UseFallbackIfFontNotReady); |
- c->setCompositeOperation(previousOperator); |
c->endLayer(); |
didDraw(clipBounds); |
} else if (state().m_globalComposite == CompositeCopy) { |