| Index: Source/core/html/HTMLCanvasElement.cpp
|
| diff --git a/Source/core/html/HTMLCanvasElement.cpp b/Source/core/html/HTMLCanvasElement.cpp
|
| index 4f2e7fcf56576b0f3d8576ebcba6639da8880211..3abea2a173b91f469f8eb0dba33fbe8d846c9820 100644
|
| --- a/Source/core/html/HTMLCanvasElement.cpp
|
| +++ b/Source/core/html/HTMLCanvasElement.cpp
|
| @@ -484,14 +484,15 @@ String HTMLCanvasElement::toDataURLInternal(const String& mimeType, const double
|
|
|
| String encodingMimeType = toEncodingMimeType(mimeType);
|
| if (!m_context) {
|
| - RefPtrWillBeRawPtr<ImageData> imageData = ImageData::create(m_size);
|
| + ImageData* imageData = ImageData::create(m_size);
|
| + ScopedDisposal<ImageData> disposer(imageData);
|
| return ImageDataBuffer(imageData->size(), imageData->data()->data()).toDataURL(encodingMimeType, quality);
|
| }
|
|
|
| if (m_context->is3d()) {
|
| // Get non-premultiplied data because of inaccurate premultiplied alpha conversion of buffer()->toDataURL().
|
| - RefPtrWillBeRawPtr<ImageData> imageData =
|
| - toWebGLRenderingContextBase(m_context.get())->paintRenderingResultsToImageData(sourceBuffer);
|
| + ImageData* imageData = toWebGLRenderingContextBase(m_context.get())->paintRenderingResultsToImageData(sourceBuffer);
|
| + ScopedDisposal<ImageData> disposer(imageData);
|
| if (imageData)
|
| return ImageDataBuffer(imageData->size(), imageData->data()->data()).toDataURL(encodingMimeType, quality);
|
| m_context->paintRenderingResultsToCanvas(sourceBuffer);
|
|
|