| Index: Source/core/html/HTMLCanvasElement.cpp
|
| diff --git a/Source/core/html/HTMLCanvasElement.cpp b/Source/core/html/HTMLCanvasElement.cpp
|
| index 49710329fd8e816f698731528da41ff417d1bbb4..14573ba0736da0be7b210324586ff6b10a2a3a2e 100644
|
| --- a/Source/core/html/HTMLCanvasElement.cpp
|
| +++ b/Source/core/html/HTMLCanvasElement.cpp
|
| @@ -127,7 +127,6 @@ HTMLCanvasElement::~HTMLCanvasElement()
|
| for (CanvasObserver* canvasObserver : m_observers)
|
| canvasObserver->canvasDestroyed(this);
|
| // Ensure these go away before the ImageBuffer.
|
| - m_contextStateSaver.clear();
|
| m_context.clear();
|
| #endif
|
| }
|
| @@ -289,7 +288,7 @@ void HTMLCanvasElement::didDraw(const FloatRect& rect)
|
| m_dirtyRect.unite(rect);
|
| if (m_context && m_context->is2d() && hasImageBuffer())
|
| buffer()->didDraw(rect);
|
| - notifyObserversCanvasChanged(m_dirtyRect);
|
| + notifyObserversCanvasChanged(rect);
|
| }
|
|
|
| void HTMLCanvasElement::didFinalizeFrame()
|
| @@ -370,12 +369,6 @@ void HTMLCanvasElement::reset()
|
| if (!ok || h < 0)
|
| h = DefaultHeight;
|
|
|
| - if (m_contextStateSaver) {
|
| - // Reset to the initial graphics context state.
|
| - m_contextStateSaver->restore();
|
| - m_contextStateSaver->save();
|
| - }
|
| -
|
| if (m_context && m_context->is2d())
|
| toCanvasRenderingContext2D(m_context.get())->reset();
|
|
|
| @@ -648,7 +641,6 @@ void HTMLCanvasElement::createImageBuffer()
|
| void HTMLCanvasElement::createImageBufferInternal(PassOwnPtr<ImageBufferSurface> externalSurface)
|
| {
|
| ASSERT(!m_imageBuffer);
|
| - ASSERT(!m_contextStateSaver);
|
|
|
| m_didFailToCreateImageBuffer = true;
|
| m_imageBufferIsClear = true;
|
| @@ -682,18 +674,11 @@ void HTMLCanvasElement::createImageBufferInternal(PassOwnPtr<ImageBufferSurface>
|
| }
|
|
|
| m_imageBuffer->setClient(this);
|
| - m_imageBuffer->context()->setShouldClampToSourceRect(false);
|
| - m_imageBuffer->context()->disableAntialiasingOptimizationForHairlineImages();
|
| - m_imageBuffer->context()->setImageInterpolationQuality(CanvasDefaultInterpolationQuality);
|
| // Enabling MSAA overrides a request to disable antialiasing. This is true regardless of whether the
|
| // rendering mode is accelerated or not. For consistency, we don't want to apply AA in accelerated
|
| // canvases but not in unaccelerated canvases.
|
| if (!msaaSampleCount && document().settings() && !document().settings()->antialiased2dCanvasEnabled())
|
| - m_imageBuffer->context()->setShouldAntialias(false);
|
| -#if ENABLE(ASSERT)
|
| - m_imageBuffer->context()->disableDestructionChecks(); // 2D canvas is allowed to leave context in an unfinalized state.
|
| -#endif
|
| - m_contextStateSaver = adoptPtr(new GraphicsContextStateSaver(*m_imageBuffer->context()));
|
| + toCanvasRenderingContext2D(m_context.get())->setShouldAntialias(false);
|
|
|
| if (m_context)
|
| setNeedsCompositingUpdate();
|
| @@ -749,11 +734,6 @@ void HTMLCanvasElement::updateExternallyAllocatedMemory() const
|
| m_externallyAllocatedMemory = externallyAllocatedMemory;
|
| }
|
|
|
| -GraphicsContext* HTMLCanvasElement::drawingContext() const
|
| -{
|
| - return buffer() ? m_imageBuffer->context() : nullptr;
|
| -}
|
| -
|
| SkCanvas* HTMLCanvasElement::drawingCanvas() const
|
| {
|
| return buffer() ? m_imageBuffer->canvas() : nullptr;
|
| @@ -814,7 +794,6 @@ PassRefPtr<Image> HTMLCanvasElement::copiedImage(SourceDrawingBuffer sourceBuffe
|
|
|
| void HTMLCanvasElement::discardImageBuffer()
|
| {
|
| - m_contextStateSaver.clear(); // uses context owned by m_imageBuffer
|
| m_imageBuffer.clear();
|
| m_dirtyRect = FloatRect();
|
| updateExternallyAllocatedMemory();
|
|
|