| Index: third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp
|
| diff --git a/third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp b/third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp
|
| index ceebfd501035a0a9f250aa662cfd7ee32b70fdf8..621d0519dbfbf47ecf3ddbed050ea4b5f0a61f7c 100644
|
| --- a/third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp
|
| +++ b/third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp
|
| @@ -68,7 +68,9 @@
|
| #include "public/platform/Platform.h"
|
| #include "public/platform/WebTraceLocation.h"
|
| #include "wtf/CheckedNumeric.h"
|
| +#include "wtf/PtrUtil.h"
|
| #include <math.h>
|
| +#include <memory>
|
| #include <v8.h>
|
|
|
| namespace blink {
|
| @@ -198,7 +200,7 @@ CanvasRenderingContextFactory* HTMLCanvasElement::getRenderingContextFactory(int
|
| return renderingContextFactories()[type].get();
|
| }
|
|
|
| -void HTMLCanvasElement::registerRenderingContextFactory(PassOwnPtr<CanvasRenderingContextFactory> renderingContextFactory)
|
| +void HTMLCanvasElement::registerRenderingContextFactory(std::unique_ptr<CanvasRenderingContextFactory> renderingContextFactory)
|
| {
|
| CanvasRenderingContext::ContextType type = renderingContextFactory->getContextType();
|
| ASSERT(type < CanvasRenderingContext::ContextTypeCount);
|
| @@ -753,9 +755,9 @@ bool HTMLCanvasElement::shouldAccelerate(const IntSize& size) const
|
|
|
| class UnacceleratedSurfaceFactory : public RecordingImageBufferFallbackSurfaceFactory {
|
| public:
|
| - virtual PassOwnPtr<ImageBufferSurface> createSurface(const IntSize& size, OpacityMode opacityMode)
|
| + virtual std::unique_ptr<ImageBufferSurface> createSurface(const IntSize& size, OpacityMode opacityMode)
|
| {
|
| - return adoptPtr(new UnacceleratedImageBufferSurface(size, opacityMode));
|
| + return wrapUnique(new UnacceleratedImageBufferSurface(size, opacityMode));
|
| }
|
|
|
| virtual ~UnacceleratedSurfaceFactory() { }
|
| @@ -772,7 +774,7 @@ bool HTMLCanvasElement::shouldUseDisplayList(const IntSize& deviceSize)
|
| return true;
|
| }
|
|
|
| -PassOwnPtr<ImageBufferSurface> HTMLCanvasElement::createImageBufferSurface(const IntSize& deviceSize, int* msaaSampleCount)
|
| +std::unique_ptr<ImageBufferSurface> HTMLCanvasElement::createImageBufferSurface(const IntSize& deviceSize, int* msaaSampleCount)
|
| {
|
| OpacityMode opacityMode = !m_context || m_context->hasAlpha() ? NonOpaque : Opaque;
|
|
|
| @@ -781,13 +783,13 @@ PassOwnPtr<ImageBufferSurface> HTMLCanvasElement::createImageBufferSurface(const
|
| // If 3d, but the use of the canvas will be for non-accelerated content
|
| // then make a non-accelerated ImageBuffer. This means copying the internal
|
| // Image will require a pixel readback, but that is unavoidable in this case.
|
| - return adoptPtr(new AcceleratedImageBufferSurface(deviceSize, opacityMode));
|
| + return wrapUnique(new AcceleratedImageBufferSurface(deviceSize, opacityMode));
|
| }
|
|
|
| if (shouldAccelerate(deviceSize)) {
|
| if (document().settings())
|
| *msaaSampleCount = document().settings()->accelerated2dCanvasMSAASampleCount();
|
| - OwnPtr<ImageBufferSurface> surface = adoptPtr(new Canvas2DImageBufferSurface(deviceSize, *msaaSampleCount, opacityMode, Canvas2DLayerBridge::EnableAcceleration));
|
| + std::unique_ptr<ImageBufferSurface> surface = wrapUnique(new Canvas2DImageBufferSurface(deviceSize, *msaaSampleCount, opacityMode, Canvas2DLayerBridge::EnableAcceleration));
|
| if (surface->isValid()) {
|
| CanvasMetrics::countCanvasContextUsage(CanvasMetrics::GPUAccelerated2DCanvasImageBufferCreated);
|
| return surface;
|
| @@ -795,15 +797,15 @@ PassOwnPtr<ImageBufferSurface> HTMLCanvasElement::createImageBufferSurface(const
|
| CanvasMetrics::countCanvasContextUsage(CanvasMetrics::GPUAccelerated2DCanvasImageBufferCreationFailed);
|
| }
|
|
|
| - OwnPtr<RecordingImageBufferFallbackSurfaceFactory> surfaceFactory = adoptPtr(new UnacceleratedSurfaceFactory());
|
| + std::unique_ptr<RecordingImageBufferFallbackSurfaceFactory> surfaceFactory = wrapUnique(new UnacceleratedSurfaceFactory());
|
|
|
| if (shouldUseDisplayList(deviceSize)) {
|
| - OwnPtr<ImageBufferSurface> surface = adoptPtr(new RecordingImageBufferSurface(deviceSize, std::move(surfaceFactory), opacityMode));
|
| + std::unique_ptr<ImageBufferSurface> surface = wrapUnique(new RecordingImageBufferSurface(deviceSize, std::move(surfaceFactory), opacityMode));
|
| if (surface->isValid()) {
|
| CanvasMetrics::countCanvasContextUsage(CanvasMetrics::DisplayList2DCanvasImageBufferCreated);
|
| return surface;
|
| }
|
| - surfaceFactory = adoptPtr(new UnacceleratedSurfaceFactory()); // recreate because previous one was released
|
| + surfaceFactory = wrapUnique(new UnacceleratedSurfaceFactory()); // recreate because previous one was released
|
| }
|
| auto surface = surfaceFactory->createSurface(deviceSize, opacityMode);
|
| if (!surface->isValid()) {
|
| @@ -821,7 +823,7 @@ void HTMLCanvasElement::createImageBuffer()
|
| m_context->loseContext(CanvasRenderingContext::SyntheticLostContext);
|
| }
|
|
|
| -void HTMLCanvasElement::createImageBufferInternal(PassOwnPtr<ImageBufferSurface> externalSurface)
|
| +void HTMLCanvasElement::createImageBufferInternal(std::unique_ptr<ImageBufferSurface> externalSurface)
|
| {
|
| ASSERT(!m_imageBuffer);
|
|
|
| @@ -832,7 +834,7 @@ void HTMLCanvasElement::createImageBufferInternal(PassOwnPtr<ImageBufferSurface>
|
| return;
|
|
|
| int msaaSampleCount = 0;
|
| - OwnPtr<ImageBufferSurface> surface;
|
| + std::unique_ptr<ImageBufferSurface> surface;
|
| if (externalSurface) {
|
| surface = std::move(externalSurface);
|
| } else {
|
| @@ -941,7 +943,7 @@ ImageBuffer* HTMLCanvasElement::buffer() const
|
| return m_imageBuffer.get();
|
| }
|
|
|
| -void HTMLCanvasElement::createImageBufferUsingSurfaceForTesting(PassOwnPtr<ImageBufferSurface> surface)
|
| +void HTMLCanvasElement::createImageBufferUsingSurfaceForTesting(std::unique_ptr<ImageBufferSurface> surface)
|
| {
|
| discardImageBuffer();
|
| setWidth(surface->size().width());
|
| @@ -1168,7 +1170,7 @@ String HTMLCanvasElement::getIdFromControl(const Element* element)
|
|
|
| void HTMLCanvasElement::createSurfaceLayerBridge()
|
| {
|
| - m_surfaceLayerBridge = adoptPtr(new CanvasSurfaceLayerBridge());
|
| + m_surfaceLayerBridge = wrapUnique(new CanvasSurfaceLayerBridge());
|
| }
|
|
|
| } // namespace blink
|
|
|