| Index: third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp
|
| diff --git a/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp b/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp
|
| index 12a534b2f80de5677ba463f55bcf4bf6abdb3fcc..807e419db49d8cba2ce44bd1c0841890c1ccf0f1 100644
|
| --- a/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp
|
| +++ b/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp
|
| @@ -1500,15 +1500,17 @@ bool WebGLRenderingContextBase::PaintRenderingResultsToCanvas(
|
| canvas()->ClearCopiedImage();
|
| marked_canvas_dirty_ = false;
|
|
|
| - if (!canvas()->Buffer())
|
| + if (!canvas()->GetOrCreateImageBuffer())
|
| return false;
|
|
|
| ScopedTexture2DRestorer restorer(this);
|
| ScopedFramebufferRestorer fbo_restorer(this);
|
|
|
| GetDrawingBuffer()->ResolveAndBindForReadAndDraw();
|
| - if (!canvas()->Buffer()->CopyRenderingResultsFromDrawingBuffer(
|
| - GetDrawingBuffer(), source_buffer)) {
|
| + if (!canvas()
|
| + ->GetOrCreateImageBuffer()
|
| + ->CopyRenderingResultsFromDrawingBuffer(GetDrawingBuffer(),
|
| + source_buffer)) {
|
| // Currently, copyRenderingResultsFromDrawingBuffer is expected to always
|
| // succeed because cases where canvas()-buffer() is not accelerated are
|
| // handle before reaching this point. If that assumption ever stops holding
|
| @@ -4965,7 +4967,7 @@ void WebGLRenderingContextBase::TexImageCanvasByGPU(
|
| GLint yoffset,
|
| const IntRect& source_sub_rectangle) {
|
| if (!canvas->Is3d()) {
|
| - ImageBuffer* buffer = canvas->Buffer();
|
| + ImageBuffer* buffer = canvas->GetOrCreateImageBuffer();
|
| if (buffer &&
|
| !buffer->CopyToPlatformTexture(
|
| FunctionIDToSnapshotReason(function_id), ContextGL(), target,
|
|
|