| Index: Source/core/html/HTMLCanvasElement.cpp
|
| diff --git a/Source/core/html/HTMLCanvasElement.cpp b/Source/core/html/HTMLCanvasElement.cpp
|
| index bff1d0678e104fb06abbebdc0c4de0344297ea9e..c5cd8ad55aedd19b8e2097d4a03acf0b5972e3d7 100644
|
| --- a/Source/core/html/HTMLCanvasElement.cpp
|
| +++ b/Source/core/html/HTMLCanvasElement.cpp
|
| @@ -48,6 +48,7 @@
|
| #include "platform/graphics/Canvas2DImageBufferSurface.h"
|
| #include "platform/graphics/GraphicsContextStateSaver.h"
|
| #include "platform/graphics/ImageBuffer.h"
|
| +#include "platform/graphics/RecordingImageBufferSurface.h"
|
| #include "platform/graphics/UnacceleratedImageBufferSurface.h"
|
| #include "platform/graphics/gpu/WebGLImageBufferSurface.h"
|
| #include "platform/transforms/AffineTransform.h"
|
| @@ -452,6 +453,12 @@ PassOwnPtr<ImageBufferSurface> HTMLCanvasElement::createImageBufferSurface(const
|
| if (is3D())
|
| return adoptPtr(new WebGLImageBufferSurface(size(), opacityMode));
|
|
|
| + if (document().settings() && document().settings()->displayList2dCanvasEnabled()) {
|
| + OwnPtr<ImageBufferSurface> surface = adoptPtr(new RecordingImageBufferSurface(size(), opacityMode));
|
| + if (surface->isValid())
|
| + return surface.release();
|
| + }
|
| +
|
| if (shouldAccelerate(deviceSize)) {
|
| if (document().settings())
|
| *msaaSampleCount = document().settings()->accelerated2dCanvasMSAASampleCount();
|
|
|